Commit Graph

237 Commits

Author SHA1 Message Date
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
Arnold Schwaighofer
4e43f745cd [benchmark] Add DictionaryRemoveOfObjects
Another dictionary benchmark with objects as key and value types.
2016-03-13 08:23:36 -07:00
Arnold Schwaighofer
f6a1926c8c [benchmark] Add Dictionary3OfObjects
Another dictionary benchmark with objects as key and value types.
2016-03-13 08:13:06 -07:00
Arnold Schwaighofer
577b0f2230 [benchmark] Add Dictionary2OfObjects
Another dictionary benchmark with objects as key and value types.
2016-03-13 08:03:41 -07:00
Arnold Schwaighofer
d021e8d5c9 [benchmark] Add DictionaryOfObjects benchmark
This tests performance of dictionary when both key and value are objects.

(We have fast paths otherwise because we know that the dictionary cannot be
backed by an objective c dictionary)
2016-03-13 08:03:11 -07:00
Arnold Schwaighofer
e9ac8c876a Add a performance unit test for stack promotion 2016-03-09 07:30:00 -08:00
Patrick Pijnappel
6a5fc126e2 Add benchmark for UTF-8 decoding 2016-03-01 16:52:55 +11:00
Nadav Rotem
5df42b7f91 Track the performance of calls to protocol methods.
rdar://22704464.
2016-02-19 16:48:29 -08:00
David Grove
8fa5378cbe Add sequential variant of Integrate benchmark
A simple recursive divide and conquer algorithm
whose parallel variant is often used to assess
scheduling overheads in dynamic task-based runtimes.
2016-02-12 17:32:27 -05:00
Nadav Rotem
732f38447b [Benchmark] Add a new test to the test suite. 2016-02-09 16:36:59 -08:00
Luke Larson
2c62011276 [benchmark] Don't hard code directory structure 2016-02-09 15:21:05 -08:00
Nadav Rotem
115274fe42 [Benchmark] Add a test that checks the performance of protocol conformance. 2016-02-09 11:35:29 -08:00
Luke Larson
0356ec8ec3 Add Swift Benchmark Suite 2016-02-08 10:47:58 -08:00