Commit Graph

905 Commits

Author SHA1 Message Date
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
Karoy Lorentey
9e375bbce2 [benchmark] Add roman numeral conversion benchmark 2018-01-04 18:31:49 +00:00
Chris Eidhof
ccd9926a65 CSV parsing example 2018-01-04 09:52:52 +01:00
Erik Eckstein
ee9ad6f0da benchmarks: mark more benchmarks as unstable 2017-12-15 16:57:31 -08:00
swift-ci
ff679109da Merge pull request #13371 from lancep/long_shared_prefix 2017-12-13 11:52:33 -08:00
Erik Eckstein
0133bfd71f benchmarks: identify more unstable benchmarks 2017-12-12 12:35:22 -08:00
Lance Parker
b446659934 Use blackHole on the comparison result 2017-12-12 10:43:25 -08:00
Lance Parker
4ed54512d0 added benchmark for strings with long shared prefixes 2017-12-11 17:35:36 -08:00
Max Moiseev
ea02806f28 [stdlib] Conditional conformances for LazyFilterCollection
(cherry picked from commit 833721a172)
2017-12-11 10:46:25 -08:00
Graydon Hoare
62a6b74ad1 Revert "[stdlib] Conditional conformances for Lazy[Filter|Map]Collection" 2017-12-10 12:48:36 -08:00
Max Moiseev
833721a172 [stdlib] Conditional conformances for LazyFilterCollection 2017-12-08 12:52:12 -08:00
Ben Cohen
4ddac3fbbd [stdlib] Eradicate IndexDistance associated type (#12641)
* Eradicate IndexDistance associated type, replacing with Int everywhere

* Consistently use Int for ExistentialCollection’s IndexDistance type.

* Fix test for IndexDistance removal

* Remove a handful of no-longer-needed explicit types

* Add compatibility shims for non-Int index distances

* Test compatibility shim

* Move IndexDistance typealias into the Collection protocol
2017-12-08 12:00:23 -08:00
Erik Eckstein
614c12a1d8 benchmarks: mark another benchmark as unstable 2017-12-05 09:23:19 -08:00
Erik Eckstein
9931b3c719 benchmarks: Mark some unstable benchmarks as unstable.
Which excludes them from the list of executed benchmarks.
2017-12-04 16:01:56 -08:00
Karoy Lorentey
9fef06e59c Merge pull request #12752 from hamishknight/dictionary-subscript-addressor
[stdlib] Use addressor for Dictionary's subscript(_:default:)
2017-12-04 15:04:29 +01:00
Lance Parker
4cad7535b7 Added comparison benchmarks
# Conflicts:
#	benchmark/single-source/StringComparison.swift
2017-12-01 16:54:08 -08:00
Erik Eckstein
a940cdeafb benchmarks: Rename 2 benchmarks which were fixed recently.
So that we don't compare with the (wrong) baseline
2017-11-30 15:29:29 -08:00
Hamish
f7015c2984 [stdlib] Added benchmarks for Dictionary's subscript(_:default:) 2017-11-19 15:45:27 +00:00
Karoy Lorentey
c6a4d1131e Make sure string benchmarks actually measure string operations
The optimizer was sometimes able to eliminate most/all of the actual operations, so some benchmarks were not really measuring anything.
2017-11-08 19:15:47 +00:00
Max Moiseev
c6ff6b0142 Extract setup and teardown stages for a benchmnark 2017-10-12 15:26:38 -07:00
Max Moiseev
b5492518ae [benchmark] Add LazilyFilteredArrayContains benchmark 2017-10-12 11:36:57 -07:00
Max Moiseev
5db258b5ab Merge pull request #12196 from moiseev/bench-no-characters
[benchmark] Eliminate usages of String.characters and CharacterView
2017-10-06 17:05:14 -07:00
Max Moiseev
53ec0b1168 Improve StringEdits performance in absence of CharacterView
CharacterView was not Hashable, so Set could not be used as an
accumulator. String and Substring are Hashable, but using a Set as an
accumulator is still slower than first collecting all the results in an
Array and then transforming it to a Set at the end. One possible reason
why that could be the case, is that by the time conversion happens, we
already know the capacity and thus will not re-allocate and re-hash a
Set on every insertion beyong current capacity.
2017-10-05 10:43:08 -07:00
Max Moiseev
f7f7d25c06 Go back to using Array in StringEdits benchmark 2017-10-04 15:50:34 -07:00
Max Moiseev
d88493a7a2 Apply changes to a gyb file instead of a generated result 2017-10-04 15:50:34 -07:00
Max Moiseev
ff105c5ab2 [benchmark] Eliminate usages of String.characters and CharacterView
To avoid compiler warnings.
<rdar://problem/34750654>
2017-10-04 15:50:34 -07:00
Max Moiseev
26c498c005 [benchmark] Add RangeIteration benchmarks 2017-10-04 14:50:29 -07:00
Max Moiseev
1dd9d61ded Move all benchmarks to use registerBenchmark and BenchmarkInfo 2017-10-03 18:04:56 -07:00
Andrew Trick
3560ad2203 Register AnyHashableWithAClass benchmark. 2017-09-22 21:25:46 -07:00
Andrew Trick
e7edd270e5 Register PolymorphicCalls benchmark. 2017-09-22 21:11:30 -07:00
Andrew Trick
a6dcdfda29 Register SevenBoom benchmark. 2017-09-22 21:06:51 -07:00
Andrew Trick
d38e8da6a2 Register the LinkedList benchmark. 2017-09-22 20:51:46 -07:00
Andrew Trick
c0ffc0d451 Register the Exclusivity benchmark. 2017-09-22 20:43:23 -07:00
Andrew Trick
78b072b4da Add a CPU microbenchmarks for isUniquelyReferenced. 2017-09-22 16:38:49 -07:00
Andrew Trick
2e60052d1d ObjectAllocation is a .cpubench. 2017-09-22 14:52:47 -07:00
Andrew Trick
d9af4c5f45 Introduce BenchmarkInfo and BenchmarkCategories. 2017-09-22 12:49:59 -07:00
Erik Eckstein
d6f6774214 benchmarks: add a benchmark for string enum construction from a string raw value. 2017-09-18 17:50:24 -07:00
Erik Eckstein
9e432294e1 benchmarks: fix warnings
rdar://problem/33660902
2017-08-01 17:47:16 -07:00
Dave Abrahams
31341e6753 Merge pull request #10976 from d-ronnqvist/reduce-with-inout
[stdlib] Implement SE-0171: Reduce with inout
2017-07-23 19:57:25 -07:00