Skip to content

Conversation

@palimondo
Copy link
Contributor

@palimondo palimondo commented Apr 24, 2017

Resolves SR-4598.

Broken out of #8793.

@gottesmm Please review

@gottesmm
Copy link
Contributor

Looking at this one now.

@gottesmm
Copy link
Contributor

@palimondo at some point, we should really add unit tests for the driver. But we can do that later. It would give more confidence around these sorts of changes.

Copy link
Contributor

@gottesmm gottesmm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you make these changes and send back to me for a quick look over?

parent_parser = argparse.ArgumentParser(add_help=False)
benchmarks_group = parent_parser.add_mutually_exclusive_group()
benchmarks_group.add_argument(
'benchmark',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since this is a list, can you change the destination to benchmarks? IIRC the argument is "dest".

So the user will still:

--benchmark foo --benchmark bar

But programmatically we will see:

args.benchmarks

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Benchmarks are positional arguments - just a list of names at the end of the line:

mondo$ $BUILD/bin/Benchmark_Driver run -o O MonteCarloE AngryPhonebook
1,AngryPhonebook,1,13177,13177,13177,0,13177,11046912
124,MonteCarloE,1,50568,50568,50568,0,50568,18423808

Totals,2,63745,63745,63745,0,63745,29470720

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I misunderstood. You just wanted to rename the internal argument name. I was talking about the fact that this argument has no user facing part.

return filter(lambda name: name.startswith(args.filter), tests)
if not args.benchmark:
return tests
return sorted(list(set(tests).intersection(set(args.benchmark))))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will silently fail if someone passes in a non-matching benchmark. We should either emit a warning or fail in such a case.

Copy link
Contributor Author

@palimondo palimondo Apr 24, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn't fail silently. It executes no tests:

$ $BUILD/bin/Benchmark_Driver run -o O --iterations 2 Malarky
  # TEST                      SAMPLES MIN(μs) MAX(μs) MEAN(μs) SD(μs) MEDIAN(μs) MAX_RSS(B)
$ $BUILD/bin/Benchmark_Driver run -o O --iterations 2 MonteCarloE Malarky
  # TEST                      SAMPLES MIN(μs) MAX(μs) MEAN(μs) SD(μs) MEDIAN(μs) MAX_RSS(B)
124 MonteCarloE                     2   36580   37602    37091    722      37602   24047616
    Totals                          1   36580   37602    37091    722      37602   24047616
Logging results to: /Users/mondo/Desktop/logs-test/refactor-compare-perf/Benchmark_O-20170425012616-f3b33f06d4.log

help='optimization levels to use (default: O Onone Ounchecked)',
default=['O', 'Onone', 'Ounchecked'])
submit_parser.add_argument(
'-i', '--iterations',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am going to ignore this for now, but we should really change this argument to --samples. In terms of the lower level benchmark driver, iterations is proportional to the length of a sample. This is really changing the number of individual samples that we are running.

@palimondo
Copy link
Contributor Author

I think I answered your remarks. Is there any other change you want me to make?

@palimondo
Copy link
Contributor Author

palimondo commented Apr 25, 2017

Here's the current usage help, to illustrate how the BENCHMARK parameters manifest:

$ $BUILD/bin/Benchmark_Driver
usage: Benchmark_Driver [-h] <command> ...
Benchmark_Driver: error: too few arguments
$ $BUILD/bin/Benchmark_Driver -h
usage: Benchmark_Driver [-h] <command> ...

optional arguments:
  -h, --help  show this help message and exit

Swift benchmark driver commands:
  <command>   See COMMAND -h for additional arguments
    submit    Run benchmarks and submit results to LNT
    run       Run benchmarks and output results to stdout
    compare   Compare benchmark results

Example: ./Benchmark_Driver run -i 5 -f Array
$ $BUILD/bin/Benchmark_Driver run -h
usage: Benchmark_Driver run [-h] [-f PREFIX] [-t TESTS] [-o OPT]
                            [-i ITERATIONS] [--output-dir OUTPUT_DIR]
                            [--swift-repo SWIFT_REPO]
                            [BENCHMARK [BENCHMARK ...]]

positional arguments:
  BENCHMARK             benchmark to run (default: all)

optional arguments:
  -h, --help            show this help message and exit
  -f PREFIX, --filter PREFIX
                        run all tests whose name starts with PREFIX
  -t TESTS, --tests TESTS
                        directory containing Benchmark_O{,none,unchecked}
                        (default: DRIVER_DIR)
  -o OPT, --optimization OPT
                        optimization level to use: {O,Onone,Ounchecked},
                        (default: O)
  -i ITERATIONS, --iterations ITERATIONS
                        number of times to run each test (default: 1)
  --output-dir OUTPUT_DIR
                        log results to directory (default: no logging)
  --swift-repo SWIFT_REPO
                        absolute path to Swift source repo for branch
                        comparison

Fixed pyton-lint warnings
@gottesmm
Copy link
Contributor

Lets get this in now. In a separate PR can you add a hard error if a selected benchmark is specified but is not available? The reason that I called such a thing a silent failure is because the user is specifically stating that they want to see a specific benchmark run. If the benchmark doesn't run, from an API perspective, we should fail early and quickly.

That being said, I am fine with doing this in a later commit.

@gottesmm
Copy link
Contributor

@swift-ci smoke benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (0)
Improvement (0)
No Changes (268)
TEST OLD_MIN NEW_MIN DELTA SPEEDUP
ObjectiveCBridgeStubNSDateMutationRef 12249 12911 +5.4% 0.95x
ObjectiveCBridgeFromNSSetAnyObjectToString 82672 86112 +4.2% 0.96x(?)
ObjectiveCBridgeToNSDictionary 59562 61232 +2.8% 0.97x
Array2D 2031 2078 +2.3% 0.98x(?)
ArrayAppendGenericStructs 1233 1261 +2.3% 0.98x
ObjectiveCBridgeStubToNSDateRef 3369 3439 +2.1% 0.98x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43455 44292 +1.9% 0.98x(?)
DictionaryBridge 2683 2731 +1.8% 0.98x(?)
SetExclusiveOr 2601 2637 +1.4% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 122803 124086 +1.0% 0.99x
ObjectiveCBridgeStubDataAppend 3694 3732 +1.0% 0.99x(?)
ErrorHandling 3055 3086 +1.0% 0.99x
ArrayPlusEqualFiveElementCollection 5285 5337 +1.0% 0.99x(?)
DictionaryLiteral 1494 1508 +0.9% 0.99x
ObjectiveCBridgeStubFromArrayOfNSString 28527 28778 +0.9% 0.99x(?)
PrefixAnyCollection 126 127 +0.8% 0.99x
DropWhileAnySeqCntRange 128 129 +0.8% 0.99x
ObserverPartiallyAppliedMethod 3824 3845 +0.6% 0.99x
StringBuilder 1401 1408 +0.5% 1.00x(?)
SetExclusiveOr_OfObjects 9450 9483 +0.3% 1.00x(?)
ObserverUnappliedMethod 2700 2708 +0.3% 1.00x(?)
XorLoop 347 348 +0.3% 1.00x
DictionarySwap 368 369 +0.3% 1.00x
PrefixWhileSequence 440 441 +0.2% 1.00x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37300 37387 +0.2% 1.00x(?)
DropLastSequence 516 517 +0.2% 1.00x(?)
DictionaryOfObjects 2695 2700 +0.2% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4945 4954 +0.2% 1.00x(?)
SuffixAnySequence 6734 6746 +0.2% 1.00x(?)
SortLettersInPlace 1165 1167 +0.2% 1.00x(?)
ArrayAppendFromGeneric 596 597 +0.2% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 72379 72500 +0.2% 1.00x(?)
Dictionary3 609 610 +0.2% 1.00x(?)
StringHasPrefix 608 609 +0.2% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 101215 101359 +0.1% 1.00x(?)
StringWithCString 335331 335780 +0.1% 1.00x
Prims 771 772 +0.1% 1.00x(?)
ObserverClosure 2303 2306 +0.1% 1.00x(?)
NSDictionaryCastToSwift 5509 5516 +0.1% 1.00x(?)
ArrayAppend 771 772 +0.1% 1.00x(?)
267 10004620 10014742 +0.1% 1.00x
NopDeinit 27432 27460 +0.1% 1.00x
CStringShortAscii 6046 6052 +0.1% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObject 64441 64497 +0.1% 1.00x(?)
PopFrontArrayGeneric 1065 1066 +0.1% 1.00x(?)
DictionarySwapOfObjects 6946 6951 +0.1% 1.00x(?)
StringMatch 20620 20635 +0.1% 1.00x(?)
SortStrings 1759 1760 +0.1% 1.00x(?)
DictionaryRemoveOfObjects 23319 23330 +0.1% 1.00x(?)
SuffixAnySequenceLazy 6529 6532 +0.1% 1.00x(?)
SortStringsUnicode 7971 7975 +0.1% 1.00x(?)
PrefixSequenceLazy 2599 2600 +0.0% 1.00x(?)
StringEdits 391509 391670 +0.0% 1.00x(?)
ProtocolDispatch 2727 2728 +0.0% 1.00x
DropFirstAnySeqCRangeIter 27464 27475 +0.0% 1.00x(?)
DropLastAnyCollectionLazy 14988 14994 +0.0% 1.00x(?)
DropFirstAnySeqCRangeIterLazy 27472 27484 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSStringForced 2333 2334 +0.0% 1.00x(?)
DropFirstSequenceLazy 3030 3031 +0.0% 1.00x
ArrayAppendLatin1 43732 43746 +0.0% 1.00x(?)
PopFrontUnsafePointer 8877 8880 +0.0% 1.00x(?)
Hanoi 3448 3449 +0.0% 1.00x(?)
LazilyFilteredArrays 71678 71700 +0.0% 1.00x(?)
SuffixAnyCollectionLazy 15060 15064 +0.0% 1.00x(?)
Dictionary2OfObjects 3617 3618 +0.0% 1.00x(?)
SuperChars 298483 298550 +0.0% 1.00x(?)
CaptureProp 4851 4852 +0.0% 1.00x(?)
CStringLongAscii 13586 13589 +0.0% 1.00x(?)
MapReduceClassShort 4607 4608 +0.0% 1.00x(?)
RGBHistogramOfObjects 24790 24795 +0.0% 1.00x(?)
DropFirstAnyCollectionLazy 45119 45128 +0.0% 1.00x(?)
CStringLongNonAscii 4095 4096 +0.0% 1.00x(?)
LazilyFilteredRange 6936 6937 +0.0% 1.00x(?)
StringHasSuffixUnicode 61271 61280 +0.0% 1.00x(?)
StringHasPrefixUnicode 14593 14594 +0.0% 1.00x(?)
LinkedList 7044 7045 +0.0% 1.00x(?)
DropFirstAnySequenceLazy 6768 6769 +0.0% 1.00x(?)
DropWhileSequenceLazy 76 76 +0.0% 1.00x
DropFirstCountableRangeLazy 23 23 +0.0% 1.00x
RecursiveOwnedParameter 2328 2328 +0.0% 1.00x
Integrate 262 262 +0.0% 1.00x
SuffixCountableRange 8 8 +0.0% 1.00x
Histogram 248 248 +0.0% 1.00x
SuffixAnyCollection 52 52 +0.0% 1.00x
DropLastAnySeqCRangeIterLazy 4606 4606 +0.0% 1.00x
PrefixWhileAnyCollection 160 160 +0.0% 1.00x
PrefixWhileCountableRangeLazy 23 23 +0.0% 1.00x
MonteCarloPi 44083 44085 +0.0% 1.00x(?)
PrefixAnyCollectionLazy 44878 44879 +0.0% 1.00x(?)
DropFirstCountableRange 23 23 +0.0% 1.00x
DropWhileAnySequenceLazy 2108 2108 +0.0% 1.00x
ArrayAppendToFromGeneric 597 597 +0.0% 1.00x
MapReduceString 72 72 +0.0% 1.00x
PopFrontArray 1066 1066 +0.0% 1.00x
ArrayOfGenericPOD 219 219 +0.0% 1.00x
PrefixWhileAnySeqCntRange 154 154 +0.0% 1.00x
DropFirstArray 29 29 +0.0% 1.00x
DropWhileAnyCollection 133 133 +0.0% 1.00x
PrefixCountableRangeLazy 23 23 +0.0% 1.00x
MapReduceLazyCollectionShort 44 44 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 116 116 +0.0% 1.00x
ByteSwap 0 0 +0.0% 1.00x
DropWhileAnyCollectionLazy 87 87 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 77 77 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 40 40 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 115 115 +0.0% 1.00x
PrefixArray 29 29 +0.0% 1.00x
ArrayPlusEqualSingleElementCollection 773 773 +0.0% 1.00x
ObjectiveCBridgeStubFromNSStringRef 174 174 +0.0% 1.00x
StaticArray 154 154 +0.0% 1.00x
ObjectAllocation 179 179 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
SortSortedStrings 889 889 +0.0% 1.00x
DropLastAnyCollection 52 52 +0.0% 1.00x
ProtocolDispatch2 168 168 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 21598 21598 +0.0% 1.00x
CharacterLiteralsLarge 10721 10721 +0.0% 1.00x
HashTest 1747 1747 +0.0% 1.00x
Dictionary2 2100 2100 +0.0% 1.00x
SuffixCountableRangeLazy 8 8 +0.0% 1.00x
ArrayPlusEqualArrayOfInt 597 597 +0.0% 1.00x
DropLastArray 10 10 +0.0% 1.00x
PrefixSequence 2563 2563 +0.0% 1.00x
PrefixCountableRange 23 23 +0.0% 1.00x
DropFirstSequence 3067 3067 +0.0% 1.00x
PrefixWhileAnySeqCRangeIterLazy 77 77 +0.0% 1.00x
ClassArrayGetter 13 13 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 110 110 +0.0% 1.00x
Calculator 46 46 +0.0% 1.00x
StrComplexWalk 988 988 +0.0% 1.00x
DropLastAnySeqCntRange 40 40 +0.0% 1.00x
MapReduceShort 1917 1917 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
IterateData 762 762 +0.0% 1.00x
OpenClose 54 54 +0.0% 1.00x
UTF8Decode 281 281 +0.0% 1.00x
MapReduceLazySequence 90 90 +0.0% 1.00x
SuffixAnySeqCntRange 40 40 +0.0% 1.00x
SetIsSubsetOf 290 290 +0.0% 1.00x
PrefixWhileArray 66 66 +0.0% 1.00x
SuffixArray 11 11 +0.0% 1.00x
PrefixWhileArrayLazy 58 58 +0.0% 1.00x
ArrayAppendSequence 996 996 +0.0% 1.00x
GlobalClass 0 0 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 87 87 +0.0% 1.00x
ArrayInClass 61 61 +0.0% 1.00x
ObjectiveCBridgeFromNSString 1406 1406 +0.0% 1.00x
DropWhileCountableRangeLazy 79 79 +0.0% 1.00x
Sim2DArray 276 276 +0.0% 1.00x
PrefixWhileAnySequenceLazy 1587 1587 +0.0% 1.00x
ArrayAppendRepeatCol 838 838 +0.0% 1.00x
MapReduceShortString 19 19 +0.0% 1.00x
DropWhileArrayLazy 80 80 +0.0% 1.00x
StringAdder 0 0 +0.0% 1.00x
DropFirstArrayLazy 29 29 +0.0% 1.00x
SuffixArrayLazy 10 10 +0.0% 1.00x
ArrayAppendToGeneric 597 597 +0.0% 1.00x
Walsh 349 349 +0.0% 1.00x
SetIsSubsetOf_OfObjects 355 355 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 40 40 +0.0% 1.00x
DropLastArrayLazy 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 8 8 +0.0% 1.00x
MapReduceLazyCollection 15 15 +0.0% 1.00x
ArrayAppendArrayOfInt 597 597 +0.0% 1.00x
ArrayOfPOD 166 166 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropFirstAnySeqCntRange 115 115 +0.0% 1.00x
SuffixSequenceLazy 4474 4474 +0.0% 1.00x
Chars 1386 1386 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 87 87 +0.0% 1.00x
ReversedArray 49 49 +0.0% 1.00x
PrefixWhileAnySequence 14118 14118 +0.0% 1.00x
DropWhileSequence 3124 3124 +0.0% 1.00x
PrefixWhileSequenceLazy 34 34 +0.0% 1.00x
ObjectiveCBridgeStubNSDateRefAccess 318 318 +0.0% 1.00x
DropFirstAnyCollection 130 130 +0.0% 1.00x
BitCount 0 0 +0.0% 1.00x
ArrayLiteral 1234 1234 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
DropLastCountableRange 8 8 +0.0% 1.00x
ArrayValueProp 6 6 +0.0% 1.00x
DropWhileArray 42 42 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 77 77 +0.0% 1.00x
RC4 156 156 +0.0% 1.00x
ArrayValueProp4 6 6 +0.0% 1.00x
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
PrefixArrayLazy 29 29 +0.0% 1.00x
ArrayValueProp2 6 6 +0.0% 1.00x
ArrayValueProp3 6 6 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12510 12509 -0.0% 1.00x(?)
PrefixAnySeqCRangeIter 21601 21599 -0.0% 1.00x(?)
Phonebook 7465 7464 -0.0% 1.00x(?)
ArrayAppendAscii 20830 20828 -0.0% 1.00x(?)
ReversedBidirectional 48356 48344 -0.0% 1.00x(?)
HashQuadratic 6361292 6360144 -0.0% 1.00x(?)
PrefixAnySequenceLazy 6311 6310 -0.0% 1.00x(?)
StrToInt 4887 4886 -0.0% 1.00x(?)
StringWalk 6047 6046 -0.0% 1.00x
StackPromo 22067 22061 -0.0% 1.00x(?)
PrefixAnySequence 6074 6072 -0.0% 1.00x(?)
DictionaryRemove 3230 3229 -0.0% 1.00x
DropWhileAnySequence 7605 7603 -0.0% 1.00x(?)
SuffixAnySeqCRangeIter 4928 4926 -0.0% 1.00x(?)
RGBHistogram 2476 2475 -0.0% 1.00x(?)
SuffixSequence 4471 4469 -0.0% 1.00x(?)
DropFirstAnySequence 6763 6760 -0.0% 1.00x(?)
SuffixAnySeqCRangeIterLazy 4929 4927 -0.0% 1.00x(?)
DropLastAnySequenceLazy 6539 6536 -0.1% 1.00x(?)
SetIntersect_OfObjects 1732 1731 -0.1% 1.00x(?)
ArrayAppendUTF16 39878 39855 -0.1% 1.00x(?)
ObjectiveCBridgeStubToNSString 1513 1512 -0.1% 1.00x(?)
MapReduceClass 2974 2972 -0.1% 1.00x(?)
ArrayOfRef 3911 3908 -0.1% 1.00x(?)
ObjectiveCBridgeStubFromNSDate 3767 3764 -0.1% 1.00x
DropWhileAnySeqCRangeIter 22232 22213 -0.1% 1.00x(?)
AnyHashableWithAClass 67556 67484 -0.1% 1.00x
MonteCarloE 10438 10426 -0.1% 1.00x
ObjectiveCBridgeToNSArray 29096 29060 -0.1% 1.00x(?)
Dictionary 860 859 -0.1% 1.00x(?)
ArrayOfGenericRef 4033 4028 -0.1% 1.00x(?)
ArraySubscript 1501 1499 -0.1% 1.00x(?)
CharacterLiteralsSmall 779 778 -0.1% 1.00x
SetUnion_OfObjects 8038 8027 -0.1% 1.00x(?)
MapReduceAnyCollectionShort 2000 1997 -0.1% 1.00x(?)
DropLastAnySeqCRangeIter 4607 4599 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObject 23168 23128 -0.2% 1.00x(?)
Dictionary3OfObjects 1090 1088 -0.2% 1.00x(?)
ArrayAppendLazyMap 1004 1002 -0.2% 1.00x(?)
TwoSum 872 870 -0.2% 1.00x(?)
ArrayAppendStrings 13578 13546 -0.2% 1.00x(?)
StringInterpolation 8600 8575 -0.3% 1.00x(?)
StringBuilderLong 950 947 -0.3% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4510 4495 -0.3% 1.00x(?)
MapReduceAnyCollection 304 303 -0.3% 1.00x(?)
NSError 292 291 -0.3% 1.00x(?)
SetIntersect 274 273 -0.4% 1.00x(?)
ArrayAppendReserved 534 532 -0.4% 1.00x
DropLastSequenceLazy 520 518 -0.4% 1.00x(?)
NSStringConversion 769 766 -0.4% 1.00x
ObjectiveCBridgeStubNSDataAppend 2305 2296 -0.4% 1.00x(?)
DropLastAnySequence 6752 6725 -0.4% 1.00x(?)
ObjectiveCBridgeStubFromNSDateRef 3555 3540 -0.4% 1.00x
Memset 235 234 -0.4% 1.00x
Join 454 452 -0.4% 1.00x
ObjectiveCBridgeStubFromNSString 956 951 -0.5% 1.01x
ObjectiveCBridgeFromNSSetAnyObjectForced 4206 4182 -0.6% 1.01x(?)
MapReduce 331 329 -0.6% 1.01x(?)
ObserverForwarderStruct 1136 1129 -0.6% 1.01x(?)
ObjectiveCBridgeToNSSet 37351 37100 -0.7% 1.01x(?)
SevenBoom 1495 1485 -0.7% 1.01x(?)
ArrayAppendOptionals 1236 1227 -0.7% 1.01x(?)
MapReduceSequence 469 465 -0.8% 1.01x(?)
PrefixAnySeqCntRange 117 116 -0.8% 1.01x(?)
ObjectiveCBridgeStubToArrayOfNSString 28544 28283 -0.9% 1.01x(?)
ObjectiveCBridgeToNSString 1277 1265 -0.9% 1.01x
RangeAssignment 313 310 -1.0% 1.01x(?)
StringHasSuffix 700 693 -1.0% 1.01x(?)
ObjectiveCBridgeStubToNSDate 14867 14717 -1.0% 1.01x(?)
StringUTF16Builder 2252 2225 -1.2% 1.01x
StringEqualPointerComparison 7369 7278 -1.2% 1.01x(?)
AngryPhonebook 2950 2913 -1.2% 1.01x(?)
ObjectiveCBridgeStubURLAppendPath 220243 217333 -1.3% 1.01x(?)
DeadArray 185 182 -1.6% 1.02x(?)
ReversedDictionary 110 108 -1.8% 1.02x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 104861 102469 -2.3% 1.02x(?)
SetUnion 2552 2492 -2.4% 1.02x(?)
ObjectiveCBridgeStubURLAppendPathRef 224245 217124 -3.2% 1.03x(?)
PolymorphicCalls 22 21 -4.5% 1.05x
**Unoptimized (Onone)**
Regression (1)
TEST OLD_MIN NEW_MIN DELTA SPEEDUP
CStringLongNonAscii 4099 4363 +6.4% 0.94x(?)
Improvement (1)
TEST OLD_MIN NEW_MIN DELTA SPEEDUP
ObjectiveCBridgeStubDataAppend 4054 3822 -5.7% 1.06x(?)
No Changes (266)
TEST OLD_MIN NEW_MIN DELTA SPEEDUP
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7482 7794 +4.2% 0.96x(?)
ObjectiveCBridgeStubNSDateMutationRef 15283 15802 +3.4% 0.97x
ObjectiveCBridgeFromNSSetAnyObjectToString 86128 88644 +2.9% 0.97x(?)
StringUTF16Builder 3744 3843 +2.6% 0.97x(?)
ReversedBidirectional 141705 145382 +2.6% 0.97x(?)
StringHasSuffix 1697 1738 +2.4% 0.98x(?)
SuffixSequence 26456 27021 +2.1% 0.98x(?)
SuffixAnyCollectionLazy 45655 46451 +1.7% 0.98x(?)
ArrayValueProp 3054 3097 +1.4% 0.99x(?)
Dictionary3OfObjects 2337 2369 +1.4% 0.99x(?)
ObjectiveCBridgeStubToNSDate 15745 15950 +1.3% 0.99x(?)
DeadArray 119709 121226 +1.3% 0.99x(?)
TypeFlood 171 173 +1.2% 0.99x(?)
DropWhileAnySequence 16339 16525 +1.1% 0.99x
SuffixAnySeqCRangeIterLazy 40994 41460 +1.1% 0.99x
ObjectiveCBridgeFromNSArrayAnyObject 24983 25244 +1.0% 0.99x(?)
PrefixWhileAnySeqCRangeIter 40597 40954 +0.9% 0.99x(?)
Dictionary2 3813 3844 +0.8% 0.99x(?)
PrefixAnyCollectionLazy 137214 138285 +0.8% 0.99x(?)
ObjectiveCBridgeStubToNSStringRef 148 149 +0.7% 0.99x
DictionaryBridge 2683 2701 +0.7% 0.99x(?)
SuffixAnySeqCRangeIter 41162 41407 +0.6% 0.99x(?)
ArrayAppendStrings 13709 13790 +0.6% 0.99x(?)
SevenBoom 1619 1626 +0.4% 1.00x
StringBuilder 2860 2872 +0.4% 1.00x
ObjectiveCBridgeStubNSDataAppend 2623 2634 +0.4% 1.00x(?)
Dictionary3 1478 1484 +0.4% 1.00x(?)
StringHasPrefix 1707 1714 +0.4% 1.00x(?)
SuffixArrayLazy 15351 15413 +0.4% 1.00x
PrefixWhileSequence 28522 28626 +0.4% 1.00x(?)
CStringLongAscii 12806 12852 +0.4% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 101678 102017 +0.3% 1.00x(?)
ObjectAllocation 625 627 +0.3% 1.00x(?)
DictionaryOfObjects 4927 4943 +0.3% 1.00x(?)
ArrayValueProp2 3626 3637 +0.3% 1.00x
Dictionary2OfObjects 6105 6122 +0.3% 1.00x(?)
StringInterpolation 12240 12273 +0.3% 1.00x(?)
DropWhileSequence 15265 15306 +0.3% 1.00x
AngryPhonebook 3116 3124 +0.3% 1.00x(?)
DictionaryLiteral 13328 13360 +0.2% 1.00x(?)
DropFirstCountableRangeLazy 37864 37952 +0.2% 1.00x(?)
PrefixWhileArray 16890 16929 +0.2% 1.00x
ObserverForwarderStruct 4852 4862 +0.2% 1.00x(?)
ObjectiveCBridgeStubFromNSString 991 993 +0.2% 1.00x(?)
Walsh 11877 11901 +0.2% 1.00x(?)
DropLastAnyCollectionLazy 45874 45956 +0.2% 1.00x(?)
MapReduceLazyCollectionShort 43945 44026 +0.2% 1.00x(?)
DropWhileAnySeqCntRange 24752 24794 +0.2% 1.00x
ArrayAppendArrayOfInt 658 659 +0.1% 1.00x(?)
PrefixWhileArrayLazy 14705 14726 +0.1% 1.00x(?)
CaptureProp 109311 109438 +0.1% 1.00x(?)
IterateData 12758 12773 +0.1% 1.00x(?)
DropWhileAnySeqCntRangeLazy 26808 26840 +0.1% 1.00x(?)
PrefixWhileCountableRangeLazy 22147 22172 +0.1% 1.00x(?)
DropLastAnySeqCntRangeLazy 6349 6356 +0.1% 1.00x(?)
StaticArray 4555 4560 +0.1% 1.00x(?)
DropLastAnySequenceLazy 29174 29205 +0.1% 1.00x(?)
RangeAssignment 5812 5818 +0.1% 1.00x(?)
StrComplexWalk 5978 5984 +0.1% 1.00x(?)
StringEdits 689648 690328 +0.1% 1.00x(?)
StrToInt 7969 7977 +0.1% 1.00x(?)
ArrayAppendAscii 83608 83693 +0.1% 1.00x
ObjectiveCBridgeFromNSSetAnyObjectForced 6950 6957 +0.1% 1.00x(?)
ObserverPartiallyAppliedMethod 8125 8132 +0.1% 1.00x(?)
PrefixCountableRangeLazy 37858 37888 +0.1% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 125046 125130 +0.1% 1.00x(?)
SuperChars 318024 318255 +0.1% 1.00x(?)
SetUnion 12022 12031 +0.1% 1.00x(?)
ArrayLiteral 1477 1478 +0.1% 1.00x(?)
DropWhileCountableRangeLazy 27217 27234 +0.1% 1.00x(?)
StringMatch 41022 41046 +0.1% 1.00x(?)
SetExclusiveOr 21282 21295 +0.1% 1.00x(?)
HashQuadratic 50205861 50234419 +0.1% 1.00x
ArrayValueProp4 3395 3397 +0.1% 1.00x(?)
ArrayValueProp3 3438 3440 +0.1% 1.00x
267 63505447 63534480 +0.1% 1.00x
Phonebook 21906 21916 +0.1% 1.00x(?)
SuffixAnySeqCntRangeLazy 6357 6360 +0.1% 1.00x(?)
PrefixAnySeqCRangeIterLazy 24629 24639 +0.0% 1.00x(?)
SetIntersect_OfObjects 11255 11260 +0.0% 1.00x(?)
DropFirstAnySeqCRangeIterLazy 29407 29418 +0.0% 1.00x(?)
PrefixWhileAnySequence 29741 29752 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSStringForced 2736 2737 +0.0% 1.00x(?)
DropWhileSequenceLazy 11491 11495 +0.0% 1.00x(?)
ArrayAppendLazyMap 208131 208186 +0.0% 1.00x(?)
LazilyFilteredRange 1252512 1252934 +0.0% 1.00x(?)
PrefixArray 6192 6194 +0.0% 1.00x(?)
PrefixSequence 10977 10980 +0.0% 1.00x(?)
PrefixWhileAnySeqCRangeIterLazy 22205 22211 +0.0% 1.00x(?)
PrefixWhileSequenceLazy 10786 10789 +0.0% 1.00x(?)
DropWhileArrayLazy 16900 16905 +0.0% 1.00x(?)
DropWhileAnySeqCRangeIter 31630 31639 +0.0% 1.00x(?)
DropFirstAnyCollection 18825 18830 +0.0% 1.00x(?)
SuffixAnyCollection 6407 6408 +0.0% 1.00x(?)
DictionarySwap 5426 5427 +0.0% 1.00x(?)
DropWhileAnySequenceLazy 13128 13131 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSString 4034 4035 +0.0% 1.00x(?)
PopFrontArray 9682 9684 +0.0% 1.00x(?)
PrefixWhileAnyCollectionLazy 22555 22560 +0.0% 1.00x(?)
PrefixAnySequenceLazy 11829 11831 +0.0% 1.00x(?)
SuffixAnySequenceLazy 26840 26846 +0.0% 1.00x(?)
Sim2DArray 30035 30041 +0.0% 1.00x(?)
DropFirstArrayLazy 45933 45942 +0.0% 1.00x(?)
DropLastArrayLazy 15345 15348 +0.0% 1.00x(?)
MapReduceLazyCollection 32643 32649 +0.0% 1.00x(?)
TwoSum 4314 4315 +0.0% 1.00x(?)
PrefixAnyCollection 19157 19158 +0.0% 1.00x(?)
DropFirstAnySeqCRangeIter 30219 30223 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 18928 18930 +0.0% 1.00x(?)
ArrayAppendRepeatCol 213875 213906 +0.0% 1.00x(?)
LinkedList 33121 33125 +0.0% 1.00x(?)
DropFirstAnySequenceLazy 14466 14467 +0.0% 1.00x(?)
DropFirstAnySequence 14261 14262 +0.0% 1.00x(?)
MonteCarloPi 52416 52418 +0.0% 1.00x(?)
RecursiveOwnedParameter 9626 9626 +0.0% 1.00x
Integrate 399 399 +0.0% 1.00x
SuffixCountableRange 119 119 +0.0% 1.00x
SortStrings 2728 2728 +0.0% 1.00x
ProtocolDispatch2 489 489 +0.0% 1.00x
DropLastSequenceLazy 28849 28850 +0.0% 1.00x(?)
DropFirstCountableRange 339 339 +0.0% 1.00x
PolymorphicCalls 2986 2986 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDateRef 4172 4172 +0.0% 1.00x
XorLoop 23708 23709 +0.0% 1.00x(?)
CharacterLiteralsSmall 970 970 +0.0% 1.00x
DropLastAnySeqCRangeIter 43463 43463 +0.0% 1.00x
ObjectiveCBridgeStubFromNSStringRef 208 208 +0.0% 1.00x
DropLastAnyCollection 6406 6406 +0.0% 1.00x
ArrayPlusEqualArrayOfInt 659 659 +0.0% 1.00x
DropLastArray 2073 2073 +0.0% 1.00x
PrefixCountableRange 339 339 +0.0% 1.00x
ClassArrayGetter 931 931 +0.0% 1.00x
ArrayAppendFromGeneric 661 661 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 515 515 +0.0% 1.00x
MapReduceLazySequence 25710 25710 +0.0% 1.00x
CStringShortAscii 8818 8818 +0.0% 1.00x
SuffixArray 2074 2074 +0.0% 1.00x
StringAdder 43 43 +0.0% 1.00x
ArrayAppendToGeneric 661 661 +0.0% 1.00x
SetIsSubsetOf_OfObjects 1522 1522 +0.0% 1.00x
ReversedArray 588 588 +0.0% 1.00x
MapReduceAnyCollection 37765 37765 +0.0% 1.00x
SuffixSequenceLazy 26477 26477 +0.0% 1.00x
ObjectiveCBridgeStubNSDateRefAccess 1209 1209 +0.0% 1.00x
BitCount 881 881 +0.0% 1.00x
DropLastCountableRange 119 119 +0.0% 1.00x
DropWhileArray 9850 9850 +0.0% 1.00x
GlobalClass 0 0 +0.0% 1.00x
Memset 43975 43974 -0.0% 1.00x(?)
PrefixWhileAnyCollection 36137 36135 -0.0% 1.00x(?)
AnyHashableWithAClass 87273 87260 -0.0% 1.00x(?)
HashTest 18629 18628 -0.0% 1.00x(?)
PopFrontArrayGeneric 8709 8708 -0.0% 1.00x(?)
MonteCarloE 135648 135637 -0.0% 1.00x(?)
SetUnion_OfObjects 29832 29829 -0.0% 1.00x(?)
Chars 7388 7387 -0.0% 1.00x(?)
DropLastSequence 28786 28781 -0.0% 1.00x(?)
DropLastAnySequence 29181 29175 -0.0% 1.00x(?)
Histogram 8763 8761 -0.0% 1.00x(?)
PrefixAnySeqCRangeIter 24158 24154 -0.0% 1.00x(?)
DropLastAnySeqCRangeIterLazy 43487 43479 -0.0% 1.00x(?)
StringWithCString 334813 334758 -0.0% 1.00x(?)
DropFirstArray 6196 6195 -0.0% 1.00x(?)
ArrayAppendLatin1 102893 102877 -0.0% 1.00x(?)
DropFirstSequence 13026 13024 -0.0% 1.00x(?)
UTF8Decode 37417 37411 -0.0% 1.00x(?)
SuffixAnySequence 26824 26819 -0.0% 1.00x(?)
SuffixAnySeqCntRange 6463 6462 -0.0% 1.00x(?)
StringHasSuffixUnicode 63325 63313 -0.0% 1.00x(?)
ArrayAppendSequence 75358 75346 -0.0% 1.00x
DropFirstAnySeqCntRange 18812 18808 -0.0% 1.00x(?)
PrefixArrayLazy 45951 45942 -0.0% 1.00x(?)
PrefixWhileAnySeqCntRangeLazy 22568 22563 -0.0% 1.00x
PrefixWhileCountableRange 17984 17981 -0.0% 1.00x(?)
PrefixSequenceLazy 10720 10717 -0.0% 1.00x(?)
DropLastCountableRangeLazy 12562 12558 -0.0% 1.00x(?)
SetIntersect 10675 10672 -0.0% 1.00x(?)
MapReduceClassShort 53931 53917 -0.0% 1.00x(?)
ProtocolDispatch 6920 6918 -0.0% 1.00x(?)
PrefixAnySeqCntRange 19103 19098 -0.0% 1.00x(?)
MapReduceString 2605 2604 -0.0% 1.00x(?)
DropFirstAnySeqCntRangeLazy 18968 18961 -0.0% 1.00x(?)
PopFrontUnsafePointer 97163 97120 -0.0% 1.00x(?)
MapReduceSequence 41481 41464 -0.0% 1.00x(?)
MapReduceShort 49822 49802 -0.0% 1.00x(?)
NopDeinit 51804 51785 -0.0% 1.00x
ArrayInClass 4736 4734 -0.0% 1.00x(?)
DropWhileAnySeqCRangeIterLazy 27668 27658 -0.0% 1.00x(?)
ArraySubscript 4184 4182 -0.1% 1.00x(?)
DropFirstSequenceLazy 13153 13146 -0.1% 1.00x
DropWhileAnyCollectionLazy 26882 26868 -0.1% 1.00x(?)
ArrayOfGenericRef 9747 9742 -0.1% 1.00x(?)
DictionaryRemove 21384 21373 -0.1% 1.00x
MapReduce 37800 37781 -0.1% 1.00x(?)
ArrayOfPOD 1833 1832 -0.1% 1.00x
DropWhileCountableRange 6256 6253 -0.1% 1.00x(?)
SortStringsUnicode 9353 9347 -0.1% 1.00x(?)
PrefixWhileAnySeqCntRange 36137 36115 -0.1% 1.00x(?)
ArrayAppendReserved 3559 3557 -0.1% 1.00x(?)
ArrayOfGenericPOD 3079 3077 -0.1% 1.00x
SetIsSubsetOf 1641 1640 -0.1% 1.00x
PrefixWhileAnySequenceLazy 11420 11413 -0.1% 1.00x(?)
Array2D 609011 608662 -0.1% 1.00x(?)
ReversedDictionary 25351 25333 -0.1% 1.00x(?)
ObjectiveCBridgeStubFromNSDate 4132 4129 -0.1% 1.00x(?)
ObjectiveCBridgeToNSString 1311 1310 -0.1% 1.00x
ObserverUnappliedMethod 8453 8446 -0.1% 1.00x(?)
ArrayAppendUTF16 101133 101056 -0.1% 1.00x(?)
DropWhileAnyCollection 24732 24710 -0.1% 1.00x(?)
SuffixCountableRangeLazy 12572 12559 -0.1% 1.00x(?)
ArrayAppend 4068 4064 -0.1% 1.00x(?)
ObjectiveCBridgeStubDateAccess 1007 1006 -0.1% 1.00x(?)
Prims 8976 8965 -0.1% 1.00x(?)
SetExclusiveOr_OfObjects 41456 41405 -0.1% 1.00x(?)
ObjectiveCBridgeStubToNSDateRef 3390 3386 -0.1% 1.00x(?)
ObjectiveCBridgeStubURLAppendPath 217181 216910 -0.1% 1.00x(?)
ArrayOfRef 8654 8643 -0.1% 1.00x
NSError 743 742 -0.1% 1.00x(?)
CharacterLiteralsLarge 10461 10446 -0.1% 1.00x
MapReduceAnyCollectionShort 50235 50163 -0.1% 1.00x
NSStringConversion 1317 1315 -0.1% 1.00x(?)
ArrayAppendToFromGeneric 660 659 -0.1% 1.00x(?)
DropLastAnySeqCntRange 6362 6352 -0.2% 1.00x(?)
MapReduceClass 43306 43234 -0.2% 1.00x
StringBuilderLong 1121 1119 -0.2% 1.00x(?)
Calculator 1081 1079 -0.2% 1.00x
DictionaryRemoveOfObjects 55340 55234 -0.2% 1.00x
LazilyFilteredArrays 2729145 2723718 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 75602 75445 -0.2% 1.00x(?)
PrefixAnySequence 12059 12033 -0.2% 1.00x(?)
ObjectiveCBridgeStubFromArrayOfNSString 28641 28574 -0.2% 1.00x(?)
StringHasPrefixUnicode 16063 16025 -0.2% 1.00x
Hanoi 16782 16740 -0.2% 1.00x(?)
OpenClose 401 400 -0.2% 1.00x(?)
SortLettersInPlace 2844 2837 -0.2% 1.00x
Join 1259 1255 -0.3% 1.00x(?)
ObjectiveCBridgeStubToNSString 1571 1566 -0.3% 1.00x(?)
RGBHistogram 33969 33853 -0.3% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7803 7776 -0.3% 1.00x(?)
DropFirstAnyCollectionLazy 138178 137690 -0.3% 1.00x(?)
MapReduceShortString 273 272 -0.4% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38825 38677 -0.4% 1.00x(?)
StringEqualPointerComparison 10015 9975 -0.4% 1.00x(?)
ObserverClosure 6674 6646 -0.4% 1.00x(?)
NSDictionaryCastToSwift 6641 6613 -0.4% 1.00x(?)
RGBHistogramOfObjects 98618 98197 -0.4% 1.00x(?)
ObjectiveCBridgeToNSArray 29188 29048 -0.5% 1.00x(?)
SortSortedStrings 1415 1408 -0.5% 1.00x(?)
ArrayPlusEqualSingleElementCollection 284044 282331 -0.6% 1.01x(?)
ArrayPlusEqualFiveElementCollection 281098 279353 -0.6% 1.01x(?)
DictionarySwapOfObjects 19450 19308 -0.7% 1.01x(?)
RC4 20291 20112 -0.9% 1.01x(?)
StringWalk 21670 21445 -1.0% 1.01x(?)
ArrayAppendGenericStructs 1324 1310 -1.1% 1.01x(?)
StackPromo 99668 98573 -1.1% 1.01x(?)
ObjectiveCBridgeFromNSSetAnyObject 68290 67475 -1.2% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45065 44456 -1.4% 1.01x(?)
ObjectiveCBridgeStubURLAppendPathRef 222806 219414 -1.5% 1.02x(?)
ErrorHandling 3995 3934 -1.5% 1.02x(?)
ObjectiveCBridgeToNSDictionary 60734 59683 -1.7% 1.02x(?)
ByteSwap 271 266 -1.9% 1.02x
ArrayAppendOptionals 1387 1360 -1.9% 1.02x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 109278 107125 -2.0% 1.02x(?)
Dictionary 2044 1986 -2.8% 1.03x(?)
ObjectiveCBridgeStubToArrayOfNSString 28950 27980 -3.4% 1.03x(?)
ObjectiveCBridgeToNSSet 38735 37297 -3.7% 1.04x
**Hardware Overview** Model Name: Mac mini Model Identifier: Macmini7,1 Processor Name: Intel Core i5 Processor Speed: 2.8 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 3 MB Memory: 16 GB

@gottesmm
Copy link
Contributor

@swift-ci smoke test and merge

1 similar comment
@gottesmm
Copy link
Contributor

@swift-ci smoke test and merge

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants