Commit Graph

905 Commits

Author SHA1 Message Date
Pavol Vaskovic
a9d9fefdfe [benchmark] DataReset refactored
Refactored to use shareable test method and inlined runFunction.
2019-01-04 21:33:12 +01:00
Pavol Vaskovic
661a4c64be [benchmark] DataAppendSequence refactored
Refactored to use shareable test method and inlined runFunction.
2019-01-04 21:33:12 +01:00
Pavol Vaskovic
f239f1940b [benchmark] DataAppendArray refactored
Refactored to use shareable test method and inlined runFunction.
2019-01-04 21:33:12 +01:00
Pavol Vaskovic
e127acd2cb [benchmark] DataAppendData refactored
Refactored to use shared test method and inlined runFunctions.
Extracted setup overhead.

Re-enabled `Large` tests errorneously disabled in #20411.
2019-01-04 21:33:12 +01:00
Pavol Vaskovic
21baf467bb [benchmark] DataCreate refactored
Refactored to use inlined runFunctions.
2019-01-04 21:33:12 +01:00
Pavol Vaskovic
c8da0a9f85 [benchmark] DataCreateArray refactored
Refactored to use inlined runFunctions.
2019-01-04 21:33:12 +01:00
Pavol Vaskovic
b55997a45b [benchmark] DataAppendBytes refactored
Refactored to use shared test method and inlined runFunctions.
Extracted setup overhead.
2019-01-04 21:33:12 +01:00
Pavol Vaskovic
8e2f000a58 [benchmark] DataCopyBytes refactored
Refactored to use shared test method and inlined runFunctions.
Extracted setup overhead.

Removed `Large` variant, as it was testing the same underlying implementation as `Medium`.
2019-01-04 21:33:12 +01:00
Pavol Vaskovic
d60dbe58e6 [benchmark] DataMutateBytes refactored
Refactored to use shared test method and inlined runFunctions.
Extracted setup overhead.
2019-01-04 21:33:12 +01:00
Pavol Vaskovic
c272e921f6 [benchmark] DataAccessBytes refactored
Refactored to use shared test method and inlined runFunctions.
Extracted setup overhead.

`blackHole` is ubiquitous in SBS, no need to state the obvious.
2019-01-04 21:33:12 +01:00
Pavol Vaskovic
11b84e56b1 [benchmark] DataSetCount refactored
Refactored to use shared test method and inlined runFunctions.
Extracted setup overhead.

Removed `Large` variant, as it was testing the same underlying implementation as `Medium`.
2019-01-04 21:33:12 +01:00
Pavol Vaskovic
6146fd0f6d [benchmark] DataSubscript refactored
Refactored to use inlined runFunctions.
Extracted setup overhead.
2019-01-04 21:33:07 +01:00
Pavol Vaskovic
1d626fa107 [benchmark] DataCount refactored
Refactored to use shared test method and inlined runFunctions.
Extracted setup overhead.

`blackHole` is ubiquitous in SBS, no need to state the obvious.
2019-01-04 20:15:26 +01:00
Pavol Vaskovic
34121a9ed3 [benchmark] Remove incorrect Large variants
Removed the disabled Large variants (tagged `.skip`).

