58 Commits

Author SHA1 Message Date
Andrew Trick
f0110201ad Skip DataReplaceLargeBuffer benchmark by default.
Large buffer replacement is too dependent on the system state
to produce a meaningful benchmark score. 30% variation is common.
2022-11-01 18:01:16 -07:00
Erik Eckstein
5ff6308e05 benchmarks: disable some unstable benchmarks
and scale a substring test
2021-09-22 08:39:06 +02:00
Karoy Lorentey
8944591e71 [benchmark] Simplify benchmark registration 2021-09-15 22:08:08 -07:00
Karoy Lorentey
8910b75cfe [benchmark] Stop capitalizing function and variable names 2021-09-15 22:08:07 -07:00
Andrew Trick
c001de0359 Broaden the set of benchmarks tagged under .cpubench
These have all shown to be interesting, relevant, stable, and
optimized well enough by the compiler to be useful for cpu performance
tracking.
2020-05-18 23:43:07 -07:00
brett koonce
7f0f6bbec2 rm minor warning 2020-04-09 10:08:10 -07:00
Pavol Vaskovic
1cbc0b376f Merge pull request #22648 from ianpartridge/benchmark-str2data
[benchmark] Add dataUsingUTF8Encoding()
2019-02-20 15:36:40 +01:00
Pavol Vaskovic
d366105607 Merge branch 'master' into and-dreadfully-distinct 2019-02-19 20:23:05 +01:00
Pavol Vaskovic
9919bc70f7 [benchmark] Remove Array.[init/append] & dead code 2019-02-19 20:12:21 +01:00
Ian Partridge
e9ba30a8c4 Remove legacy factor 2019-02-18 09:36:09 +00:00
Pavol Vaskovic
2b60780c98 Update benchmark/single-source/DataBenchmarks.swift
Co-Authored-By: ianpartridge <i.partridge@uk.ibm.com>
2019-02-18 09:34:12 +00:00
Pavol Vaskovic
003d60131b Merge pull request #22556 from palimondo/a-tall-white-fountain-played
[benchmark] Janitor Duty: Sweep I
2019-02-16 06:38:38 +01:00
Ian Partridge
764f0cfb75 Adjust benchmark naming 2019-02-15 20:24:54 +00:00
Ian Partridge
0fc4f34815 [benchmark] Add StringToDataUsingUTF8Encoding 2019-02-15 12:23:55 +00:00
Michael Ilseman
86724552e8 [benchmark] Add large unicode String<->Data benchmark.
Add a larger unicody workload, beyond the medium-sized ASCII that
currently exists.
2019-02-14 11:45:58 -08:00
Pavol Vaskovic
93adef9c0c [benchmark] DataAppendArray: Fix setup overhead
Extract the array creation out of the main workload function of `DataAppendArray` to stabilize it’s performance in -Onone.
2019-02-14 08:07:15 +01:00
Pavol Vaskovic
e15aff31b7 [benchmark] DataCreateSmall - Fix legacyFactor
Adjust the multipliers for legacy factor and inner loop to account for the improved performance of the `Data` implementation.
2019-01-31 19:05:12 +01:00
Pavol Vaskovic
626878e0d4 [benchmark] Data.[init,append].Sequence.[809B,64kB] 2019-01-15 22:04:46 +01:00
Itai Ferber
04eaf07f1d Re-add Data.append.Sequence.ExactCount 2019-01-10 12:38:21 -08:00
Pavol Vaskovic
e3a843374d Reduce Data.hash.Medium multiplier
Co-Authored-By: itaiferber <itai@itaiferber.net>
2019-01-10 12:19:39 -08:00
Itai Ferber
e57ba83f48 Reduce multipliers on Data.init.Sequence 2019-01-10 12:17:15 -08:00
Itai Ferber
3952b7359c Update benchmark names 2019-01-10 12:13:21 -08:00
Itai Ferber
beb326e808 Data hashing benchmarks 2019-01-10 10:23:33 -08:00
Itai Ferber
a457b0d223 Data.init<S>/append<S> worst-case benchmarks 2019-01-10 10:23:11 -08:00
Pavol Vaskovic
7db46b3b14 [benchmark] Inlined loop miltipliers
Also added 2 forgotten legacy factors.
2019-01-08 02:06:10 +01:00
Pavol Vaskovic
1df944c300 [benchmark] Fix DataSubscript fragile inlining? 2019-01-04 23:50:18 +01:00
Pavol Vaskovic
928d015037 [benchmark] DataBenchmarks Legacy Factor
Adjusted the multipliers to run in under 1000 μs.

The inner loop multipliers are divided by the `legacyFactor` to achieve the same reported runtime, but in a shorter time and with better precision (less accumulated error).
2019-01-04 22:31:30 +01:00
Pavol Vaskovic
6af0eab31a [benchmark] Move loop multipliers to BenchmarkInfo 2019-01-04 22:30:29 +01:00
Pavol Vaskovic
e4cdc48da5 [benchmark] DataToString, StringToData refactored
Refactored to use shared test method and inlined runFunctions.
2019-01-04 22:29:50 +01:00
Pavol Vaskovic
0fa784fa76 [benchmark] DataReplaceBuffer refactored
Refactored to use shared test method and inlined runFunctions.

Re-enabled `Large` test errorneously disabled in #20411. Removed `skip` tags, as this was the last use.
2019-01-04 22:29:41 +01:00
Pavol Vaskovic
5c503c8b5d [benchmark] DataReplace refactored
Refactored to use shared test method and inlined runFunctions.
2019-01-04 21:33:12 +01:00
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