Commit Graph

1633 Commits

Author SHA1 Message Date
Oscar Byström Ericsson
5b8ce67a3d Some create_benchmark.py script enhancements.
This commit addresses some trials and tribulations I encountered while working on (#71786). It:

1. fixes the auto-registration regex
2. fixes the auto-generated array's name
3. generates the current year for the license header
4. generates some dashes for the license header
2024-02-24 10:15:34 +01:00
Oscar Byström Ericsson
8cfbb62a2e FlattenSequence/distance(from:to:) benchmarks (v7).
The benchmarks took too long to perform, so I reduced the size of each payload.
2024-02-24 08:18:33 +01:00
Oscar Byström Ericsson
7ecb987ad5 FlattenSequence/distance(from:to:) benchmarks (v6).
1. The auto-generated [BenchmarkInfo] was given the wrong name.
2024-02-23 10:11:18 +01:00
Oscar Byström Ericsson
cef7c43daf FlattenSequence/distance(from:to:) benchmarks (v5).
1. Replaced occurrences of Repeated<T> with Array<T>.
2024-02-22 20:45:03 +01:00
Oscar Byström Ericsson
dff27479bf FlattenSequence/distance(from:to:) benchmarks (v4).
1. Added some sequential tests with String as the inner collection.
2024-02-22 17:31:28 +01:00
Oscar Byström Ericsson
6829f808a0 FlattenSequence/distance(from:to:) benchmarks (v3).
1. Parameterized benchmark dependencies, per code review.
2024-02-22 17:25:29 +01:00
Oscar Byström Ericsson
e6cc57f321 FlattenSequence/distance(from:to:) benchmarks (v2).
1. Registered the new benchmarks in benchmark/utils/main.swift.
2024-02-22 10:11:41 +01:00
Oscar Byström Ericsson
0ea89852da FlattenSequence/distance(from:to:) benchmarks (#71648). 2024-02-21 17:33:30 +01:00
David Smith
f1feba0e42 Eytzingerize word break data (#71731)
Switch word break property searching to Eytzinger binary search
2024-02-20 22:49:34 -08:00
Egor Zhdan
2b7e470d5d Revert "[cxx-interop] benchmark, disable ReadAccessor benchmark while investigating build regression after rebranch"
This reverts commit 157632fd9f.
2023-12-26 17:49:07 +00:00
Alex Lorenz
157632fd9f [cxx-interop] benchmark, disable ReadAccessor benchmark while investigating build regression after rebranch 2023-10-24 15:21:04 -07:00
Tim Kientzle
134bd20a4d Merge pull request #68719 from tbkka/tbkka-rdar114966309-HTTP2StateMachine
Fix HTTP2StateMachine benchmark
2023-09-25 17:29:44 -07:00
Tim Kientzle
e3e72fc21c Update benchmark test script to correctly verify the --min-samples=2 default command-line arg 2023-09-25 11:57:34 -07:00
Tim Kientzle
dc7a3d38cd Fix HTTP2StateMachine benchmark
The optimizer managed to eliminate this entire benchmark,
resulting in useless 0 second timings.

I made a couple of changes to ensure the optimizer cannot
eliminate the loop:
* The individual checks now actually use the loop parameter
* `identity()` is used to ensure conservatism

While here, I reduced the loop count since these benchmarks seem
to run for a long time.
2023-09-22 17:50:51 -07:00
Tim Kientzle
7052de9399 Fix build-script -B
Without additional options, build-script -B was badly broken:
* It added a broken --independent-samples option to the driver command line
* Slow tests that ran only 1 sample by default would break the statistics

Fix the first issue by adding `--independent-samples` to the command
line only when a sample was actually provided by other options.

Fix the second issue by including `--min-samples=2` in the command.
2023-09-22 17:44:42 -07:00
Erik Eckstein
8953d686ad benchmarks: use dedicated module-cache directory for building the benchmarks
So that it cannot interfere with some leftovers from other compiler runs.
This is important for SDK modules which are generated from swiftinterface files (like Foundation).
The cached SDK module should be built with the compiler to benchmark (and not being reused from other compiler runs).
2023-09-18 18:24:52 +02:00
Manu
02b5fa2c8e Fix some typos in the codebase 2023-08-31 18:50:10 -03:00
Stéphan Kochen
7b460ce495 build: fix accidental cmake expansions
As of CMake 3.25, there are now global variables `LINUX=1`, `ANDROID=1`,
etc. These conflict with expressions that used these names as unquoted
strings in positions where CMake accepts 'variable|string', for example:

- `if(sdk STREQUAL LINUX)` would fail, because `LINUX` is now defined and
  expands to 1, where it would previously coerce to a string.

- `if(${sdk} STREQUAL "LINUX")` would fail if `sdk=LINUX`, because the
  left-hand side expands twice.

In this patch, I looked for a number of patterns to fix up, sometimes a
little defensively:

- Quoted right-hand side of `STREQUAL` where I was confident it was
  intended to be a string literal.

- Removed manual variable expansion on left-hand side of `STREQUAL`,
  `MATCHES` and `IN_LIST` where I was confident it was unintended.

Fixes #65028.
2023-07-17 21:50:50 +02:00
Max Desiatov
21a2b78801 stdlib/benchmark: add canImport(Musl) where needed (#67120)
This allows compiling stdlib and benchmarks when targeting musl instead of Glibc.
2023-07-05 19:55:08 +01:00
Lucy Satheesan
942ea60af4 [benchmark] bump minimum OS versions 2023-06-16 12:18:55 -07:00
Lucy Satheesan
32745c3c56 [benchmark] half Array.removeAll bench size 2023-05-23 21:10:11 -07:00
Lucy Satheesan
6a1129f68a [benchmark] rename Array.removeAll benchmarks 2023-05-23 17:10:32 -07:00
Lucy Satheesan
008ed2fa95 [benchmark] clean up setup for ArrayRemoveAll 2023-05-23 14:14:14 -07:00
Lucy Satheesan
d489ba2740 [benchmark] check results only once in ArrayRemoveAll 2023-05-23 11:22:47 -07:00
Lucy Satheesan
51c62aee19 [benchmark] add removeAll(keepingCapacity: true) non-unique test 2023-05-23 11:05:59 -07:00
David Smith
4d3c75631e Wow, even further I guess 2023-05-12 17:22:08 -07:00
David Smith
708c5c4381 Nah let's go a little lower 2023-05-12 16:31:08 -07:00
David Smith
92bba63159 Ok I think this should be right 2023-05-12 16:29:23 -07:00
David Smith
a63031c636 Scale benchmark down… 2023-05-12 15:39:12 -07:00
David Smith
b024a560ed Fix thinko, thank you Nate! 2023-05-12 14:14:53 -07:00
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