Commit Graph

343 Commits

Author SHA1 Message Date
Karoy Lorentey e642a3fe08 [benchmark] Fix issues uncovered in review 2018-03-13 20:38:46 +00:00
Karoy Lorentey c2eccf2b4d [benchmark] Add benchmarks for Dictionary operations with quadratic behavior
Dictionary and Set currently exhibit O(n^2) behavior for certain operations involving copying elements in bulk. Add benchmarks to verify an upcoming fix and to catch regressions later.

https://bugs.swift.org/browse/SR-3268
2018-03-13 19:42:45 +00:00
Michael Ilseman 7f1ba5d22d Merge pull request #14992 from milseman/bench_builder
[benchmark] More StringBuilder/Interpolation benchmarks
2018-03-06 15:09:01 -08:00
Xiaodi Wu 7cb94890b4 Add binary floating-point properties benchmarks 2018-03-05 19:26:03 -06:00
Michael Ilseman 87b24738d8 [benchmark] Add string interpolation benchmarks
Add some benchmarks for when the whole interpolated string is small,
and when it is very large but every segment is pretty small.
2018-03-05 14:25:41 -08:00
Michael Ilseman 0a301aa2ba [benchmark] More StringBuilder and improvements 2018-03-05 14:25:41 -08:00
Huon Wilson 2130ba9808 Revert "[benchmark] Add interpolation; more stable builder" 2018-03-01 19:05:10 -08:00
Michael Ilseman 959f45edc0 [benchmark] Add string interpolation benchmarks
Add some benchmarks for when the whole interpolated string is small,
and when it is very large but every segment is pretty small.
2018-02-28 19:15:42 -08:00
Michael Ilseman 46ab97a0d5 [benchmark] Attempt to make StringBuilder more stable.
Use getString and blackHole more.
2018-02-28 17:45:23 -08:00
swift-ci 3956205f76 Merge pull request #14662 from airspeedswift/remove-where-benchmark 2018-02-15 17:17:56 -08:00
Ben Cohen 220883f20c Sequence algorithm benchmarks (#14663) 2018-02-15 16:07:00 -08:00
Ben Cohen 1e820dc505 Add benchmarks based on different remove(where:) implementations 2018-02-15 16:03:38 -08:00
Ben Cohen 3b4eacc3a8 Update benchmarks to Swift 4 (#14623) 2018-02-14 17:26:58 -08:00
swift-ci fbaaa75537 Merge pull request #14483 from lorentey/largekey-benchmark 2018-02-08 08:35:08 -08:00
Karoy Lorentey ba978d3338 [benchmark] Add benchmark exercising the hash compression function 2018-02-08 15:19:22 +00:00
Andrew Trick 0723aacb5b Disable DoubleWidthDivision.swift benchmark.
This takes more than 15 minutes to compile and makes the benchmark suite
unusable. There are multiple severe compile issues that need to be fixed
properly before we can support the DoubleWidth API.

See [SR-6947] DoubleWidth compile time.
2018-02-07 14:11:35 -08:00
Ben Cohen cfd322593c Add Queue benchmark that tests popLast generically and concretely (#14393) 2018-02-03 11:53:05 -08:00
Ben Cohen ab8e3a7ebc Fix warnings in various benchmarks (#14333) 2018-02-01 19:48:35 -08:00
Xiaodi Wu 63de0c56b7 Increase DoubleWidth division benchmark iterations 2018-01-24 16:01:50 -06:00
Max Moiseev ea38221ce6 Merge pull request #14043 from xwu/benchmark-doublewidth-division
[benchmark] Add DoubleWidth division benchmark
2018-01-22 12:54:29 -08:00
Michael Ilseman 010d48598f Merge pull request #14049 from milseman/csvparsing
[benchmark] Add two new CSVParsing alternative benchmarks.
2018-01-21 21:57:54 -08:00
Michael Ilseman e909a3c723 [benchmark] De-trivialize OpenClose and Calculator.
They're still pretty trivial, but this at least adds a small
constant-folding barrier.
2018-01-21 18:16:37 -08:00
Michael Ilseman 7e58fd2cb5 [benchmark] Add two new CSVParsing alternative benchmarks.
The first is copied from https://github.com/apple/swift/pull/13930's
contribution (with a minor bug fix applied). The second is an
adaptation that tries to avoid creating copies and operate using
indices directly.
2018-01-21 18:07:07 -08:00
Michael Ilseman 096150a927 [gardening] Strip trailing whitespace 2018-01-21 18:06:58 -08:00
Xiaodi Wu bc0e80634e [benchmark] Add DoubleWidth division benchmark 2018-01-20 23:59:17 -06:00
Xiaodi Wu 3887c59bb8 Add binary floating-point conversion benchmark 2018-01-15 16:11:19 -06:00
Michael Ilseman 740b083ee0 Merge pull request #13761 from milseman/more_char_prop_bench
[benchmark] More CharacterProperty variations
2018-01-09 10:07:28 -08:00
Michael Ilseman c30c2f5bcb [benchmark] Use setUpFunction for run-once initializers 2018-01-08 15:03:25 -08:00
Max Moiseev df1a08d76f [benchmarks] Use both + and - in the PointerArithmetics benchmark 2018-01-08 14:49:27 -08:00
Michael Ilseman d9fa4f5d0d [benchmark] More CharacterProperty variations 2018-01-08 13:05:23 -08:00
Karoy Lorentey 4f20e4d5ad Merge pull request #13794 from lorentey/reservecapacity
[benchmarks] Add String.reserveCapacity benchmark
2018-01-08 19:54:12 +00:00
Karoy Lorentey 548878f733 Merge pull request #13731 from lorentey/romannumbers
[benchmark] Add roman numeral conversion benchmark
2018-01-08 19:27:11 +00:00
Karoy Lorentey 3312a22c1a Merge pull request #13725 from lorentey/wordcount
[benchmark] Add word counting benchmarks
2018-01-08 14:46:15 +00:00
Michael Ilseman 30494378ec [benchmarks] Add String.reserveCapacity benchmark
Patch originally from @lorentey.
2018-01-08 14:39:05 +00:00
Karoy Lorentey 28dbeb5a8b [benchmark] RomanNumbers: Use CheckResults 2018-01-08 12:30:22 +00:00
Karoy Lorentey 67d403f97e [benchmark] WordCount: Use default makeIterator() 2018-01-08 12:06:32 +00:00
Karoy Lorentey f85f836f91 [benchmark] WordCount: Use CheckResults. 2018-01-08 12:06:32 +00:00
Karoy Lorentey 6098fa4ac4 [benchmark] Add word counting benchmarks 2018-01-08 12:00:21 +00:00
Max Moiseev 861df1cdf9 Merge pull request #13770 from moiseev/pointer-arith-bench
[benchmark] Add a microbenchmark for the UnsafePointer.+
2018-01-06 16:42:03 -08:00
Mark Lacey 772c6e26f8 Merge pull request #13749 from rudkx/remove-nested-iuo-from-benchmark
Remove IUO nested inside other type from benchmark.
2018-01-06 10:13:56 -08:00
Michael Gottesman 24027067b9 [benchmarks] Add some more benchmarks by our very own airspeedswift.
With his permission of course.
2018-01-06 01:15:37 -05:00
Michael Ilseman 5eb699978a Merge pull request #13759 from milseman/csv_benchmarks
[benchmark] Hook up CSVParsing to suite
2018-01-05 21:22:05 -08:00
Max Moiseev 11f8f4c485 [benchmark] Add a microbenchmark for the UnsafePointer.+
UnsafePointer implementation contains the following note:

> Note: The following family of operator overloads are redundant with
Strideable. However, optimizer improvements are needed before they can
be removed without affecting performance.

... but it looks like there is no benchmark to support this claim.
2018-01-05 18:00:18 -08:00
Michael Ilseman f7e992a3ed [benchmark] Don't use inline(__always) in benchmarks 2018-01-05 15:25:49 -08:00
Michael Ilseman e783bef8d4 Merge pull request #13739 from milseman/char_prop_bench
[benchmark] Add a CharacterProperties benchmark
2018-01-05 14:24:42 -08:00
Michael Ilseman 1eaf1f5571 [benchmark] Hook up CSVParsing to suite 2018-01-05 13:43:46 -08:00
Michael Ilseman 1c2954b133 [benchmark] Add a CharacterProperties benchmark 2018-01-05 11:27:36 -08:00
Mark Lacey 19a40f1de5 Rename benchmark now that a test is removed, since it is no longer benchmarking the same thing. 2018-01-05 09:28:16 -08:00
Karoy Lorentey 384cb5a659 [benchmark] RomanNumbers: Use DictionaryLiteral and enumerated(). 2018-01-05 17:05:26 +00:00
Mark Lacey 2242a26d1e Remove IUO nested inside other type from benchmark.
SE-0054 disallowed nesting IUO types within other types. We currently
give a warning for this, but eventually we'll either emit an error or
interpret the '!' as '?' (a plain optional).

Either way, this particular benchmark doesn't test anything different
than the one that uses plain optionals, so we should be able to remove it.
2018-01-04 19:11:52 -08:00