Commit Graph

1202 Commits

Author SHA1 Message Date
Pavol Vaskovic
007d398f4a [Gardening] ReportFormatter: tying up loose ends 2019-05-24 00:18:44 +02:00
Pavol Vaskovic
b3f7996ea7 [benchmark] ReportFormatter: better inline headers
Improve inline headers in `single_table` mode to also print labels for the numeric columns.

Sections in the `single_table` are visually distinguished by a separator row preceding the the inline headers.

Separated header label styles for git and markdown modes with UPPERCASE and **Bold**  formatting respectively.

Inlined section template definitions.
2019-05-23 23:24:51 +02:00
Pavol Vaskovic
73b31006ee [benchmark] Fix help printing for run_smoke_bench 2019-05-23 21:40:44 +02:00
Pavol Vaskovic
9750581bf5 [benchmark] ReportFormatter: right-align num cols 2019-05-23 19:32:34 +02:00
Pavol Vaskovic
af7ef03aaf [benchmark] ReportFormatter: refactor header logic
Confine the logic for printing headers to the header function.
2019-05-23 17:28:21 +02:00
Pavol Vaskovic
a998e18e18 [benchmark] ReportFormatter: faster templating
It is slightly faster to simply concatenate strings that don’t require special formatting.
2019-05-23 12:29:19 +02:00
Pavol Vaskovic
49d25bfc51 [benchmark] ReportFomatter: de-tuple
Remove unnecessary list-to-tuple conversions.
2019-05-23 12:20:19 +02:00
Pavol Vaskovic
081e1c94a5 [benchmark] Add unit test for single table report 2019-05-22 14:54:00 +02:00
Johannes Weiss
53f5c5cbc1 Update NIOChannelPipeline.swift 2019-05-14 22:37:13 +01:00
Johannes Weiss
7226dca81f benchmark: NIOChannelPipeline imitation
adds a benchmark that imitates SwiftNIO's ChannelPipeline. Recently,
Swift master regressed on this benchmark, therefore I believe adding it
to Swift provides value as it seems to be different enough to the existing
benchmarks.
2019-05-14 21:03:03 +01:00
Pavol Vaskovic
81db10cdc9 [benchmark] Disable tests with overlong runtime
Temporarily disable benchmarks that run for too long without optimizations pending in set-on-fire branch.
2019-05-12 12:58:02 +02:00
Pavol Vaskovic
87e1efd1a2 Merge pull request #24156 from Gumichocopengin8/add-set-benchmarks
[benchmark] Variants for Set Sequence Methods
2019-05-12 12:34:19 +02:00
Pavol Vaskovic
07f373d965 [benchmark] Set.subtracting.Seq increased workload
The workload multipliers need to be increased in order to accommodate the pending improvements from `lorentey:set-on-fire`, so that these benchmark don't drop to under 20 μs runtimes when those optimizations kick in.

