Commit Graph

1638 Commits

Author SHA1 Message Date
Robert Widmann
0149ccd0ca Add arm64_32 support for Swift
Commit the platform definition and build script work necessary to
cross-compile for arm64_32.

arm64_32 is a variant of AARCH64 that supports an ILP32 architecture.
2021-04-20 14:59:04 -07:00
Stephen Canon
9ddbd56d32 Simd random mask benchmark (#36579)
* Add benchmark for SIMDMask.random generation.

* Add bitcast for IntN -> VecNxInt1
2021-03-25 08:54:40 -04:00
Stephen Canon
b972d31458 Use correct setup for Int8 2021-03-19 18:47:37 -04:00
Stephen Canon
22f4c4553a Update benchmark naming. 2021-03-19 15:08:41 -04:00
Stephen Canon
13812776cc Some initial benchmarks for simd integer arithmetic. 2021-03-19 11:19:35 -04:00
Michael Ilseman
4fe6873c72 [benchmark] Conform to naming and timing conventions 2021-03-06 09:01:09 -07:00
Michael Ilseman
4612a5b02f [benchmark] Cleanup and bug fix 2021-03-05 17:26:29 -07:00
Michael Ilseman
73af20fdbf [benchmark] Add StringSplitting and lines benchmarks
Add a new benchmark module StringSplitting for split-like benchmarking.

Add lineSink benchmarks, which separates Unicode content by lines and feeds
Strings into a sink.
2021-03-04 17:20:12 -07:00
Michael Ilseman
288a0db849 Merge pull request #36018 from Lukasa/cb-add-naive-whitespace-trim-benchmark
Add Substring benchmark for naive ACSII whitespace trimming.
2021-02-24 08:24:42 -07:00
Richard Wei
0b53a02544 [AutoDiff] Rename 'in:' to 'of:' in differential operators.
Rename the argument label `in:` in `gradient(at:in:)`, `pullback(at:in:)`, etc to `of:`, as suggested in the [pitch thread](https://forums.swift.org/t/differentiable-programming-for-gradient-based-machine-learning/42147).
2021-02-24 01:33:42 -05:00
Cory Benfield
69a8e73966 Add Substring benchmark for naive ACSII whitespace trimming.
This is derived from swift-nio-http2's codebase, which contains this
unfortunate code for trimming ASCII whitespace.
2021-02-19 17:26:53 +00:00
Ikko Ashimine
473e4af90a [benchmark] Fix typo in DriverUtils.swift
reseting -> resetting
2021-01-14 01:50:21 +09:00
Zoe Carver
871bb081ce Merge pull request #35324 from zoecarver/cxx/benchmark-header-guards
[nfc] Add header guards and "requres cplusplus" to C++ benchmarks.
2021-01-09 10:36:01 -08:00
zoecarver
388c2ffff8 [nfc] Add header guards and "requres cplusplus" to C++ benchmarks. 2021-01-08 15:47:49 -08:00
Konrad `ktoso` Malawski
a5a5236cb3 fix minor typo in command in benchmarks/readme 2021-01-08 16:51:17 +09:00
Max Desiatov
52d9398c30 Merge pull request #34998 from apple/maxd/fix-apple-silicon
CMake: fix build for Apple Silicon hosts

When building with `build-script` using these arguments

```
utils/build-script --skip-build-benchmarks
  --skip-ios --skip-watchos --skip-tvos
  --swift-darwin-supported-archs "arm64"
  --sccache --release-debuginfo --test
```

the build fails with

```
ninja: error: 'stdlib/swift-test-stdlib-macosx-x86_64',
needed by 'stdlib/CMakeFiles/swift-test-stdlib', missing and no known rule to make it
```

I think that the "Getting Started" guide should avoid hardcoding `x86_64` arguments, and suggest using `$(uname -m)` instead. `SWIFT_PRIMARY_VARIANT_ARCH_default` could also get its value from `CMAKE_HOST_SYSTEM_PROCESSOR` in the root `CMakeLists.txt`.

Resolves SR-13943.
2021-01-06 18:05:28 +00:00
zoecarver
cbfe358065 [benchmark] Add "StringSwitch" benchmark to match "StringEnum".
This benchmark compares 184 strings in a string-based switch statement.
This will be used to test #28260.
2021-01-04 11:33:57 -08:00
Max Desiatov
33bc25be80 Fix remaining hardcoded references to x86_64 2020-12-08 17:12:23 +00:00
Richard Wei
b8581cb83b [AutoDiff] Add differentiation benchmarks (#34901)
* Add differentiation benchmarks.
* Make install name of _Differentiation be @rpath/libswift_Differentiation.dylib.

Co-authored-by: Marc Rasi <marcrasi@google.com>
2020-12-02 12:26:31 -08:00
Zoe Carver
aa04872a16 Merge pull request #32721 from zoecarver/cxx/benchmark/create-objects
[cxx-interop] Add support for benchmarks with C++ interop.
2020-11-20 07:58:16 -08:00
Micah Benn
25bd5eaed7 Fix styling, optimize 2020-11-09 17:04:59 -06:00
Micah Benn
477bef7dfc Condense benchmarks 2020-11-06 20:11:16 -06:00
Micah Benn
6f103c63b2 Pre-construct indexPath, use setUpFunction 2020-11-02 00:29:30 -06:00
Micah Benn
55b3b34dcc Decrease load 16x, fix naming, fix mem usage
Fixes mem usage of run_IndexPathSubscriptRangeMutation
2020-11-01 23:05:00 -06:00
Micah Benn
fe5d2762f0 Apply swift-format 2020-11-01 19:20:08 -06:00
Micah Benn
13a638532f Fix indentation, move params to new line 2020-11-01 15:25:30 -06:00
Micah Benn
e69b71f4ec Update per style guildelines 2020-11-01 15:07:24 -06:00
Micah Benn
3d40513acb Fix formatting 2020-11-01 09:07:27 -06:00
Micah Benn
71784065cb Add IndexPath benchmarks
Add benchmarks for subscripts, max, min
2020-11-01 08:39:51 -06:00
zoecarver
01b12cfe6e [cxx-interop] Add support for benchmarks with C++ interop.
* Adds support for benchmarks that use C++ modules.
* Adds "CreateObjects" benchmark that creates C++ objects.
2020-10-06 19:33:22 -07:00
Andrew Trick
d43c1cc059 Merge pull request #34042 from atrick/verify-chacha
Add result checking to the ChaCha benchmark.
2020-09-24 00:01:45 -07:00
Mishal Shah
956b7a931c Merge pull request #34041 from apple/shahmishal/update-branch-doc
Update doc and links to support new main branch
2020-09-23 22:48:03 -07:00
Andrew Trick
eef1cf6688 Add result checking to the ChaCha benchmark.
This benchmark was being miscompiled for some time and
we did not catch it. I only noticed because a correcteness
fix caused a regression.
2020-09-23 21:12:02 -07:00
Xiaodi Wu
bb954f9b65 Merge pull request #33975 from xwu/benchmark-floating-point-conversion-exactly
[benchmark] Add another test to floating point conversion benchmark
2020-09-23 23:00:23 -04:00
Mishal Shah
40024718ac Update doc and links to support new main branch 2020-09-22 23:53:29 -07:00
Michael Gottesman
0591fa0d6b [leaks-checker] Add verbose flag to dump out raw output from runtime to help debug failures on bots.
Just a quick hack to ease debugging on the bots.
2020-09-21 09:59:32 -05:00
Xiaodi Wu
cb96bfbfdf [benchmark] Tweak naming and workload for two new tests 2020-09-16 21:38:19 -04:00
Xiaodi Wu
26f3c81e44 [benchmark] Add another floating point conversion benchmark 2020-09-16 19:32:13 -04:00
Xiaodi Wu
94887747a4 [benchmark] Add another test to floating point conversion benchmark 2020-09-16 19:05:09 -04:00
Xiaodi Wu
41d0e2937b [benchmark] Add benchmark for generic floating-point to integer conversion (#33895)
* [benchmark] Add a benchmark for generic floating-point to integer conversion

* [benchmark] Increase workload on new benchmark before merging
2020-09-15 17:15:24 -04:00
Xiaodi Wu
6a85fa7509 [benchmark] Delete two benchmarks and add generic floating-point conversion lit tests 2020-09-08 13:10:24 -04:00
Suyash Srijan
3692751690 [Benchmark] Fix build failure on armv7 by guarding Float80 availability 2020-09-07 01:23:00 +01:00
Xiaodi Wu
44a7038f9e [benchmark] Address review comments on FP conversion benchmarks 2020-09-05 11:27:54 -04:00
Xiaodi Wu
60b7c578c4 [benchmark] Add mock floating-point types for conversion benchmarks 2020-09-04 23:47:10 -04:00
Xiaodi Wu
514dce144f Update copyright year on benchmark and its template 2020-09-04 15:02:38 -04:00
Xiaodi Wu
65a547c4e6 [benchmark] Add new benchmark for floating-point conversion 2020-09-04 13:42:47 -04:00
Mike Ash
60e12f109d Add a benchmark for protocol conformance testing. 2020-08-14 15:32:51 -04:00
tbkka
ab861d5890 Pass architecture into Benchmark_Driver to fix build-script -B (#33100)
* Pass architecture into Benchmark_Driver to fix `build-script -B`

* "Benchmark_Driver compare" does not need the architecture
2020-07-25 11:15:49 -07:00
tbkka
2c8ae98e5e Python3 compatibility for Benchmarks (#33039)
Three issues addressed here:

1. Dependency on dictionary iteration order

 CharacterProperties.swift.gyb iterated a dictionary to produce its output.
 Changed this to a list of tuples to ensure the order is predictable.

2. Python3 `map` returns an iterator, not a list

 Changed a bunch of `map` calls to `list(map(...))` to ensure the result is a list

3. Python3 `int()` expects a string, won't accept a list of characters

 Added a concatenation step that is effectively a no-op on Python2
2020-07-22 12:24:10 -07:00
Michael Gottesman
d7bd5aee2a Merge pull request #32976 from gottesmm/pr-5545885200c7c4f352e37991d9a5a10065d828da
[opt-remark] Always emit opt-remarks for the stdlib and benchmarks
2020-07-18 23:24:25 -07:00