Commit Graph

62 Commits

Author SHA1 Message Date
Erik Eckstein
994c04f943 benchmarks: add another benchmark for appending multiple array elements.
In contrast to the other similar benchmarks, this benchmark starts with a new array each iteration.
2017-04-26 15:06:05 -07:00
Erik Eckstein
7914e09aa8 benchmarks: Add a benchmark for COW existentials 2017-04-26 14:54:16 -07:00
Michael Ilseman
517ac2a66f [benchmark] Add in some (default off) mixed-string micro benchmarks
Adds in a benchmark to see how quickly we can traverse mixed latin and
emoji strings. Default disabled and part of the stringTests suite.
2017-04-24 14:57:42 -07:00
Arnold Schwaighofer
c9aa05c3c6 [benchmark] Move existential tests out of precommit. They are not very stable. 2017-04-20 13:11:20 -07:00
Michael Ilseman
edf8e6e5e6 [benchmark] Move work into the harness generator
Move the improvements to main.swift into the harness generator and
template itself. Run the generator.
2017-04-19 14:59:35 -07:00
Michael Ilseman
9ffc2f073a [benchmark] Add String test suite (off by default)
Starts a String perf test suite called stringTests which is
off-by-default, but allows us to place some lower-level targeted
benchmarking.
2017-04-19 13:31:34 -07:00
Michael Ilseman
c1ba0bcd6a [benchmark] Speed up compilation time of suite
This speeds up the compilation time of main.swift in the benchmark
suite from taking a minute or two to about a second. NFC.
2017-04-19 13:30:35 -07:00
Pavol Vaskovic
1c9cc3815a Performance tests for Sequence methods: DropFirst, DropWhile, PrefixWhile 2017-04-12 01:15:02 +02:00
Pavol Vaskovic
739c3b70a8 Add same test variants for DropLast and Prefix as exist on Suffix 2017-04-11 01:22:43 +02:00
Pavol Vaskovic
4f3753a749 Add support for GYB in benchmarks 2017-04-08 09:13:18 +02:00
Arnold Schwaighofer
3c83ea6761 Fix benchmark for generate script 2017-03-29 05:35:48 -07:00
Arnold Schwaighofer
f5cf0aa5d6 Add existential performance benchmarks 2017-03-27 11:32:47 -07:00
swift-ci
b156cbb0f7 Merge pull request #7420 from therealbnut/therealbnut-droplast-suffix-benchmarks 2017-03-14 14:34:53 -07:00
Nate Cook
27b3de06f8 [benchmark] Add test for lazy filter -> array 2017-03-14 11:08:25 -05:00
Ben Cohen
f02f31c2df Add more string benchmarks 2017-03-10 17:20:04 -08:00
Andrew Bennett
34d7a4b5bc Merge branch 'master' into therealbnut-droplast-suffix-benchmarks 2017-03-05 11:57:44 +11:00
therealbnut
c6dc0b0625 Add Array benchmarks 2017-02-25 13:08:39 +11:00
Nate Cook
c53e8d6750 Add quadratic hash performance benchmark 2017-02-19 12:32:33 -06:00
therealbnut
4a55f70832 Benchmarks for dropLast and suffix 2017-02-13 21:50:09 +11:00
Ben Cohen
95988dd29d Add benchmarks for appending UTF8 String views to an array 2017-02-06 14:14:49 -08:00
Ben Cohen
0d39d07efe add more benchmarks of map/reduce 2017-01-27 17:58:55 -08:00
Tony Allevato
9c07eb6534 Add benchmarks for initializing Characters from literals. 2017-01-17 21:35:37 -08:00
Ben Ng
3e718d3a26 Add benchmarks for += in ArrayAppend 2017-01-11 22:11:31 -05:00
practicalswift
30a88d38e6 [gardening] Fix recently introduced typos 2017-01-06 21:16:02 +01:00
practicalswift
6d1ae2a39c [gardening] 2016 → 2017 2017-01-06 16:41:22 +01:00
Nate Cook
e56bf42acb Update generate_harness.py templates
These templates had gotten slightly out of date through
manual edits. These changes make it so that running
generate_harness.py actually generates the desired files.

