Commit Graph

1633 Commits

Author SHA1 Message Date
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
Egor Zhdan
34c2b0e50d [cxx-interop] Make String.init(std.string) unlabeled
`Swift.String` can be initialized from any other type with an unlabeled initializer, which is either going to use the `CustomStringConvertible` conformance, or reflection. We would like clients to use the most suitable initializer, which is the one that takes `std.string` as a parameter. For instance, that allows us to attach a doc comment to the initializer.

This change makes the initializer unlabeled to make sure it is chosed by overload resolution when a client invokes `String(myCxxString)`.
2023-02-02 12:47:08 +00: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
Egor Zhdan
d288b16420 [cxx-interop] Add benchmark for conversion between C++ and Swift strings 2023-01-25 00:17:49 +00:00
Egor Zhdan
99c54addb3 Merge pull request #62648 from apple/egorzhdan/cxx-set-bench
[cxx-interop] Add benchmark for std::set conversion to a Swift collection
2023-01-24 23:45:21 +00:00
Egor Zhdan
f931de8948 [benchmark] Do not abort with TypeError if no memory measurements were taken 2023-01-23 13:34:17 +00: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
Valeriy Van
3fa1952abc Fix warning in benchmark
warning: immutable value 'i' was never used; consider replacing with '_' or removing it
  for i in 0...N {
      ^
2023-01-18 21:21:04 +02:00
Egor Zhdan
0da22a3420 [cxx-interop] Add benchmark for std::set conversion to a Swift collection 2023-01-16 16:18:07 +00: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
Egor Zhdan
bd8cf0272c [cxx-interop] Remove manual std::vector conformance in the benchmark
`std::vector::const_iterator` is now automatically conformed to `UnsafeCxxRandomAccessIterator`, and `std::vector` is conformed to `CxxRandomAccessCollection`.

The manually added conformances are now redundant.
2023-01-06 14:10:12 +00:00
Karoy Lorentey
2d9e9b28e9 Revert all changes to Benchmark_Driver 2022-12-30 16:47:48 -08:00
Karoy Lorentey
114d392540 [benchmark] StringDistance: Increase ASCII workload by an additional 10x 2022-12-29 17:15:49 -08:00
Karoy Lorentey
4565485876 [benchmark] Why oh why is this not written in Swift? 2022-12-29 17:12:49 -08:00
Karoy Lorentey
fd01ed6750 [benchmark] StringDistance: Increase ASCII workload 2022-12-28 20:59:17 -08:00
Karoy Lorentey
42f1389c7c [benchmark] Why is this thing not written in Swift? 2022-12-28 20:49:50 -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
Valeriy Van
8c8593686d OS X -> macOS in swift/benchmark/README.md (#62026) 2022-11-11 12:07:43 +00:00
Tim Kientzle
c056e6396b Merge pull request #61559 from tbkka/tbkka-benchmarking
Overhaul Benchmarking pipeline to use complete sample data, not summaries
2022-11-09 07:38:58 -08: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
Tim Kientzle
961a38b636 Test the non-JSON output
We have to continue using the non-JSON forms
until the JSON-supporting code is universally
available.
2022-11-07 14:46:13 -08:00
Tim Kientzle
dfe8284462 pylint fixes 2022-11-07 14:45:59 -08:00
Tim Kientzle
168130741b Pylint fixes 2022-11-07 14:45:37 -08: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
Tim Kientzle
b0ce365b53 A better way to adapt to -num-samples 2022-11-05 16:05:26 -07:00
Tim Kientzle
c3a727486f Make --num-samples actually work 2022-11-05 14:18:41 -07:00
Tim Kientzle
5c14017bba For size comparisons, build the result objects directly with sample data 2022-11-05 14:17:34 -07:00
Tim Kientzle
e1ab70a4b0 Use results consistently 2022-11-05 13:29:52 -07:00
Tim Kientzle
b8e023ad53 Make the default output a little more like the old version (for now) 2022-11-04 18:07:12 -07:00
Tim Kientzle
a63adc9114 Use non-json format for now until we have switched over completely 2022-11-04 16:17:57 -07:00
Tim Kientzle
2a3e68a1f8 Match new benchmark driver default output 2022-11-04 16:16:37 -07:00