Commit Graph

408 Commits

Author SHA1 Message Date
Tony Parker
130ce14f16 Merge pull request #15221 from parkera/parkera/data_benchmarks
Updated Data benchmarks
2018-03-15 09:01:18 -07:00
Tony Parker
19c6ccf5af Updated Data benchmarks 2018-03-13 17:29:50 -07:00
Karoy Lorentey
c2eccf2b4d [benchmark] Add benchmarks for Dictionary operations with quadratic behavior
Dictionary and Set currently exhibit O(n^2) behavior for certain operations involving copying elements in bulk. Add benchmarks to verify an upcoming fix and to catch regressions later.

https://bugs.swift.org/browse/SR-3268
2018-03-13 19:42:45 +00:00
Michael Ilseman
7f1ba5d22d Merge pull request #14992 from milseman/bench_builder
[benchmark] More StringBuilder/Interpolation benchmarks
2018-03-06 15:09:01 -08:00
swift-ci
8ace7b8f7f Merge pull request #14988 from xwu/benchmark-fp-properties 2018-03-05 18:18:22 -08:00
Xiaodi Wu
7cb94890b4 Add binary floating-point properties benchmarks 2018-03-05 19:26:03 -06:00
Michael Ilseman
87b24738d8 [benchmark] Add string interpolation benchmarks
Add some benchmarks for when the whole interpolated string is small,
and when it is very large but every segment is pretty small.
2018-03-05 14:25:41 -08:00
Kamil Pyć
782ee2010a Further optimisation with guard 2018-03-03 19:57:27 +01:00
Kamil Pyć
8b997b4965 Removed redundant check
Since init for Int with empty string returns nil there is no need for additional checking for empty string
2018-03-03 05:54:10 +01:00
Huon Wilson
2130ba9808 Revert "[benchmark] Add interpolation; more stable builder" 2018-03-01 19:05:10 -08:00
Michael Ilseman
959f45edc0 [benchmark] Add string interpolation benchmarks
Add some benchmarks for when the whole interpolated string is small,
and when it is very large but every segment is pretty small.
2018-02-28 19:15:42 -08:00
swift-ci
3956205f76 Merge pull request #14662 from airspeedswift/remove-where-benchmark 2018-02-15 17:17:56 -08:00
Ben Cohen
220883f20c Sequence algorithm benchmarks (#14663) 2018-02-15 16:07:00 -08:00
Ben Cohen
1e820dc505 Add benchmarks based on different remove(where:) implementations 2018-02-15 16:03:38 -08:00
Karoy Lorentey
ba978d3338 [benchmark] Add benchmark exercising the hash compression function 2018-02-08 15:19:22 +00:00
Ben Cohen
cfd322593c Add Queue benchmark that tests popLast generically and concretely (#14393) 2018-02-03 11:53:05 -08:00
Michael Ilseman
86e353a682 Revert "Try disabling CSV benchmarks to see if that unsticks PR benchmark runs" 2018-01-29 11:49:00 -08:00
ben-cohen
3c87fe0b20 Try disabling CSV benchmarks to see if that unsticks PR benchmark runs 2018-01-28 08:39:49 +00:00
Max Moiseev
ea38221ce6 Merge pull request #14043 from xwu/benchmark-doublewidth-division
[benchmark] Add DoubleWidth division benchmark
2018-01-22 12:54:29 -08:00
Michael Ilseman
010d48598f Merge pull request #14049 from milseman/csvparsing
[benchmark] Add two new CSVParsing alternative benchmarks.
2018-01-21 21:57:54 -08:00
Michael Ilseman
7e58fd2cb5 [benchmark] Add two new CSVParsing alternative benchmarks.
The first is copied from https://github.com/apple/swift/pull/13930's
contribution (with a minor bug fix applied). The second is an
adaptation that tries to avoid creating copies and operate using
indices directly.
2018-01-21 18:07:07 -08:00
Michael Ilseman
3be2faf5d3 [String] Initial implementation of 64-bit StringGuts.
Include the initial implementation of _StringGuts, a 2-word
replacement for _LegacyStringCore. 64-bit Darwin supported, 32-bit and
Linux support in subsequent commits.
2018-01-21 12:32:26 -08:00
Xiaodi Wu
bc0e80634e [benchmark] Add DoubleWidth division benchmark 2018-01-20 23:59:17 -06:00
Xiaodi Wu
3887c59bb8 Add binary floating-point conversion benchmark 2018-01-15 16:11:19 -06:00
Michael Ilseman
d9fa4f5d0d [benchmark] More CharacterProperty variations 2018-01-08 13:05:23 -08:00
Karoy Lorentey
548878f733 Merge pull request #13731 from lorentey/romannumbers
[benchmark] Add roman numeral conversion benchmark
2018-01-08 19:27:11 +00:00
Karoy Lorentey
3312a22c1a Merge pull request #13725 from lorentey/wordcount
[benchmark] Add word counting benchmarks
2018-01-08 14:46:15 +00:00
Karoy Lorentey
6098fa4ac4 [benchmark] Add word counting benchmarks 2018-01-08 12:00:21 +00:00
Max Moiseev
861df1cdf9 Merge pull request #13770 from moiseev/pointer-arith-bench
[benchmark] Add a microbenchmark for the UnsafePointer.+
2018-01-06 16:42:03 -08:00
Michael Gottesman
24027067b9 [benchmarks] Add some more benchmarks by our very own airspeedswift.
With his permission of course.
2018-01-06 01:15:37 -05:00
Michael Ilseman
5eb699978a Merge pull request #13759 from milseman/csv_benchmarks
[benchmark] Hook up CSVParsing to suite
2018-01-05 21:22:05 -08:00
Max Moiseev
11f8f4c485 [benchmark] Add a microbenchmark for the UnsafePointer.+
UnsafePointer implementation contains the following note:

> Note: The following family of operator overloads are redundant with
Strideable. However, optimizer improvements are needed before they can
be removed without affecting performance.

... but it looks like there is no benchmark to support this claim.
2018-01-05 18:00:18 -08:00
Michael Ilseman
1eaf1f5571 [benchmark] Hook up CSVParsing to suite 2018-01-05 13:43:46 -08:00
Michael Ilseman
1c2954b133 [benchmark] Add a CharacterProperties benchmark 2018-01-05 11:27:36 -08:00
Karoy Lorentey
9e375bbce2 [benchmark] Add roman numeral conversion benchmark 2018-01-04 18:31:49 +00:00
Michael Gottesman
3aa039673d [benchmark] Use String.split instead of String.components.
This allows the benchmarks to be built without the Foundation overlay being
built. I am currently prototyping having +0 parameters for all normal arguments
and have not gotten the Foundation overlay to work yet... so this commit will
let me get some initial numbers for the subset of the tests that do not depend
on Foundation.

rdar://34222540
2017-12-07 10:59:28 -08:00
Erik Eckstein
383920fc24 benchmarks: remove legacy benchmark lists in Driver
They are not used anymore.
2017-12-04 15:41:21 -08:00
Karoy Lorentey
9fef06e59c Merge pull request #12752 from hamishknight/dictionary-subscript-addressor
[stdlib] Use addressor for Dictionary's subscript(_:default:)
2017-12-04 15:04:29 +01:00
Lance Parker
4cad7535b7 Added comparison benchmarks
# Conflicts:
#	benchmark/single-source/StringComparison.swift
2017-12-01 16:54:08 -08:00
Hamish
f7015c2984 [stdlib] Added benchmarks for Dictionary's subscript(_:default:) 2017-11-19 15:45:27 +00:00
Karoy Lorentey
c6a4d1131e Make sure string benchmarks actually measure string operations
The optimizer was sometimes able to eliminate most/all of the actual operations, so some benchmarks were not really measuring anything.
2017-11-08 19:15:47 +00:00
Greg Parker
58c9b45c78 [runtime] Clean up symbols in StdlibUnittest and the internal leak checker.
* Export fewer symbols.
* Prefix exported but not-public symbols with `_swift_`.
2017-10-24 13:13:43 -07:00
Erik Eckstein
46c96978b3 benchmarks: remove deprecated CheckResults function 2017-10-09 16:33:34 -07:00
Max Moiseev
95cd5221f9 Remove a misleading comment 2017-10-04 14:54:04 -07:00
Max Moiseev
26c498c005 [benchmark] Add RangeIteration benchmarks 2017-10-04 14:50:29 -07:00
Max Moiseev
c35cd06c70 Fix a typo 2017-10-04 12:24:21 -07:00
Max Moiseev
1dd9d61ded Move all benchmarks to use registerBenchmark and BenchmarkInfo 2017-10-03 18:04:56 -07:00
Max Moiseev
86eeb5416b Introduce .skip tag and properly handle --skip-tags parameter 2017-10-03 10:07:50 -07:00
Max Moiseev
68cdba2df2 Use registerBenchmark for all benchmarks 2017-10-03 10:07:14 -07:00
Max Moiseev
528b3a0f3a [benchmark] Remove precommit/registered flags, add skipTags
The idea being, we need to decide what benchmarks to run solely based on
tags.

`--tag` allows to list all tags that are required;
`--skip-tags` allows to skip benchmarks that have any of those tags.

By default, skip-tags list contains .unstable and .String, which results
in the same subset of benchmarks as before.
2017-10-03 09:37:56 -07:00