Commit Graph

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