Commit Graph

45 Commits

Author SHA1 Message Date
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
Arnold Schwaighofer
2520703f58 Add String.hasPrefix/hasSuffix benchmark 2016-04-19 08:15:23 -07:00
practicalswift
dc6c2aeef6 [gardening] "Type->Type" → "Type -> Type" in Swift code 2016-04-13 23:03:55 +02:00
Dave Abrahams
1c3d998951 Revert "[gardening] "Type->Type" → "Type -> Type" in Swift code"
This reverts commit 14edeaf67a because
it's breaking tests:
https://ci.swift.org/job/oss-swift-incremental-RA-osx/lastFailedBuild/consoleFull#1361088108ee1a197b-acac-4b17-83cf-a53b95139a76
2016-04-13 10:29:57 -07:00
practicalswift
14edeaf67a [gardening] "Type->Type" → "Type -> Type" in Swift code 2016-04-13 10:51:53 +02:00
Chris Willmore
a4484ffa09 Fix use of String.componentsSeparated(by:) in benchmark. 2016-04-07 23:39:23 -07:00
Manav Gabhawala
7928140f79 [SE-0046] Implements consistent function parameter labels by discarding extraneous parameter names and adding _ where necessary 2016-04-06 20:21:58 -04:00
Arnold Schwaighofer
1d2643b93f Support performance testing with automatic bridging disabled. 2016-03-29 15:14:36 -07:00
practicalswift
a942bb76d0 [gardening] Fix formatting of recently introduced headers. 2016-03-19 00:37:37 +01:00
Arnold Schwaighofer
50c048d7e9 Add ObjectiveC bridging stub test support
This allows for testing the autogenerated bridging stub code.
2016-03-17 13:42:36 -07:00
Arnold Schwaighofer
5ea595a5d4 Add Objective-C bridging tests for NSString, NSArray, NSDictionary, NSSet
The tests test conditional and forced bridging from objective-c and bridging to
objective-c.
2016-03-16 15:16:45 -07:00
practicalswift
1edb62dc38 [Python] Make flake8 linting pass without errors/warning (w/ default rules) 2016-03-13 20:19:51 +01:00
Arnold Schwaighofer
ee3e7a58b3 [benchmark] Add versions of the set tests with class element types 2016-03-13 08:58:59 -07:00
Arnold Schwaighofer
191b3c87a1 [benchmark] Add RGBHistogramOfObjects
Another dictionary benchmark with objects as key and value types.
2016-03-13 08:45:30 -07:00
Arnold Schwaighofer
548ba33e1d [benchmark] Add DictionarySwapOfObjects
Another dictionary benchmark with objects as key and value types.
2016-03-13 08:28:58 -07:00
Arnold Schwaighofer
4e43f745cd [benchmark] Add DictionaryRemoveOfObjects
Another dictionary benchmark with objects as key and value types.
2016-03-13 08:23:36 -07:00
Arnold Schwaighofer
f6a1926c8c [benchmark] Add Dictionary3OfObjects
Another dictionary benchmark with objects as key and value types.
2016-03-13 08:13:06 -07:00
Arnold Schwaighofer
577b0f2230 [benchmark] Add Dictionary2OfObjects
Another dictionary benchmark with objects as key and value types.
2016-03-13 08:03:41 -07:00
Arnold Schwaighofer
d021e8d5c9 [benchmark] Add DictionaryOfObjects benchmark
This tests performance of dictionary when both key and value are objects.

(We have fast paths otherwise because we know that the dictionary cannot be
backed by an objective c dictionary)
2016-03-13 08:03:11 -07:00
Max Moiseev
02006f20bc Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-03-09 16:05:03 -08:00
Arnold Schwaighofer
e9ac8c876a Add a performance unit test for stack promotion 2016-03-09 07:30:00 -08:00
Max Moiseev
1fae0d1325 Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-03-08 12:48:48 -08:00
practicalswift
265835fdfc [Python] Use consistent import ordering for Python code
Ordering used:
1.) standard library imports
2.) third party imports
3.) local package imports

Each group is individually alphabetized.
2016-03-07 23:25:16 +01:00
Max Moiseev
7fe6916bf6 Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-03-07 12:10:47 -08:00
Michael Gottesman
47888558be [perftests] Fix thinko due to my brains failure to remember to push a new version of this commit. 2016-03-03 15:51:03 -08:00
Max Moiseev
cf4bafe9e3 Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-03-03 13:22:03 -08:00
Michael Gottesman
afece1c8c2 [perftests] Add some sanity asserts to the low level perf test suite driver results.
This just consists of ensuring that:

1. min <= max.
2. min <= mean.
3. min <= median.
4. max >= mean.
5. max >= median.
2016-03-03 13:11:33 -08:00
Patrick Pijnappel
6a5fc126e2 Add benchmark for UTF-8 decoding 2016-03-01 16:52:55 +11:00
Dmitri Gribenko
24218e08c3 Fix build failure after String API changes 2016-02-24 14:09:04 -08:00
Dmitri Gribenko
e81f99d7ea stdlib: Sequence.startsWith() => .starts(with:) 2016-02-23 18:12:09 -08:00
Dmitri Gribenko
3d3d4540e1 Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-02-20 14:37:49 -08:00
Dmitri Gribenko
51ce68ce0f Fix benchmarks after Optional.None => .none rename 2016-02-20 00:55:35 -08:00
Nadav Rotem
5df42b7f91 Track the performance of calls to protocol methods.
rdar://22704464.
2016-02-19 16:48:29 -08:00
Dmitri Gribenko
dd75aed67a Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-02-17 14:40:05 -08:00
Max Moiseev
3a3984877a Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-02-15 15:43:34 -08:00
David Grove
8fa5378cbe Add sequential variant of Integrate benchmark
A simple recursive divide and conquer algorithm
whose parallel variant is often used to assess
scheduling overheads in dynamic task-based runtimes.
2016-02-12 17:32:27 -05:00
lplarson
15d94d1595 Merge pull request #1234 from practicalswift/benchmark-pep8-fixes
[Python] Bring new code in line with subset of PEP 8 used in project
2016-02-09 18:49:19 -08:00
Nadav Rotem
732f38447b [Benchmark] Add a new test to the test suite. 2016-02-09 16:36:59 -08:00
Luke Larson
2c62011276 [benchmark] Don't hard code directory structure 2016-02-09 15:21:05 -08:00
Nadav Rotem
115274fe42 [Benchmark] Add a test that checks the performance of protocol conformance. 2016-02-09 11:35:29 -08:00
practicalswift
e678f7a141 [gardening] Fix recently introduced typos 2016-02-09 14:18:10 +01:00
practicalswift
a7cbdb4ea5 Bring new Python code in line with subset of PEP 8 used in project. 2016-02-08 20:42:19 +01:00
Luke Larson
0356ec8ec3 Add Swift Benchmark Suite 2016-02-08 10:47:58 -08:00