Commit Graph

492 Commits

Author SHA1 Message Date
Pavol Vaskovic
739c3b70a8 Add same test variants for DropLast and Prefix as exist on Suffix 2017-04-11 01:22:43 +02:00
Pavol Vaskovic
4f3753a749 Add support for GYB in benchmarks 2017-04-08 09:13:18 +02:00
Pavol Vaskovic
76327e097d Adressed formatting nits 2017-04-05 09:44:57 +02:00
Pavol Vaskovic
096f028e89 Lazily compute error message only when the condition fails 2017-03-30 11:09:34 +02:00
Arnold Schwaighofer
3c83ea6761 Fix benchmark for generate script 2017-03-29 05:35:48 -07:00
Arnold Schwaighofer
f5cf0aa5d6 Add existential performance benchmarks 2017-03-27 11:32:47 -07:00
swift-ci
b156cbb0f7 Merge pull request #7420 from therealbnut/therealbnut-droplast-suffix-benchmarks 2017-03-14 14:34:53 -07:00
Nate Cook
27b3de06f8 [benchmark] Add test for lazy filter -> array 2017-03-14 11:08:25 -05:00
therealbnut
a4f510f266 Merge remote-tracking branch 'origin/master' into therealbnut-droplast-suffix-benchmarks 2017-03-11 18:13:38 +11:00
Ben Cohen
f02f31c2df Add more string benchmarks 2017-03-10 17:20:04 -08:00
Mikio Takeuchi
593155f78b Make benchmarks compile and run on Linux 2017-03-06 17:13:47 +09:00
Andrew Bennett
34d7a4b5bc Merge branch 'master' into therealbnut-droplast-suffix-benchmarks 2017-03-05 11:57:44 +11:00
Nate Cook
252af7d9c9 Merge pull request #7617 from natecook1000/nc-hash-quadtest
Add benchmark for quadratic hash performance
2017-03-01 08:11:03 +09:00
therealbnut
c6dc0b0625 Add Array benchmarks 2017-02-25 13:08:39 +11:00
Hugh Bellamy
4f23d61da0 Import print_function wherever we use print() in python code 2017-02-20 11:11:27 +07:00
Nate Cook
c53e8d6750 Add quadratic hash performance benchmark 2017-02-19 12:32:33 -06:00
therealbnut
4a55f70832 Benchmarks for dropLast and suffix 2017-02-13 21:50:09 +11:00
Ben Cohen
95988dd29d Add benchmarks for appending UTF8 String views to an array 2017-02-06 14:14:49 -08:00
Ben Cohen
0d39d07efe add more benchmarks of map/reduce 2017-01-27 17:58:55 -08:00
Tony Allevato
9c07eb6534 Add benchmarks for initializing Characters from literals. 2017-01-17 21:35:37 -08:00
Ben Ng
3e718d3a26 Add benchmarks for += in ArrayAppend 2017-01-11 22:11:31 -05:00
practicalswift
30a88d38e6 [gardening] Fix recently introduced typos 2017-01-06 21:16:02 +01:00
practicalswift
6d1ae2a39c [gardening] 2016 → 2017 2017-01-06 16:41:22 +01:00
Nate Cook
e56bf42acb Update generate_harness.py templates
These templates had gotten slightly out of date through
manual edits. These changes make it so that running
generate_harness.py actually generates the desired files.

