Commit Graph

202 Commits

Author SHA1 Message Date
Philippe Hausler
cf73e560ad Add benchmarks for a number of NSStringAPI functions 2017-07-13 11:33:35 -07:00
Andrew Trick
b76794ce2b Benchmarks for memory exclusivity enforcement.
Three blind microbenchmarks:
- global access
- materializeForSet class property
- nested independent access
2017-06-29 14:31:46 -07:00
Erik Eckstein
f45bddcaa6 benchmarks: Convert the GlobalClass benchmark to a SILOptimizer test
The purpose of the benchmark was to check a very specific ARC optimization, which is better tested with a lit test.
Beside that, the benchmark was broken anyway.
2017-06-21 14:32:29 -07:00
Nate Cook
220614c016 [benchmark] Add benchmark for Dictionary(group:by:) 2017-06-15 11:45:33 -05:00
Dave Abrahams
5a0db2f389 [stdlib] Add initial Substring benchmarks 2017-05-12 19:59:41 -07:00
Pavol Vaskovic
bdffb35d17 SR-4572 Remove jinja2 dependency from benchmark test harness generation 2017-05-02 16:20:30 +02:00
Erik Eckstein
7914e09aa8 benchmarks: Add a benchmark for COW existentials 2017-04-26 14:54:16 -07:00
Pavol Vaskovic
1c9cc3815a Performance tests for Sequence methods: DropFirst, DropWhile, PrefixWhile 2017-04-12 01:15:02 +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
Doug Coleman
e7390d1770 Revert "utils: Add swiftenvs, which allow the overriding of compiler tools."
This reverts commit 2b923f3846.
2017-03-22 20:09:34 -07:00
Doug Coleman
2b923f3846 utils: Add swiftenvs, which allow the overriding of compiler tools. 2017-03-21 14:59:12 -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
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
Doug Coleman
307506c393 benchmark/CMakeLists.txt: Accept the --host-cc clang path if provided
instead of always grabbing it from Xcode.
2017-02-07 00:18:59 -08:00
Tony Allevato
9c07eb6534 Add benchmarks for initializing Characters from literals. 2017-01-17 21:35:37 -08: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
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
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
Michael Gottesman
6fd9dca2e6 [benchmark] Allow the number of test samples cmake will use to be specified from the command line.
The benchmark bot uses this functionality today to run the benchmarks. By
default build-script only uses 3 samples for each test. Given the noise on our
systems, this is definitely not sufficient for any sort of robust numbers.

Using this patch, I am going to change the benchmarking bot to take the minimum
of 20 samples as we do for our internal benchmarking. This should help make the
benchmark bot give better data. This will have as a cost cause the bot to take
more time. The testing time issue can be solved down the line by changing to a
protocol where we first do tests with a small number of samples (< 5). Then any
benchmark with a delta > 5% is rerun with 20 samples or perhaps until a
statistical criterion is satisfied. But until that is implemented, this at least
makes the bot useful.

There are other things that need to be changed on the benchmarking bot as well,
namely that it should build on a separate machine from which it is running the
benchmarks on. The benchmarking machine should be quiet and not have any work
being done on it. But that is also for another time.
2016-09-23 20:05:10 -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
Erica Sadun
1cd06c457d Fixed line continuation error in CMakeLists.txt. Updated REPL warning for compiler and stdlib development use recommendations 2016-05-31 16:38:02 -06:00
Slava Pestov
0969f273d6 benchmark: Respect the SWIFT_DARWIN_XCRUN_TOOLCHAIN build setting 2016-04-01 16:17:16 -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
c9ef32c4d0 Move the objective-c bridging tests into the unit-tests folder 2016-03-16 15:44:28 -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
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
Luke Larson
d4ece4b4d0 [benchmark] Correctly depend on stdlib targets 2016-02-15 17:22:07 -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
Michael Gottesman
c01c70342d [perf-test] [cmake] Rename add-swift-benchmark-suite.cmake => AddSwiftBenchmarkSuite.cmake to match the current naming scheme of cmake modules in swift/llvm. 2016-02-08 14:45:59 -08:00
Luke Larson
0356ec8ec3 Add Swift Benchmark Suite 2016-02-08 10:47:58 -08:00
Dmitri Gribenko
3bc99c7913 bulid-script: simplify code and use more idiomatic variable names 2015-12-19 21:28:35 -08:00
Luke Larson
5d1c6e16a0 [build-script] Support perf tests on additional platforms 2015-12-10 14:54:59 -08:00
Michael Gottesman
b88b701b73 [cmake] Do not attempt to include the perf test suite by default 2015-11-03 07:11:39 -08:00