Commit Graph

905 Commits

Author SHA1 Message Date
Valeriy Van
542c88d964 Update copyright to year 2023
Co-authored-by: Xiaodi Wu <13952+xwu@users.noreply.github.com>
2023-02-28 11:35:31 +02:00
Valeriy Van
dd22e6a43c Removes slash from benchmrk name.
Slash in benchmark name makes benchmarks break.
2023-02-28 11:35:31 +02:00
Valeriy Van
bfb1e875af Adds benchmark for String(repeating:count:) 2023-02-28 11:35:31 +02:00
eeckstein
9d5dd75314 Merge pull request #34435 from valeriyvan/StringDecodeUTF16Benchmark
Add benchmarks for UTF16 decoding
2023-02-23 18:02:44 +01:00
Valeriy Van
e0966d64ab Add setUp func 2023-02-22 01:28:18 +02:00
Valeriy Van
bca183c505 Add test for 128 bytes buffer 2023-02-16 12:39:16 +02:00
Valeriy Van
a84516e152 Skip some benchmarks 2023-02-15 12:32:30 +02:00
Valeriy Van
daf2e5dac8 Move setup out of benchmark functions 2023-02-14 20:56:33 +02:00
Valeriy Van
4682d1e6c2 Reduce benchmark execution time 2023-02-14 16:43:51 +02:00
Valeriy Van
66f5634a5f Rename test to follow convension 2023-02-14 16:21:42 +02:00
Valeriy Van
71e8288757 Fix compile error in benchmark/single-source/UTF16Decode.swift 2023-02-14 12:50:07 +02:00
Valeriy Van
5daec4f9fc Apply suggestions from code review
Co-authored-by: Xiaodi Wu <13952+xwu@users.noreply.github.com>
2023-02-14 12:04:30 +02:00
Valeriy Van
fa6c038c92 Adds benchmarks for UTF16 decoding 2023-02-14 12:04:29 +02:00
Guillaume Lessard
183fc28b72 [benchmark] change a buffer length
- the intermediate length (15 bytes) didn’t show results significantly different from those produced by the short length benchmark (7 bytes).
2023-02-07 16:12:31 -08:00
swift-ci
afe43a4699 Merge pull request #63106 from valeriyvan/Benchmark-UnsafeRawBufferPointer-first
[benchmark] Add benchmark for UnsafeMutableRawBufferPointer firstIndex(of:) and lastIndex(of:)
2023-01-31 21:34:52 -08:00
Valeriy Van
93c9a646a5 Leave only tests for buffer of length 7, 15 and 1000 bytes; Increase multiplier from 10 to 10000 2023-01-29 14:58:34 +02:00
Valeriy Van
136baafa50 Add benchmark for UnsafeMutableRawBufferPointer firstIndex(of:) and lastIndex(of:) 2023-01-19 18:34:14 +02:00
Valeriy Van
a5b1082ba3 Suppress warnings in benchmark
warning: heterogeneous collection literal could only be inferred to '[Any]'; add explicit type annotation if this is intentional
2023-01-18 21:28:29 +02:00
Valeriy Van
12719bc896 Fix warning in benchmark
warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
2023-01-18 21:24:52 +02:00
Valeriy Van
37470915f5 Fix warnings in benchmarks
warning: tuple conversion from '(offset: Int, element: S.Element)' to '(index: Int, elem: S.Element)' mismatches labels
2023-01-18 21:23:16 +02:00
Karoy Lorentey
f56d44a492 [benchmark] Add a basic benchmark for Unicode._CharacterRecognizer
This measures the performance of the stdlib’s core grapheme breaking algorithm, without any `String` overhead.
2023-01-15 16:10:43 -08:00
Karoy Lorentey
114d392540 [benchmark] StringDistance: Increase ASCII workload by an additional 10x 2022-12-29 17:15:49 -08:00
Karoy Lorentey
fd01ed6750 [benchmark] StringDistance: Increase ASCII workload 2022-12-28 20:59:17 -08:00
Karoy Lorentey
54aa1055e5 [benchmark] StringDistance: Add ASCII cases 2022-12-28 15:09:23 -08:00
Karoy Lorentey
3edb03433e [benchmark] StringDistance: Decrease workload 2022-12-28 15:02:49 -08:00
Karoy Lorentey
f6b453f30f [benchmark] Add some distance(from:to:) benchmarks for String views 2022-12-27 23:08:05 -08:00
Anthony Latsis
4cb63c8a0f [NFC] Migrate remnant Jira issue references to GitHub issues 2022-12-04 08:20:34 +03:00
fibrechannelscsi
2d052a0826 An additional benchmark for KeyPath read performance. (#61795)
* Added a benchmark for KeyPaths where trivially-typed memory is preceded by non-trivially-typed memory.

* Reduces the workload of run_KeyPathClassStructs by a factor of 4.

The reported time was 1847 us.
2022-11-07 16:52:25 -06:00
Andrew Trick
634087d093 Mark ArrayAppendRepeatCol benchmark unstable
It varies by 2x from run-to-run.

We don't yet have a way to control malloc behavior from the driver.
2022-11-07 11:00:13 -08:00
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
6ef5908bdc benchmarks: fix the Fibonacci and Ackermann benchmarks
The `getFalse` utility function was not excluded from cross-module-optimization, which led the optimizer to completely eliminate the main loop body
Also, the passed `N` was shadowed by a local `n`.
2022-10-19 18:09:24 +02:00
Dario Rexin
210c68d8aa [SILOptimizer] Add prespecialization for arbitray reference types (#58846)
* [SILOptimizer] Add prespecialization for arbitray reference types

* Fix benchmark Package.swift

* Move SimpleArray to utils

* Fix multiple indirect result case

* Remove leftover code from previous attempt

* Fix test after rebase

* Move code to compute type replacements to SpecializedFunction

* Fix ownership when OSSA is enabled

* Fixes after rebase

* Changes after rebasing

* Add feature flag for layout pre-specialization

* Fix pre_specialize-macos.swift

* Add compiler flag to benchmark build

* Fix benchmark SwiftPM flags
2022-09-22 16:29:01 -07:00
fibrechannelscsi
730bf24035 Add benchmarks that measure KeyPath read and write performance. (#60383)
* Add benchmarks that measure KeyPath read and write performance.

* Added setUpFunctions. Revised number of iterations per benchmark.

* Include n as a factor in the number of iterations.

* Increased number of iterations for KeyPathDirectAccess by a factor of 25.

* One last tweak to the number of iterations on testDirectAccess to get them above 20 us.

* Made revisions based on feedback. Added three new benchmarks.

* Added benchmarks to exhaustively benchmark all KeyPathComponent types. Removed benchmarks dealing with an inlining issue.

* Wrapped additional keypaths with identity() where needed. More cleanup and documentation.

* Moved KeyPaths for KeyPathRead and Write into FixedSizeArrayHolder. Renamed GetSet to Getset.

* Added inline(never) to both versions of getKeypathToElement().

* Moved identity() wraps so that they're called once per variable per benchmark.

* Moving destinationKeyPaths into FixedSizeArrayHolder to try to reduce long setup overhead errors.

* Additional moving of the identity() wrapping into the singleton's init() to try to reduce setup time errors.
2022-08-24 13:55:05 -05:00
Dario Rexin
4c484af381 [Benchmarks] Disable a few noisy Array benchmarks (#60705) 2022-08-22 13:18:52 -07:00
Erik Eckstein
5c82b8c32f benchmarks: fix some benchmark unstabilities
* disable unstable benchmark `ArrayPlusEqualArrayOfInt`
* scale (by renaming) `SubstringFromLongStringGeneric` by 10
2022-07-25 14:55:42 +02:00
Lily
2eb22789d9 Add benchmarks to measure Dictionary.filter (#59264)
* Add benchmarks for dictionary filtering
2022-06-09 12:04:44 -07:00
Josh Soref
fa3ff899a9 Spelling benchmark (#42457)
* spelling: approximate

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: available

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: benchmarks

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: between

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: calculation

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: characterization

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: coefficient

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: computation

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: deterministic

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: divisor

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: encounter

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: expected

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fibonacci

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: fulfill

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: implements

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: into

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: intrinsic

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: markdown

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: measure

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: occurrences

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: omitted

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: partition

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: performance

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: practice

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: preemptive

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: repeated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: requirements

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: requires

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: response

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: supports

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unknown

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: utilities

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: verbose

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

Co-authored-by: Josh Soref <jsoref@users.noreply.github.com>
2022-04-25 09:02:06 -07:00
Nate Chandler
1a0cd33ca0 [Benchmark] Shortened local var lifetime. 2022-03-16 20:45:40 -07:00
David Smith
c1957a3993 Add a benchmark for CFStringInlineBuffer on bridged Strings 2022-03-04 13:09:29 -08:00
Ikko Ashimine
085a9bb06a [benchmark] Fix typo in SIMDReduceInteger.swift
Intialize -> Initialize
2021-12-26 14:37:12 +09:00
Michael Gottesman
81e20fb9cb Remove @_assemblyVision marker that snuck into ChaCha.
I think I was using this as part of a demo at some point and it snuck into
tree.
2021-11-14 11:28:37 -08:00
Erik Eckstein
4447fe0cb0 benchmarks: Fix an integer overflow problem in the MapReduce benchmarks on 32-bit targets 2021-09-22 20:22:50 +02:00
Erik Eckstein
5ff6308e05 benchmarks: disable some unstable benchmarks
and scale a substring test
2021-09-22 08:39:06 +02:00
Karoy Lorentey
758c52bc2a [benchmark] Don't create array instance in modules with solitary benchmarks
It just produces unnecessary code sign churn.
2021-09-16 18:54:14 -07:00
Karoy Lorentey
110d123731 [benchmark] Fix silly thinkos in Ackermann & Fibonacci 2021-09-16 18:00:37 -07:00
Karoy Lorentey
ee34b02b30 [benchmark] Fixup expected output in MirrorTest after module rename 2021-09-16 16:12:00 -07:00
Karoy Lorentey
526527e587 [benchmark] Regenerate gyb 2021-09-16 12:12:39 -07: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
Karoy Lorentey
958733c812 [benchmark] False() → getFalse() 2021-09-15 22:08:07 -07:00