Commit Graph

1638 Commits

Author SHA1 Message Date
Michael Gottesman
0ce7f29c72 [opt-remark] Add support for emitting opt-remark bitstream artifacts when building benchmarks with cmake.
I didn't do this for swiftpm as well since when I tried passing this via
unsafeFlags to swiftpm, swiftpm just created the opt-remarks in my source
directory instead of next to the .o in the build directory. A problem for
another time.
2020-07-18 20:19:27 -07:00
tbkka
3181dd1e4c Fix a bunch of python lint errors (#32951)
* Fix a bunch of python lint errors

* adjust indentation
2020-07-17 14:30:21 -07:00
Erik Eckstein
2387732ab5 benchmarks: support new executable file names in perf_test_driver
rdar://problem/65508278
2020-07-16 15:43:37 +02:00
tbkka
9bc5be372c Rework a couple of benchmarks to work with both Python2 and Python3 (#32905) 2020-07-15 15:16:14 -07:00
Erik Eckstein
a46cda8c51 benchmarks: fix run_smoke_bench to support new benchmark executable naming scheme
Find the right benchmark executable with a glob pattern.
Also, add an option "-arch" to select between executables for different architectures.
2020-07-07 11:01:49 +02:00
Mishal Shah
c89451138b [Apple Silicon] Add arm64 macOS support to benchmark suite 2020-07-02 16:24:17 -07:00
Robert Widmann
cddf73ecdb [Gardening] Clean Up OS-Test Patterns Across The Codebase
Clean up a few general patterns that are now obviated by canImport

This aligns more generally with the cleanup that the Swift Package
Manager has already done in their automated XCTest-plumbing tool in
apple/swift-package-manager#1826.
2020-06-30 22:55:58 -07:00
Nate Cook
e49a5b7655 Switch to benchmark remove* instead of drop* 2020-06-25 14:35:56 -05:00
Nate Cook
9855496a16 Add benchmarks for Substring.dropFirst(_:) and dropLast(_:) (#32473)
* Add benchmarks for Substring.dropFirst(_:) and dropLast(_:)

These are self-slicing operations, so they should be fast even for
this non-random-access collection.

* Fiddle with the iteration count and length
2020-06-25 10:53:14 -05:00
Doug Gregor
ade21a33fd Fix build of benchmark suite and Linux test 2020-06-23 13:00:26 -07:00
Mishal Shah
272c466e47 Update master to build with Xcode 12 beta 2020-06-22 15:43:20 -07:00
Ben Cohen
baa3a7dc10 [benchmarks] Add a benchmark for printing using mirrors (#32150)
* Add a benchmark for mirrors and typename->string conversion
2020-06-03 12:06:39 -07:00
Andrew Trick
c001de0359 Broaden the set of benchmarks tagged under .cpubench
These have all shown to be interesting, relevant, stable, and
optimized well enough by the compiler to be useful for cpu performance
tracking.
2020-05-18 23:43:07 -07:00
Meghana Gupta
911ac8e45e Fix code size reporting when input directory is missing a trailing '/'
run_smoke_bench script fails to report code size changes if you have a
trailing '/' in <old_build_dir> but not <new_build_dir>.

This change appends a separator if it is missing
2020-05-14 13:49:35 -07:00
Andrew Trick
9574be167f Merge pull request #31641 from atrick/add-bench-tag
Add .cpubench tag to ProtocolDispatch2
2020-05-08 10:38:35 -07:00
David Zarzycki
5dcc32f98f Remove all uses of -force-single-frontend-invocation
The `-force-single-frontend-invocation` flag predates WMO and is now an
alias for `-whole-module-optimization`. We should use the latter and let
the former fade into history.
2020-05-08 06:37:41 -04:00
Andrew Trick
eb1ac0bfd9 Add .cpubench tag to ProtocolDispatch2 2020-05-07 15:01:04 -07:00
Andrew Trick
80cd7ed40e Add a comment to the benchmark readme. 2020-05-04 09:48:26 -07:00
Patrick Pijnappel
ca9185deeb [benchmark] Revert removal of InsertCharacter & IntegerParsing 2020-04-26 19:26:40 +10:00
Pavol Vaskovic
c7524d3d9a Merge pull request #24677 from palimondo/janitor’s-last-stand
[benchmark] Janitor Duty: Final Sweep
2020-04-15 19:44:02 +02:00
Robert Widmann
80cc726ad4 Merge pull request #19954 from Lukasa/cb-bench-h2-enumeration
[benchmark] Add HTTP2StateMachine benchmark
2020-04-14 20:03:56 -07:00
Karoy Lorentey
c1bf5c9224 [benchmark] Fix thinko 2020-04-13 19:46:44 -07:00
Karoy Lorentey
59fe523c8c Merge remote-tracking branch 'origin/master' into fortify-benchmarks 2020-04-13 19:34:44 -07:00
brett koonce
7f0f6bbec2 rm minor warning 2020-04-09 10:08:10 -07:00
eeckstein
ecf1e4e370 Merge pull request #30822 from PatrickPijnappel/premultiply-case-conversion-benchmark
[benchmark] Premultiply N for case conversion benchmark
2020-04-08 08:26:55 +02:00
Patrick Pijnappel
6196a8a045 [benchmark] Rename premultiplied tests 2020-04-07 19:04:45 +10:00
Patrick Pijnappel
fce674efcb [benchmark] Premultiply N for case conversion benchmark 2020-04-06 15:48:12 +10:00
Patrick Pijnappel
4863d0448e [benchmark] Change selection of non-skipped ParseInt benchmarks 2020-04-06 13:22:04 +10:00
Michael Ilseman
c0960d3868 Merge pull request #30798 from milseman/custom_bench_collection
[benchmark] Disable inlining of wCSIA in benchmark
2020-04-05 16:39:22 -07:00
Vedant Kumar
54a6be9d65 benchmark: Add SWIFT_BENCHMARK_UNOPTIMIZED_DRIVER option (#30794)
Add an option to allow compiling the benchmark test utilities and driver
at -Onone. This is needed because lldb does not support stepping through
optimized swift code.
2020-04-03 14:37:55 -07:00
Michael Ilseman
83e5cb5bcf [benchmark] Disable inlining of wCSIA in benchmark
... which gives us a better feel for when contiguity is unknown at the
call site.
2020-04-03 14:06:12 -07:00
Michael Ilseman
53ba2044f0 Merge pull request #30762 from milseman/custom_bench_collection
[benchmark] Add custom-collection String(decoding:as:)
2020-04-03 13:59:40 -07:00
Mishal Shah
df53c20a87 Merge pull request #30085 from broadwaylamb/benchmark-python-3
Support Python 3 in the benchmark suite
2020-04-03 13:06:53 -07:00
Vedant Kumar
829f2588b3 benchmark: Build drivers with N_AST symtab entries (for debugging) (#30777)
On Darwin, we pass the *.swiftmodule paths transitively referenced by
the driver executable to ld64. ld64 inserts N_AST references to these
modules into the program, for later use by lldb.

This change should let us exercise much more lldb functionality via
`stepper` testing.
2020-04-02 16:12:05 -07:00
Michael Ilseman
e3cbb41a67 [benchmark] Add custom-collection String(decoding:as:)
Add a custom collection String(decoding:as:) benchmark for contiguous
and non-contiguous collections (overriding
withContiguousStorageIfAvailable)
2020-04-01 11:29:03 -07:00
Mishal Shah
95dbb9b498 Rename module.map to module.modulemap to support SwiftPM 2020-03-24 14:34:13 -07:00
Karoy Lorentey
03e4f5f24b [benchmark] Package.swift: Don’t trap on stray files under single-source/ 2020-03-23 18:17:47 -07:00
Kuba Mracek
45ba5cec05 [arm64e] Add arm64e support into Swift's build system 2020-02-27 16:08:15 -08:00
Sergej Jaskiewicz
cce9e81f0b Support Python 3 in the benchmark suite 2020-02-28 01:45:35 +03:00
Patrick Pijnappel
965f7e2b4a Merge pull request #29988 from PatrickPijnappel/expand-parse-int-benchmarks
[benchmark] Expand ParseInt benchmarks
2020-02-26 17:29:39 +11:00
swift-ci
573e55263c Merge pull request #30049 from gottesmm/pr-84af955fa93e4646656fdbeff3a2df1e1a5399ea 2020-02-25 18:21:35 -08:00
Michael Gottesman
583b2b00e5 [benchmark] Fix names 2020-02-25 13:53:20 -08:00
Michael Gottesman
66ece215c1 Add a version of Prims that uses Unmanaged._withUnsafeGuaranteedRef. 2020-02-25 12:33:32 -08:00
Michael Gottesman
7c5f4d8960 Add variants of PrimsNonStrongRef that use a closure access function rather than an accessor to get the underlying value.
I am going to be adding a variant of this that uses
Unmanaged._withUnsafeGuaranteedRef(...). To truly make it fair, I am
adding variants that also use an access ref entrypoint.
2020-02-25 12:33:32 -08:00
Michael Gottesman
561c76d5bb Add version of non strong ref prims that uses a closure based approach to access the value.
I am going to add a version of this that tests that Unmanaged._withUGR
gives us expected performance. So we really need both versions of all of
the four current benchmarks to make this truly fair.
2020-02-25 12:33:32 -08:00
Michael Gottesman
25233e53fd Fix small bit of incorrect code that was hiding behind an #if false. 2020-02-25 12:33:32 -08:00
Karoy Lorentey
4804425e45 [benchmark] Add regular (slow) Unmanaged variant 2020-02-25 11:25:49 -08:00
Karoy Lorentey
2e95ab90bb [benchmark] Actually deallocate nodes 🤭 2020-02-25 11:09:40 -08:00
Karoy Lorentey
3f83a233a2 [benchmark] Adjust scaling 2020-02-24 23:09:47 -08:00
Karoy Lorentey
18364013b5 [benchmark] Add RandomTree benchmark 2020-02-24 21:53:40 -08:00