Changes to the non-template files are a result of the script's
alphabetization.
2017-01-04 22:26:02 -06:00
Roman Levenstein
ad0948a110 Merge pull request #6512 from djwbrown/djwbrown-reversed-benchmarks-only
[benchmark][prespecialize] Add benchmarks only for reversed iteration.
2017-01-04 19:38:19 -08:00
Dylan Brown
4355443f90 [benchmark][prespecialize] Add benchmarks only for reversed iteration.
Added ReversedCollections.swift to benchmark/single-source for
benchmarking of iterations through reversed collection types.
2016-12-30 20:26:54 +02:00
Nate Cook
95730e8726 [benchmark] Add test for sorting an already sorted array 2016-12-24 01:17:51 -06:00
ben-cohen
18487b4e71 new tests to benchmark main.swift 2016-12-18 19:31:30 -08:00
practicalswift
797b80765f [gardening] Use the correct base URL (https://swift.org) in references to the Swift website
Remove all references to the old non-TLS enabled base URL (http://swift.org)
2016-11-20 17:36:03 +01:00
Karoly Lorentey
d751b83054 [benchmark][SR-3106] Add benchmarks implementing Observers four different ways
These benchmarks highlight optimization opportunities in the implementation
of partially applied methods and escaping closures.

  # TEST                      SAMPLES MIN(μs) MAX(μs) MEAN(μs) SD(μs) MEDIAN(μs) MAX_RSS(B)
 97 ObserverClosure                10    2547    2752     2599      0       2599  308317798
 98 ObserverForwarderStruct        10    1345    1972     1480      0       1480  614535987
 99 ObserverPartiallyAppliedMethod 10    3953    4194     4049      0       4049  267670733
100 ObserverUnappliedMethod        10    2990    3482     3093      0       3093  338796544
2016-11-01 22:27:08 +01:00
Ben Cohen
edbc41dc54 expanding append(contentsOf:) benchmarks 2016-10-28 09:47:50 -07:00
Ben Cohen
79f1880ca5 Add simple benchmark for append(contentsOf:) 2016-10-24 17:05:00 -07:00
Michael Gottesman
6c97be8eb6 [benchmark] Sort tests so that after generate_harness.py is rerun we do not get a diff due to sorting differences. 2016-09-23 19:12:00 -07:00
Kevin Ballard
01c0a7f44a Rename the Data benchmark file to IterateData
This matches the actual name of the benchmark.
2016-07-29 13:10:39 -07:00
Kevin Ballard
49b50bc5ba Add benchmark for iterating Data 2016-07-28 18:44:20 -07:00
Ted Kremenek
4a872ed636 Revert "Implement a custom Data.Iterator" (#3848) 2016-07-28 18:33:31 -07:00
Kevin Ballard
742f2b4cdd Add benchmark for iterating Data 2016-07-28 11:29:17 -07:00
Dmitri Gribenko
a0670a2a87 benchmarks: add a benchmark for AnyHashable initialization 2016-07-27 01:14:01 -07:00
Mishal Shah
87b7bcfd3e Update master to build with Xcode 8 beta 1, OS X 10.12, iOS 10, tvOS 10, and watchOS 3 SDKs. 2016-06-14 14:53:55 -07:00
Arnold Schwaighofer
aa34aceaee Add a benchmark to test comparing equal strings 2016-04-20 09:15:41 -07:00
Arnold Schwaighofer
5122bfb711 Add a unicode version of the SortStrings benchmark 2016-04-19 14:16:27 -07:00
Arnold Schwaighofer
2520703f58 Add String.hasPrefix/hasSuffix benchmark 2016-04-19 08:15:23 -07:00
Arnold Schwaighofer
1d2643b93f Support performance testing with automatic bridging disabled. 2016-03-29 15:14:36 -07:00
Arnold Schwaighofer
50c048d7e9 Add ObjectiveC bridging stub test support
This allows for testing the autogenerated bridging stub code.
2016-03-17 13:42:36 -07:00
Arnold Schwaighofer
5ea595a5d4 Add Objective-C bridging tests for NSString, NSArray, NSDictionary, NSSet
The tests test conditional and forced bridging from objective-c and bridging to
objective-c.
2016-03-16 15:16:45 -07:00
Arnold Schwaighofer
ee3e7a58b3 [benchmark] Add versions of the set tests with class element types 2016-03-13 08:58:59 -07:00
Arnold Schwaighofer
191b3c87a1 [benchmark] Add RGBHistogramOfObjects
Another dictionary benchmark with objects as key and value types.
2016-03-13 08:45:30 -07:00
Arnold Schwaighofer
548ba33e1d [benchmark] Add DictionarySwapOfObjects
Another dictionary benchmark with objects as key and value types.
2016-03-13 08:28:58 -07:00