Commit Graph

1603 Commits

Author SHA1 Message Date
David Smith
4f363f72f1 Try to thwart the optimizer 2023-05-10 10:55:37 -07:00
David Smith
d5d97ad26e Further benchmark scaling 2023-05-10 02:31:03 -07:00
David Smith
0ddc90b355 Further benchmark scaling 2023-05-10 01:25:38 -07:00
David Smith
71ed988d27 Scale benchmarks 2023-05-09 16:29:56 -07:00
David Smith
9b3bd5ed0a register new benchmarks 2023-05-09 15:33:09 -07:00
David Smith
7d234d76ea More build fixes 2023-05-09 13:50:41 -07:00
David Smith
6cb9e5cfdd Build fixes 2023-05-09 11:27:04 -07:00
David Smith
78e406c376 Add a few basic smoke test benchmarks for the default RangeReplaceableCollection append methods 2023-05-09 09:41:44 -07:00
Egor Zhdan
d5f5d4bd55 [cxx-interop] Make CxxConvertibleToCollection.forEach public
This allows clients to iterate over a C++ container which doesn't provide random access with a `.forEach` call.

rdar://107995558
2023-04-18 14:43:43 +01:00
Valeriy Van
e99a45b15b Reduce loop coefficient to 200 2023-03-02 09:57:57 +02:00
Valeriy Van
b79e1d5c31 Rename benchmark to fit into 40 characters limit 2023-03-02 09:55:25 +02:00
Valeriy Van
d947e10dd2 Put back getString call inside benchmarking loop 2023-03-01 09:14:32 +02:00
Valeriy Van
e59a74dd41 Get rid of helper function 2023-02-28 11:35:32 +02:00
Valeriy Van
da5be81857 Get rid of function used only once 2023-02-28 11:35:32 +02:00
Valeriy Van
eaecec1d2d Fix indentation 2023-02-28 11:35:32 +02:00
Valeriy Van
a1488d661a Fix header comment 2023-02-28 11:35:32 +02:00
Valeriy Van
2573eb37b7 Reduce count of benchmarks to 4 2023-02-28 11:35:32 +02:00
Valeriy Van
157397aa19 Fix misspelled Cyrillic 2023-02-28 11:35:32 +02:00
Valeriy Van
f18d76f98a Fix compile error in StringRepeating benchmark 2023-02-28 11:35:32 +02:00
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
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