Changes to the non-template files are a result of the script's
alphabetization.
2017-01-04 22:26:02 -06:00
Roman Levenstein
ad0948a110 Merge pull request #6512 from djwbrown/djwbrown-reversed-benchmarks-only
[benchmark][prespecialize] Add benchmarks only for reversed iteration.
2017-01-04 19:38:19 -08:00
Dylan Brown
4355443f90 [benchmark][prespecialize] Add benchmarks only for reversed iteration.
Added ReversedCollections.swift to benchmark/single-source for
benchmarking of iterations through reversed collection types.
2016-12-30 20:26:54 +02:00
Nate Cook
95730e8726 [benchmark] Add test for sorting an already sorted array 2016-12-24 01:17:51 -06:00
ben-cohen
18487b4e71 new tests to benchmark main.swift 2016-12-18 19:31:30 -08:00
practicalswift
797b80765f [gardening] Use the correct base URL (https://swift.org) in references to the Swift website
Remove all references to the old non-TLS enabled base URL (http://swift.org)
2016-11-20 17:36:03 +01:00
Karoly Lorentey
d751b83054 [benchmark][SR-3106] Add benchmarks implementing Observers four different ways
These benchmarks highlight optimization opportunities in the implementation
of partially applied methods and escaping closures.

  # TEST                      SAMPLES MIN(μs) MAX(μs) MEAN(μs) SD(μs) MEDIAN(μs) MAX_RSS(B)
 97 ObserverClosure                10    2547    2752     2599      0       2599  308317798
 98 ObserverForwarderStruct        10    1345    1972     1480      0       1480  614535987
 99 ObserverPartiallyAppliedMethod 10    3953    4194     4049      0       4049  267670733
100 ObserverUnappliedMethod        10    2990    3482     3093      0       3093  338796544
2016-11-01 22:27:08 +01:00
Ben Cohen
edbc41dc54 expanding append(contentsOf:) benchmarks 2016-10-28 09:47:50 -07:00
Ben Cohen
79f1880ca5 Add simple benchmark for append(contentsOf:) 2016-10-24 17:05:00 -07:00
Michael Gottesman
6c97be8eb6 [benchmark] Sort tests so that after generate_harness.py is rerun we do not get a diff due to sorting differences. 2016-09-23 19:12:00 -07:00
practicalswift
fa7fbdb8b0 [gardening] Remove redundant nil-initialization of optional variable
From the Swift documentation:

"If you define an optional variable without providing a default value,
 the variable is automatically set to nil for you."
2016-09-18 07:40:07 +02:00
Doug Gregor
8219d4f42b Merge pull request #3853 from milseman/noescape_by_default
SE-0103 Noescape by default
2016-07-29 15:27:52 -07:00
Michael Ilseman
25ac879aea [noescape by default] Fix benchmarks and incorporate feedback
Adds @escaping to internal benchmark code to fix it. References SR for
known limitation. Use stdlib coding style for arguments.
2016-07-29 13:49:08 -07:00
Kevin Ballard
01c0a7f44a Rename the Data benchmark file to IterateData
This matches the actual name of the benchmark.
2016-07-29 13:10:39 -07:00
Kevin Ballard
49b50bc5ba Add benchmark for iterating Data 2016-07-28 18:44:20 -07:00
Ted Kremenek
4a872ed636 Revert "Implement a custom Data.Iterator" (#3848) 2016-07-28 18:33:31 -07:00
Kevin Ballard
742f2b4cdd Add benchmark for iterating Data 2016-07-28 11:29:17 -07:00
Dmitri Gribenko
a0670a2a87 benchmarks: add a benchmark for AnyHashable initialization 2016-07-27 01:14:01 -07:00
Andrew Trick
a18d490d6a Migrate from UnsafePointer<Void> to UnsafeRawPointer. (#3773)
* Migrate from `UnsafePointer<Void>` to `UnsafeRawPointer`.

As proposed in SE-0107: UnsafeRawPointer.

`void*` imports as `UnsafeMutableRawPointer`.
`const void*` imports as `UnsafeRawPointer`.

Occurrences of `UnsafePointer<Void>` are replaced with UnsafeRawPointer.

* Migrate overlays from UnsafePointer<Void> to UnsafeRawPointer.

This requires explicit memory binding in several places,
particularly in NSData and CoreAudio.

* Fix a bunch of test cases for Void->Raw migration.

* qsort takes IUO values

* Bridge `Unsafe[Mutable]RawPointer as `void [const] *`.

* Parse #dsohandle as UnsafeMutableRawPointer

* Update a bunch of test cases for Void->Raw migration.

* Trivial fix for the SceneKit test case.

* Add an UnsafeRawPointer self initializer.

This is unfortunately necessary for assignment between types imported from C.

* Tiny simplification of the initializer.
2016-07-26 14:21:15 -07:00
Andrew Trick
0ed9ee8dee Revert "Migrate from UnsafePointer<Void> to UnsafeRawPointer. (#3724)"
This reverts commit ece0951924.

This results in lldb failues on linux that I can't readily debug.
Backing out until they can be resolved.
2016-07-26 02:50:57 -07:00
Andrew Trick
ece0951924 Migrate from UnsafePointer<Void> to UnsafeRawPointer. (#3724)
* Migrate from `UnsafePointer<Void>` to `UnsafeRawPointer`.

As proposed in SE-0107: UnsafeRawPointer.

`void*` imports as `UnsafeMutableRawPointer`.
`const void*` imports as `UnsafeRawPointer`.

Occurrences of `UnsafePointer<Void>` are replaced with UnsafeRawPointer.

* Migrate overlays from UnsafePointer<Void> to UnsafeRawPointer.

This requires explicit memory binding in several places,
particularly in NSData and CoreAudio.

* Fix a bunch of test cases for Void->Raw migration.

* qsort takes IUO values

* Bridge `Unsafe[Mutable]RawPointer as `void [const] *`.

* Parse #dsohandle as UnsafeMutableRawPointer

* Update a bunch of test cases for Void->Raw migration.

* Trivial fix for the SceneKit test case.

* Add an UnsafeRawPointer self initializer.

This is unfortunately necessary for assignment between types imported from C.

* Tiny simplification of the initializer.
2016-07-26 02:18:21 -07:00
Tony Parker
f65c1390cb Rename Process to CommandLine
Rename Process to CommandLine [SE-0086].
2016-07-18 17:02:02 -07:00
practicalswift
808b539f10 [gardening] Minor syntax cleanups. 2016-07-09 13:27:57 +02:00
Mishal Shah
87b7bcfd3e Update master to build with Xcode 8 beta 1, OS X 10.12, iOS 10, tvOS 10, and watchOS 3 SDKs. 2016-06-14 14:53:55 -07:00
Chris Willmore
af0c7bd620 Initial implementation of SE-0054 "Abolish IUO Type" (#2322)
This is a squash of the following commits:

* [SE-0054] Import function pointer arg, return types, typedefs as optional

IUOs are only allowed on function decl arguments and return types, so
don't import typedefs or function pointer args or return types as IUO.

* [SE-0054] Only allow IUOs in function arg and result type.

When validating a TypeRepr, raise a diagnostic if an IUO is found
anywhere other thn the top level or as a function parameter or return
tpye.

* [SE-0054] Disable inference of IUOs by default

When considering a constraint of the form '$T1 is convertible to T!',
generate potential bindings 'T' and 'T?' for $T1, but not 'T!'. This
prevents variables without explicit type information from ending up with
IUO type. It also prevents implicit instantiation of functions and types
with IUO type arguments.

* [SE-0054] Remove the -disable-infer-iuos flag.

* Add nonnull annotations to ObjectiveCTests.h in benchmark suite.
2016-05-03 14:06:19 -07:00
Arnold Schwaighofer
aa34aceaee Add a benchmark to test comparing equal strings 2016-04-20 09:15:41 -07:00
Arnold Schwaighofer
5122bfb711 Add a unicode version of the SortStrings benchmark 2016-04-19 14:16:27 -07:00