We might re-introduce proper benchmarks for the `LargeSlice` implementation later, but for **that** the capacity has to be at least Int32.max (i.e. over 2GB). The `sampleData(.veryLarge)` was only 1GB.
2019-01-04 20:10:00 +01:00
Pavol Vaskovic
752310c498 [benchmark] Data workload variables
For extracting setup overhead.
Even the `large` sample Data is only 40KB, we can afford this to be static constant.
2019-01-04 10:47:15 +01:00
Pavol Vaskovic
1ad6a9a875 [benchmark] Fix: Don’t benchmark arc4random_buf
arc4random_buf was dominating the creation time. We don’t need trully random data. Anything that quickly fills the buffer will do.
2018-12-21 12:12:30 +01:00
Pavol Vaskovic
1648dcde8c [Gardening] DataBenchmarks remove unused string 2018-12-21 12:12:30 +01:00
Pavol Vaskovic
c007844bbd [Gardening] DataBenchmarks: format BenchmarkInfo 2018-12-21 12:12:30 +01:00
Pavol Vaskovic
3387328421 [Gardening] DataBenchmarks: quad to double space 2018-12-20 21:30:20 +01:00
Pavol Vaskovic
f0cdadf478 Merge pull request #21413 from palimondo/a-tall-white-fountain-played
[benchmark] Janitor Duty, Legacy Factor: Return of the String
2018-12-19 03:45:18 +01:00
Pavol Vaskovic
381dbda3bf [benchmark] StringToData, DataToString LF 2018-12-18 21:19:14 +01:00
Pavol Vaskovic
ed4b9161fb [benchmark] StrComplexWalk Legacy Factor 2018-12-18 21:17:57 +01:00
Pavol Vaskovic
aaf34e41f8 [benchmark] StringComparison,Hashing Legacy Factor
+ NormalizedIterator
2018-12-18 21:17:34 +01:00
Pavol Vaskovic
f54b40232e [benchmark] StringEdits Legacy Factor 2018-12-18 20:49:33 +01:00
Pavol Vaskovic
7ed9ddb4a3 [benchmark] StringEnum Legacy Factor 2018-12-18 20:49:09 +01:00
Pavol Vaskovic
c3efe99ccb [benchmark] StringInterpolation Legacy Factor 2018-12-18 20:48:42 +01:00
Pavol Vaskovic
f4de0d6e89 [benchmark] StringMatch Legacy Factor 2018-12-18 20:47:55 +01:00
Pavol Vaskovic
256f60920b [benchmark] StringHas[Prefix,Suffix] Legacy Factor 2018-12-18 20:47:23 +01:00
Pavol Vaskovic
9063c1ef6a [benchmark] StrToInt Legacy Factor 2018-12-18 20:45:40 +01:00
Pavol Vaskovic
7c8beb7b70 [benchmark] StringBuilder Legacy Factor 2018-12-18 20:43:07 +01:00
Luciano Almeida
2bc5623bdf [stdlib] Resolving some FIXME comments on Set type. (#20631)
* Fixing some fixmes on stdlib Set

* Adding @inline attr

* Fixing spaces

* Adding isEmpty as fast path in other places where is possible.

* Quotes on variable name on comment.

* Update stdlib/public/core/Set.swift

Co-Authored-By: LucianoPAlmeida <passos.luciano@outlook.com>

* Adding benchmark for isDisjoint Set method

* Adding empty sets to benchmark

* Fixing the factor on benchmarks and naming warnings for empty 5 words
2018-12-14 22:11:12 -06:00
Pavol Vaskovic
8051905e09 [benchmark] Char[Iteration,Indexing] StringWalk LF 2018-12-14 21:43:34 +01:00
Pavol Vaskovic
ec836bd04b Merge pull request #20861 from palimondo/a-tall-white-fountain-played
[benchmark] Janitor Duty, Legacy Factor: A-C
2018-12-07 19:49:06 +01:00
Pavol Vaskovic
21213679b1 [benchmark] CountAlgoString Legacy Factor 2018-12-07 16:27:06 +01:00
Pavol Vaskovic
1ed4cd4497 [benchmark] ClassArrayGetter Legacy Factor 2018-12-07 16:27:06 +01:00
Pavol Vaskovic
2d6715f61f [benchmark] Chars2 Legacy Factor 2018-12-07 16:27:06 +01:00
Pavol Vaskovic
51a5f26e31 [benchmark] CharacterProperties Legacy Factor
…plus an attempt at reducing wide range of memory used between independent, repeated measurements in the `CharacterPropertiesPrecomputed` benchmark by reserving the appropriate set capacity in advance.
2018-12-07 16:27:06 +01:00
Pavol Vaskovic
e12dfe7ef8 [benchmark] LF: ChainedFilterMap & FatCompactMap 2018-12-07 16:27:06 +01:00
Pavol Vaskovic
2fe31b324f [benchmark] CaptureProp Legacy Factor 2018-12-07 16:27:06 +01:00
Pavol Vaskovic
4db45875d1 [benchmark] Gardening: Indent ArraySubscript loop 2018-12-07 16:27:06 +01:00
Pavol Vaskovic
6778c8a658 [benchmark] ArraySubscript Legacy Factor
Also fixed variable workload size (`N`-dependent).
2018-12-07 16:27:06 +01:00
Pavol Vaskovic
706efe6e5f [benchmark] CStringShortAscii Legacy Factor 2018-12-07 16:27:06 +01:00
Pavol Vaskovic
46285778c1 [benchmark] Array2D Legacy Factor 2018-12-07 16:27:06 +01:00
Pavol Vaskovic
959a4358c2 [benchmark] AngryPhonebook Legacy Factor
Lowered the workload to get under 1ms runtime.
2018-12-07 16:27:06 +01:00
Pavol Vaskovic
642c6943a4 [benchmark] COW Legacy Factor 2018-12-07 16:27:06 +01:00
Pavol Vaskovic
9e8230badc [benchmark] CSVParsing Legacy Factor
The `legacyFactor` is 11 instead of 10, because of the wierd way the `repeatCount` translates to the workload size based on the number of lines in the `workloadBase`… it’s just so.
2018-12-07 16:27:06 +01:00
Pavol Vaskovic
20f91e7e08 [benchmark] ArrayAppend fine-tune Legacy Factor
Lowered the workload of string appending bechmarks a bit further, to get them under 1ms in `O` and 10ms in `Onone` builds.

Fine tuned the legacy factor to match original `O` runtimes — the changes are non-linear because of complications from double loop and amortized array growth costs.

These string appending benchmarks along with
* ArrayPlusEqualFiveElementCollection and
* ArrayPlusEqualSingleElementCollection
are likely to show different performance in `Osize` and `Onone` builds because of the non-linearity of their original implementation.
2018-12-07 16:27:06 +01:00
Pavol Vaskovic
150d748cab [benchmark] ArrayAppend Legacy Factor
Cleaned up doubled inner loops and applied legacyFactor to the resulting, more rational, workload sizes.

Factors for string appending benchmarks are not 10, but 11 to compensate for smaller amortized Array resizes. Similarily ArrayPlusEqualFiveElementCollection’s factor is 49.
2018-12-07 15:09:27 +01:00
Pavol Vaskovic
3631ccb63a [Gardening] AnyHashableWithAClass inlined LF 2018-12-07 15:09:27 +01:00
Pavol Vaskovic
2582576048 [benchmark] Ackermann Redux
Reintroduce Ackermann benchmark with reasonably sized workload. Since this one was tagged `.unstable`, there’s no need to go through `legacyFactor`.

Adjusted `lit` test for Benchmark_O now that Ackermann isn’t marked `.unstable` anymore.

Removed incorrect `asserts` requirement from the benchmark lit tests.
2018-12-07 15:09:27 +01:00