These multiplier will differ from those used on Set.subtracting.Set by a factor of 5.
2019-05-10 23:54:31 +02:00
Pavol Vaskovic
a75f2d7536 [benchmark] Set.Seq showcase optimized early exits 2019-05-10 22:54:01 +02:00
Keita Nonaka
cecbb1491e minor fixes 2019-05-10 14:43:42 -04:00
Patrick Pijnappel
7c49272324 Merge pull request #24476 from PatrickPijnappel/add-parsing-benchmark
[benchmark] Add integer parsing benchmarks
2019-05-09 08:59:15 +10:00
Keita Nonaka
b630380c0a switch var to let in benchmark directory (#24011)
* switch var to let in benchmark directory

* Revert "switch var to let in benchmark directory"

This reverts commit 6133471e76.

* change gyb files to fix error
2019-05-07 19:16:25 -07:00
Keita Nonaka
b1a96e863d Variants for Set Sequence Methods 2019-05-07 18:29:24 -04:00
Pavol Vaskovic
cdc47f682f [benchmark] Fix Existential.Array.Mutating SO
Mask the setup overhead from copying of existential array in `Existential.Array.Mutating` by increasing the workload (5x). This way the overhead of copying is less than 5%.

Remove the misguided attempt at solving this problem with `grabArray` method - there is no way to avoid this overhead because every sample should start from a fresh copy.
2019-05-06 08:04:18 +02:00
Patrick Pijnappel
aa39122ad5 [benchmark] Make small int parsing take >20µs 2019-05-05 09:34:25 +10:00
Patrick Pijnappel
414d860ceb [benchmark] Split ParseInt into small/large & check results 2019-05-04 09:17:43 +10:00
Patrick Pijnappel
b4654bf660 [benchmark] Use dot in integer parsing benchmark names 2019-05-04 09:17:42 +10:00
Patrick Pijnappel
150bcb0503 [benchmark] Add integer parsing benchmarks 2019-05-04 09:17:42 +10:00
Pavol Vaskovic
63aa6fbd5b Merge pull request #24367 from palimondo/breadcrumbs-prng-swap
[benchmark] Breadcrumbs: swap PRNG implementations
2019-04-30 09:23:40 +02:00
David Smith
a1384d9a18 Add a benchmark for bridging String(contentsOfFile:...), now with availability guards for watchOS and tvOS 2019-04-29 14:28:09 -07:00
Pavol Vaskovic
28adf81af1 [benchmark] Breadcrumbs: swap PRNG implementations
Replaced local LCRNG implementation with SplitMix64 from TestUtils.
2019-04-29 20:06:58 +02:00
Pavol Vaskovic
5032d33d07 [benchmark] BucketSort gardening
Increased workload to sorting of 10k items.
Used SplitMix64 PRNG for randomness.
Adjusted formatting and naming to match Swift conventions.
Adjusted documentation.
2019-04-29 19:42:02 +02:00
Pavol Vaskovic
ea80003b0c Merge pull request #24307 from palimondo/legacy-factor-doc
[benchmark] Documentation for legacyFactor
2019-04-29 08:02:53 +02:00
Pavol Vaskovic
6ca706eb1d Merge pull request #24357 from palimondo/prng-splitmix64
[benchmark] Add SplitMix64 PRNG
2019-04-29 06:53:21 +02:00
Pavol Vaskovic
d2a47db71a [benchmark] Add SplitMix64 PRNG
Very fast pseudorandom number generator with 64 bits of state, conforming to `RandomNumberGenerator` protocol, passing BigCrush.
2019-04-28 19:23:42 +02:00
Pavol Vaskovic
e779e06ba2 [benchmark] Documentation for legacyFactor 2019-04-28 18:23:01 +02:00
eeckstein
2c77f5c8c8 Revert "Add a benchmark for bridging String(contentsOfFile:...)" 2019-04-27 12:37:00 -07:00
swift-ci
c09f84d42c Merge pull request #24326 from Catfish-Man/string-from-file-benchmarks 2019-04-26 19:06:56 -07:00
David Smith
b3dd978d66 Add a benchmark for bridging String(contentsOfFile:...) 2019-04-26 16:04:36 -07:00
Raj Barik
34fbbcc842 Merge pull request #24206 from rajbarik/raj-bench
Performance Benchmarking of ExistentialSpecializer
2019-04-26 08:55:29 -07:00
Michael Ilseman
2022b5c566 Merge pull request #24210 from troughton/floating-point-parsing-benchmark
[benchmark] Add a benchmark for floating point parsing performance
2019-04-25 15:13:38 -07:00
Raj Barik
2f32778de4 Performance Benchmarking of ExistentialSpecializer 2019-04-25 10:38:36 -07:00
Thomas Roughton
0d647a57e7 Float to String benchmark: Use better workloads. 2019-04-25 15:20:18 +12:00
Pavol Vaskovic
42eb4f8bf3 Clarified variant casing
Adjusted to explicitly call out that benchmark variants should also be UpperCase. Only methods should be lowerCase.
2019-04-24 08:41:16 +02:00
Thomas Roughton
4b50c3ef3e [benchmark] Add a benchmark for floating point parsing performance 2019-04-24 13:31:23 +12:00
Michael Ilseman
32a2031a19 [benchmark] View variants for CSVParsing
Generalize CSVParsing so that it can be ran across all of String's
views, and add corresponding benchmarks.

Note: This does change the profile of the original benchmark, which
was an odd mixture of String and UTF16View.
2019-04-22 15:37:53 -07:00
Slava Pestov
acd6c09b6b Revert "Performance Benchmarking of ExistentialSpecializer" 2019-04-17 13:31:32 -04:00
Raj Barik
cfc840920b Merge pull request #24065 from rajbarik/raj-es-perf-bench
Performance Benchmarking of ExistentialSpecializer
2019-04-16 22:33:26 -07:00
Keita Nonaka
09da304a71 add benchmark of set isStrictSubset (#23690)
* add benchmark of set isStrictSubset

* fix SetIsStrictSubsetBox

* bug fixes

* change benchmark names to follow naming convention

* fix benchmark names
2019-04-16 20:34:28 -07:00
Raj Barik
78a0fe16be Performance Benchmarking of ExistentialSpecializer 2019-04-16 17:16:58 -07:00
Michael Gottesman
c86c1763c6 [benchmarks] Add support to the build-script swiftpm benchmarks for building the benchmarks in -Osize. 2019-04-11 10:10:38 -07:00
swift-ci
952ffa6dcd Merge pull request #23943 from gottesmm/pr-5f0e58774d6cdc3eea4498b84255f8293e0bd665 2019-04-10 23:50:55 -07:00
Michael Gottesman
53ff97428a [benchmarks] Change the build_script_helper to use subdirectories for each build and install final binaries in a toplevel ./bin build directory.
This will let me:

1. Add -Osize support easily.
2. Put all of the binaries in the same directory so that Benchmark_Driver can
   work with them via the -tools argument.
2019-04-10 22:18:50 -07:00
Michael Gottesman
115f7a43e0 Move build_script_helper from ./benchmarks/utils => ./benchmarks/scripts. 2019-04-10 22:18:50 -07:00
Andrew Trick
b127216946 Benchmark cmake: Added SWIFT_BENCHMARK_USE_OS_LIBRARIES
Cleanup and document the configuration of the library path and rpath.

With SWIFT_BENCHMARK_USE_OS_LIBRARIES, it's now possible to directly
build benchmarks for a target device and run those benchmarks on the
device without building or installing Swift.

It's also possible now to specify an absolute SWIFT_LIBRARY_PATH to be
used as an rpath so installation can be skipped.
2019-04-10 09:31:02 -07:00