Commit Graph

109 Commits

Author SHA1 Message Date
Arnold Schwaighofer 9078011f93 [benchmark] Add autoreleasepool to objc bridging tests
We might be returning unowned objects as autorelease'd results.

I consciously do this in the test rather than in the driver because this makes
it easier to run the test in isolation.
2016-03-18 13:07:45 -07:00
Arnold Schwaighofer 4492e589e5 [benchmarks] ARC is not the default like I assumed
We are hence leaking ...
2016-03-18 12:01:49 -07: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
practicalswift 9d9488078e [gardening] Fix recently introduced comparisons to true: if (x == true) { … } 2016-03-16 23:51:42 +01:00
Arnold Schwaighofer c9ef32c4d0 Move the objective-c bridging tests into the unit-tests folder 2016-03-16 15:44:28 -07:00
practicalswift ff70c7016f [gardening] Fix formatting of recently introduced header 2016-03-16 23:26:29 +01: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
practicalswift 9c8a01c214 [Python] Remove unused methods get_{data,output,status}() 2016-03-12 20:21:16 +01:00
practicalswift 8bf6df8539 Merge pull request #1615 from practicalswift/remove-global-ignores-add-local-noqa
[Python] Replace global linting excludes with local line-level excludes ("noqa")
2016-03-11 14:42:15 +01:00
Mishal Shah f89c70135b Merge pull request #1624 from shahmishal/master
[Perf script] Fix output format for compare script
2016-03-10 11:56:55 -08:00
Mishal Shah fcbea8bd90 [Perf script] Fix output format for compare script 2016-03-10 11:54:27 -08:00
practicalswift d5326bfdc4 [Python] Replace global linting excludes with local line-level excludes ("noqa")
Replace the project global linting rule excludes (as defined in .pep8) with
fine-grained "# noqa" annotations.

By using noqa annotation the excludes are made on a per line basis instead of
globally.

These annotations are used where we make deliberate deviations from the standard
linting rules.

To lint the Python code in the project:

  $ flake8

To install flake8:

  $ pip install flake8

See https://flake8.readthedocs.org/en/latest/ for details.

To enable checking of the PEP-8 naming conventions, install the optional
extension pep8-naming:

  $ pip install pep8-naming

To enable checking of blind "except:" statements, install the optional
extension flake8-blind-except:

  $ pip install flake8-blind-except

To enable checking of import statement order, install the optional
extension flake8-import-order:

  $ pip install flake8-import-order
2016-03-10 16:22:48 +01:00
practicalswift a1156e1854 [Python] Fix recently introduced linting (flake8) regression. 2016-03-10 13:51:17 +01:00
practicalswift 42b7e3f8d6 Merge pull request #1598 from practicalswift/fix-80-column-violations-in-python-code
[Python] Fix 80 column violations
2016-03-10 10:35:25 +01:00
Max Moiseev 02006f20bc Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-03-09 16:05:03 -08:00
practicalswift 0796eaad1f [Python] Fix 80-column violations 2016-03-09 23:52:11 +01:00
Mishal Shah 046f0636b2 Fix compare_perf_tests.py to support python 3 2016-03-09 14:02:16 -08:00
Michael Gottesman 9c998d7ce8 [leaks-runner] Get more accurate results by subtracting two differing iteration counts.
Previously, we had some white listing lists for allocations that were assigned
into globals during a benchmarks running. Now we instead run two different
iterations with the second running an additional time. Then we subtract the
counts.

This enables me to get rid of the whitelist.
2016-03-09 12:56:15 -08:00
Michael Gottesman ccc8791581 [leaks-checker] Add support for filtering tests and changing the number of samples/iters run. This will make it easy to bisect using the Benchmark_LeaksRunner script. 2016-03-09 10:28:00 -08:00
Arnold Schwaighofer e9ac8c876a Add a performance unit test for stack promotion 2016-03-09 07:30:00 -08:00
Michael Gottesman e232456bf0 [leaks-runner] Print out the RC delta with the results. 2016-03-09 00:37:14 -08:00
practicalswift 30b66ea036 Merge pull request #1584 from practicalswift/python-3-compatible-print
[Python] Use Py3k compatible print operator: print "foo" → print("foo")
2016-03-09 08:00:49 +01:00
Michael Gottesman 0645b30caf Fix deadlock in leaks runner script. 2016-03-08 22:18:36 -08:00
Brian Gesiak c9000af795 Merge pull request #1526 from practicalswift/fix-pep8-violations-ii
[Python] Fix five classes of PEP-8 violations (E101/E111/E128/E302/W191)
2016-03-08 23:55:46 -05:00
practicalswift 0fd0c48648 [Python] Use Py3k compatible print operator: print "foo" → print("foo") 2016-03-08 23:10:52 +01:00
Max Moiseev 1fae0d1325 Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-03-08 12:48:48 -08:00
practicalswift e2de5c2202 [Python] Fix blind except: statements
Make sure all Python code in the repo specifies which exceptions to
catch when using `except:`.

Regressions can be catched using `flake8-blind-except` going forward.
2016-03-08 11:08:28 +01: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
practicalswift 183da818df [Python] Fix five classes of PEP-8 violations (E101/E111/E128/E302/W191)
* E101: indentation contains mixed spaces and tabs
* E111: indentation is not a multiple of four
* E128: continuation line under-indented for visual indent
* E302: expected 2 blank lines, found 1
* W191: indentation contains tabs
2016-03-07 22:36:23 +01:00
Max Moiseev 7fe6916bf6 Merge remote-tracking branch 'origin/master' into swift-3-api-guidelines 2016-03-07 12:10:47 -08:00
practicalswift 5b2800225d [gardening] Fix recently introduced typos
Fixed:
* perfomance → performance
* requirments → requirements
* satisified → satisfied
* template template → template
2016-03-04 11:10:50 +01:00
Chris Lattner d197cc5022 Merge pull request #1531 from practicalswift/fix-headers
[gardening] Fix recently introduced file headers. Also: "–" → "--".
2016-03-03 16:18:10 -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
Michael Gottesman af9d4342eb Merge pull request #1529 from gottesmm/sanity-check-perftest-statistics
[perftests] Add some sanity asserts to the low level perf test suite …
2016-03-03 15:49:01 -08:00
practicalswift b9dd782e4b [gardening] Fix recently introduced file header. Also: "–" → "--". 2016-03-03 23:10:43 +01:00
Karoly Lorentey d921b4e1bc [benchmark][SR-871] Convert duration strings to integers before calculating min/max
Benchmark_Driver used string comparison to calculate the minimum and maximum
of durations in benchmark results, sometimes leading to wildly inaccurate reports.
2016-03-03 22:34:54 +01: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 3d58bc0d82 Adjust UTF8Decode benchmark to run in <1s
Under Debug -Onone
2016-03-03 18:17:09 +11:00
lplarson e05fc61533 Merge pull request #1493 from PatrickPijnappel/utf8-benchmark
Add benchmark for UTF-8 decoding
2016-03-02 14:44:12 -08:00
lplarson d37ddcf8bd Merge pull request #1514 from PatrickPijnappel/patch-1
Clarify usage of N in benchmark README
2016-03-02 14:41:48 -08:00
Patrick Pijnappel 4754285879 Clarify usage of N in benchmark README 2016-03-03 08:55:21 +11:00