Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SILGen: Allow +0 parameter forwarding in protocol witness and re-abstraction thunks #6485

Conversation

@slavapestov
Copy link
Member

slavapestov commented Dec 24, 2016

When emitting a thunk, such as a protocol witness thunk, we pass the arguments of the thunk to the callee, possibly performing some transformations on those parameters, such as converting indirect parameters to direct parameters.

If the parameters were owned or +1, we would pass them along to the callee. If the parameter was +0, we would perform an elaborate dance where we would copy or retain the value, pass the copy to the callee, and then destroy or release the copy. This is unnecessary, and a +0 value can be forwarded just like a +1 value.

@gottesmm

This comment has been minimized.

Copy link
Member

gottesmm commented Dec 24, 2016

Thanks!

@gottesmm gottesmm self-assigned this Dec 24, 2016
@shahmishal

This comment has been minimized.

Copy link
Member

shahmishal commented Jan 3, 2017

@swift-ci Please smoke test

@gottesmm

This comment has been minimized.

Copy link
Member

gottesmm commented Jan 4, 2017

Please don't merge this. I am going to be working in this area soon.

@slavapestov slavapestov force-pushed the slavapestov:plus-zero-for-michael-maybe-he-will-like-it branch from 2eb1a9c Nov 9, 2017
@slavapestov slavapestov force-pushed the slavapestov:plus-zero-for-michael-maybe-he-will-like-it branch 2 times, most recently Nov 19, 2017
@slavapestov slavapestov force-pushed the slavapestov:plus-zero-for-michael-maybe-he-will-like-it branch Nov 20, 2017
@slavapestov slavapestov force-pushed the slavapestov:plus-zero-for-michael-maybe-he-will-like-it branch to e688da3 Nov 20, 2017
@slavapestov

This comment has been minimized.

Copy link
Member Author

slavapestov commented Nov 20, 2017

@swift-ci Please test

@slavapestov

This comment has been minimized.

Copy link
Member Author

slavapestov commented Nov 20, 2017

@swift-ci Please test source compatibility

@apple apple deleted a comment from swift-ci Nov 20, 2017
@apple apple deleted a comment from swift-ci Nov 20, 2017
@apple apple deleted a comment from swift-ci Nov 20, 2017
@slavapestov

This comment has been minimized.

Copy link
Member Author

slavapestov commented Nov 20, 2017

@swift-ci Please benchmark

1 similar comment
@slavapestov

This comment has been minimized.

Copy link
Member Author

slavapestov commented Nov 20, 2017

@swift-ci Please benchmark

@swift-ci

This comment has been minimized.

Copy link
Contributor

swift-ci commented Nov 20, 2017

Build failed
Swift Test OS X Platform
Git Sha - d0423e72581549ba50acb77b0ea02bd7d1da6d0b

@shahmishal

This comment has been minimized.

Copy link
Member

shahmishal commented Nov 20, 2017

@swift-ci Please benchmark

@swift-ci

This comment has been minimized.

Copy link
Contributor

swift-ci commented Nov 20, 2017

Build comment file:

Optimized (O)

Regression (18)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubNSDateRefAccess 311 367 +18.0% 0.85x (?)
StringWithCString 59018 67730 +14.8% 0.87x
Calculator 30 34 +13.3% 0.88x
PopFrontUnsafePointer 5238 5829 +11.3% 0.90x (?)
SuffixArrayLazy 9 10 +11.1% 0.90x
SuffixArray 9 10 +11.1% 0.90x
ObjectiveCBridgeStubNSDateMutationRef 11167 12362 +10.7% 0.90x (?)
PopFrontArrayGeneric 1127 1237 +9.8% 0.91x (?)
PrefixWhileSequence 317 347 +9.5% 0.91x
MapReduceLazyCollection 11 12 +9.1% 0.92x (?)
BitCount 127 138 +8.7% 0.92x
DictionaryRemove 2746 2980 +8.5% 0.92x
MapReduceAnyCollection 397 425 +7.1% 0.93x
SortSortedStrings 936 1001 +6.9% 0.94x
RangeAssignment 340 361 +6.2% 0.94x (?)
StringEqualPointerComparison 360 382 +6.1% 0.94x
ObjectiveCBridgeStubFromNSDateRef 3960 4180 +5.6% 0.95x (?)
StringBuilderLong 914 963 +5.4% 0.95x (?)
Improvement (43)
TEST OLD NEW DELTA SPEEDUP
CharIndexing_utf16_unicodeScalars 110884 86359 -22.1% 1.28x
CharIndexing_korean_unicodeScalars 23824 19165 -19.6% 1.24x
CharIndexing_tweet_unicodeScalars 48199 38796 -19.5% 1.24x
CharIndexing_chinese_unicodeScalars 18613 15019 -19.3% 1.24x
CharIndexing_japanese_unicodeScalars 29240 23684 -19.0% 1.23x
CharIndexing_russian_unicodeScalars 20303 16501 -18.7% 1.23x
CharIndexing_punctuated_unicodeScalars 5581 4566 -18.2% 1.22x
CharIndexing_ascii_unicodeScalars 24605 20138 -18.2% 1.22x
CharIndexing_punctuatedJapanese_unicodeScalars 4491 3700 -17.6% 1.21x
CharIteration_utf16_unicodeScalars 112969 96372 -14.7% 1.17x
LazilyFilteredRange 4031 3440 -14.7% 1.17x
PrefixAnySeqCRangeIterLazy 19449 16643 -14.4% 1.17x
DropFirstAnySeqCRangeIterLazy 24468 20967 -14.3% 1.17x
PrefixAnySeqCRangeIter 19196 16576 -13.6% 1.16x
DropFirstAnySeqCRangeIter 24130 20953 -13.2% 1.15x
CharIteration_russian_unicodeScalars 17912 15561 -13.1% 1.15x
CharIteration_japanese_unicodeScalars 25734 22384 -13.0% 1.15x
CharIteration_punctuatedJapanese_unicodeScalars 3861 3380 -12.5% 1.14x
CharIteration_chinese_unicodeScalars 16139 14167 -12.2% 1.14x
CharIteration_korean_unicodeScalars 20668 18164 -12.1% 1.14x
CharIteration_punctuated_unicodeScalars 4813 4231 -12.1% 1.14x
CharIteration_ascii_unicodeScalars 21088 18603 -11.8% 1.13x
CharIteration_tweet_unicodeScalars 41564 36674 -11.8% 1.13x
DropWhileAnySeqCRangeIter 18984 16950 -10.7% 1.12x (?)
ObserverUnappliedMethod 2419 2171 -10.3% 1.11x
ReversedDictionary 140 126 -10.0% 1.11x
DropLastArray 10 9 -10.0% 1.11x (?)
DropLastArrayLazy 10 9 -10.0% 1.11x (?)
RGBHistogram 2860 2635 -7.9% 1.09x (?)
MapReduceString 108 100 -7.4% 1.08x
ArrayAppendLatin1 44978 41681 -7.3% 1.08x (?)
StringFromLongWholeSubstringGeneric 82 76 -7.3% 1.08x
ArraySubscript 1535 1430 -6.8% 1.07x (?)
ArrayAppendLazyMap 976 910 -6.8% 1.07x (?)
ArrayPlusEqualThreeElements 1698 1587 -6.5% 1.07x (?)
ArraySetElement 484 453 -6.4% 1.07x
ArrayPlusEqualFiveElementCollection 5836 5464 -6.4% 1.07x (?)
AngryPhonebook 3068 2903 -5.4% 1.06x (?)
ArrayAppendGenericStructs 1200 1136 -5.3% 1.06x
ArrayPlusEqualSingleElementCollection 990 938 -5.3% 1.06x
ArrayAppendOptionals 1198 1136 -5.2% 1.05x (?)
AnyHashableWithAClass 76120 72258 -5.1% 1.05x (?)
StringMatch 8122 7711 -5.1% 1.05x
No Changes (273)
TEST OLD NEW DELTA SPEEDUP
Array2D 2178 2080 -4.5% 1.05x (?)
ArrayAppend 988 958 -3.0% 1.03x (?)
ArrayAppendArrayOfInt 585 565 -3.4% 1.04x (?)
ArrayAppendAscii 20684 20327 -1.7% 1.02x (?)
ArrayAppendFromGeneric 575 565 -1.7% 1.02x (?)
ArrayAppendRepeatCol 977 963 -1.4% 1.01x (?)
ArrayAppendReserved 736 728 -1.1% 1.01x (?)
ArrayAppendSequence 782 778 -0.5% 1.01x (?)
ArrayAppendStrings 14580 14160 -2.9% 1.03x (?)
ArrayAppendToFromGeneric 567 565 -0.4% 1.00x (?)
ArrayAppendToGeneric 568 565 -0.5% 1.01x (?)
ArrayAppendUTF16 42277 41423 -2.0% 1.02x (?)
ArrayInClass 65 64 -1.5% 1.02x (?)
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 207 207 +0.0% 1.00x
ArrayOfGenericRef 4236 4176 -1.4% 1.01x (?)
ArrayOfPOD 156 156 +0.0% 1.00x
ArrayOfRef 4187 4109 -1.9% 1.02x (?)
ArrayPlusEqualArrayOfInt 568 565 -0.5% 1.01x (?)
ArrayValueProp 5 5 +0.0% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
ArrayValueProp3 5 5 +0.0% 1.00x
ArrayValueProp4 5 5 +0.0% 1.00x
ByteSwap 108 107 -0.9% 1.01x
CStringLongAscii 4858 4821 -0.8% 1.01x (?)
CStringLongNonAscii 2215 2196 -0.9% 1.01x (?)
CStringShortAscii 4650 4643 -0.2% 1.00x (?)
CaptureProp 6209 6395 +3.0% 0.97x (?)
CharIndexing_ascii_unicodeScalars_Backwards 16197 16244 +0.3% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12215 12234 +0.2% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19257 19363 +0.6% 0.99x (?)
CharIndexing_korean_unicodeScalars_Backwards 15505 15697 +1.2% 0.99x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2919 2961 +1.4% 0.99x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3637 3683 +1.3% 0.99x (?)
CharIndexing_russian_unicodeScalars_Backwards 13334 13474 +1.0% 0.99x (?)
CharIndexing_tweet_unicodeScalars_Backwards 31486 32010 +1.7% 0.98x (?)
CharIndexing_utf16_unicodeScalars_Backwards 82587 82181 -0.5% 1.00x
CharIteration_ascii_unicodeScalars_Backwards 18402 18721 +1.7% 0.98x (?)
CharIteration_chinese_unicodeScalars_Backwards 14136 14179 +0.3% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 22111 22406 +1.3% 0.99x (?)
CharIteration_korean_unicodeScalars_Backwards 17895 18143 +1.4% 0.99x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 3318 3384 +2.0% 0.98x (?)
CharIteration_punctuated_unicodeScalars_Backwards 4171 4237 +1.6% 0.98x (?)
CharIteration_russian_unicodeScalars_Backwards 15391 15587 +1.3% 0.99x (?)
CharIteration_tweet_unicodeScalars_Backwards 36106 36958 +2.4% 0.98x (?)
CharIteration_utf16_unicodeScalars_Backwards 114683 114730 +0.0% 1.00x (?)
CharacterLiteralsLarge 5856 5827 -0.5% 1.00x (?)
CharacterLiteralsSmall 531 516 -2.8% 1.03x (?)
Chars 843 844 +0.1% 1.00x (?)
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 179 179 +0.0% 1.00x
Dictionary 641 640 -0.2% 1.00x (?)
Dictionary2 1823 1794 -1.6% 1.02x (?)
Dictionary2OfObjects 3192 3185 -0.2% 1.00x (?)
Dictionary3 563 541 -3.9% 1.04x (?)
Dictionary3OfObjects 861 866 +0.6% 0.99x (?)
DictionaryBridge 2362 2334 -1.2% 1.01x (?)
DictionaryGroup 256 254 -0.8% 1.01x (?)
DictionaryGroupOfObjects 1903 1901 -0.1% 1.00x (?)
DictionaryLiteral 1472 1470 -0.1% 1.00x (?)
DictionaryOfObjects 2262 2283 +0.9% 0.99x (?)
DictionaryRemoveOfObjects 21815 21944 +0.6% 0.99x (?)
DictionarySwap 456 450 -1.3% 1.01x (?)
DictionarySwapOfObjects 7025 7070 +0.6% 0.99x (?)
DropFirstAnyCollection 52 52 +0.0% 1.00x
DropFirstAnyCollectionLazy 69235 66974 -3.3% 1.03x (?)
DropFirstAnySeqCntRange 48 48 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 48 48 +0.0% 1.00x
DropFirstAnySequence 5482 5481 -0.0% 1.00x (?)
DropFirstAnySequenceLazy 5495 5493 -0.0% 1.00x (?)
DropFirstArray 29 29 +0.0% 1.00x
DropFirstArrayLazy 29 29 +0.0% 1.00x
DropFirstCountableRange 17 17 +0.0% 1.00x
DropFirstCountableRangeLazy 17 17 +0.0% 1.00x
DropFirstSequence 2457 2459 +0.1% 1.00x (?)
DropFirstSequenceLazy 2645 2605 -1.5% 1.02x (?)
DropLastAnyCollection 20 20 +0.0% 1.00x
DropLastAnyCollectionLazy 22653 22259 -1.7% 1.02x (?)
DropLastAnySeqCRangeIter 4369 4358 -0.3% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4387 4363 -0.5% 1.01x (?)
DropLastAnySeqCntRange 15 15 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 15 15 +0.0% 1.00x
DropLastAnySequence 5914 5902 -0.2% 1.00x (?)
DropLastAnySequenceLazy 5993 6005 +0.2% 1.00x (?)
DropLastCountableRange 6 6 +0.0% 1.00x
DropLastCountableRangeLazy 6 6 +0.0% 1.00x
DropLastSequence 602 585 -2.8% 1.03x
DropLastSequenceLazy 614 601 -2.1% 1.02x (?)
DropWhileAnyCollection 64 64 +0.0% 1.00x
DropWhileAnyCollectionLazy 83 83 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 84 85 +1.2% 0.99x (?)
DropWhileAnySeqCntRange 60 60 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 84 84 +0.0% 1.00x
DropWhileAnySequence 5990 6006 +0.3% 1.00x (?)
DropWhileAnySequenceLazy 1830 1830 +0.0% 1.00x
DropWhileArray 41 41 +0.0% 1.00x
DropWhileArrayLazy 74 74 +0.0% 1.00x
DropWhileCountableRange 18 18 +0.0% 1.00x
DropWhileCountableRangeLazy 66 66 +0.0% 1.00x
DropWhileSequence 1233 1233 +0.0% 1.00x
DropWhileSequenceLazy 44 44 +0.0% 1.00x
EqualStringSubstring 369 370 +0.3% 1.00x (?)
EqualSubstringString 379 378 -0.3% 1.00x (?)
EqualSubstringSubstring 382 381 -0.3% 1.00x (?)
EqualSubstringSubstringGenericEquatable 382 379 -0.8% 1.01x (?)
ErrorHandling 1964 1943 -1.1% 1.01x (?)
ExclusivityGlobal 2 2 +0.0% 1.00x
ExclusivityInMatSet 17 17 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1266 1253 -1.0% 1.01x (?)
FilterEvenUsingReduceInto 146 144 -1.4% 1.01x (?)
FrequenciesUsingReduce 7856 7836 -0.3% 1.00x (?)
FrequenciesUsingReduceInto 4226 4248 +0.5% 0.99x (?)
Hanoi 3414 3453 +1.1% 0.99x (?)
HashTest 1693 1691 -0.1% 1.00x (?)
Histogram 331 326 -1.5% 1.02x (?)
Integrate 207 206 -0.5% 1.00x (?)
IterateData 1306 1250 -4.3% 1.04x
Join 365 361 -1.1% 1.01x (?)
LazilyFilteredArrayContains 25713 26339 +2.4% 0.98x (?)
LazilyFilteredArrays 64209 63461 -1.2% 1.01x (?)
LessSubstringSubstring 390 383 -1.8% 1.02x (?)
LessSubstringSubstringGenericComparable 390 389 -0.3% 1.00x (?)
LinkedList 6635 6588 -0.7% 1.01x (?)
MapReduce 399 419 +5.0% 0.95x (?)
MapReduceAnyCollectionShort 2127 2044 -3.9% 1.04x (?)
MapReduceClass 2920 2921 +0.0% 1.00x (?)
MapReduceClassShort 4441 4344 -2.2% 1.02x (?)
MapReduceLazyCollectionShort 35 34 -2.9% 1.03x (?)
MapReduceLazySequence 85 85 +0.0% 1.00x
MapReduceSequence 414 416 +0.5% 1.00x (?)
MapReduceShort 1986 1942 -2.2% 1.02x (?)
MapReduceShortString 21 21 +0.0% 1.00x
Memset 221 221 +0.0% 1.00x
MonteCarloE 9747 9954 +2.1% 0.98x
MonteCarloPi 41469 41504 +0.1% 1.00x (?)
NSDictionaryCastToSwift 5136 5021 -2.2% 1.02x (?)
NSError 283 284 +0.4% 1.00x (?)
NSStringConversion 344 353 +2.6% 0.97x (?)
NopDeinit 21383 22370 +4.6% 0.96x
ObjectAllocation 169 170 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObject 19008 18878 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3465 3436 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 36007 36019 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 30881 30482 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 106444 104591 -1.7% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4974 4873 -2.0% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 82069 79405 -3.2% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 95374 94296 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 58846 57493 -2.3% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4318 4231 -2.0% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 61218 59651 -2.6% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 64968 64034 -1.4% 1.01x (?)
ObjectiveCBridgeFromNSString 995 1013 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSStringForced 1917 1906 -0.6% 1.01x (?)
ObjectiveCBridgeStubDataAppend 3810 3821 +0.3% 1.00x (?)
ObjectiveCBridgeStubDateAccess 176 176 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 264 258 -2.3% 1.02x (?)
ObjectiveCBridgeStubFromArrayOfNSString 23912 23660 -1.1% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 3674 3781 +2.9% 0.97x (?)
ObjectiveCBridgeStubFromNSString 526 536 +1.9% 0.98x (?)
ObjectiveCBridgeStubFromNSStringRef 142 149 +4.9% 0.95x
ObjectiveCBridgeStubNSDataAppend 2419 2385 -1.4% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 28076 27537 -1.9% 1.02x (?)
ObjectiveCBridgeStubToNSDate 13724 13321 -2.9% 1.03x (?)
ObjectiveCBridgeStubToNSDateRef 3099 3096 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1421 1424 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 114 111 -2.6% 1.03x (?)
ObjectiveCBridgeStubURLAppendPath 215866 210525 -2.5% 1.03x (?)
ObjectiveCBridgeStubURLAppendPathRef 209948 213553 +1.7% 0.98x (?)
ObjectiveCBridgeToNSArray 28458 27695 -2.7% 1.03x (?)
ObjectiveCBridgeToNSDictionary 45321 43812 -3.3% 1.03x (?)
ObjectiveCBridgeToNSSet 39160 37710 -3.7% 1.04x (?)
ObjectiveCBridgeToNSString 1214 1212 -0.2% 1.00x (?)
ObserverClosure 1982 1974 -0.4% 1.00x (?)
ObserverForwarderStruct 863 856 -0.8% 1.01x (?)
ObserverPartiallyAppliedMethod 3439 3386 -1.5% 1.02x (?)
OpenClose 3 3 +0.0% 1.00x
Phonebook 5688 5770 +1.4% 0.99x (?)
PolymorphicCalls 16 16 +0.0% 1.00x
PopFrontArray 1214 1213 -0.1% 1.00x (?)
PrefixAnyCollection 52 52 +0.0% 1.00x
PrefixAnyCollectionLazy 68425 67085 -2.0% 1.02x (?)
PrefixAnySeqCntRange 48 48 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 47 48 +2.1% 0.98x (?)
PrefixAnySequence 4849 4731 -2.4% 1.02x (?)
PrefixAnySequenceLazy 4856 4842 -0.3% 1.00x (?)
PrefixArray 29 29 +0.0% 1.00x
PrefixArrayLazy 29 29 +0.0% 1.00x
PrefixCountableRange 17 17 +0.0% 1.00x
PrefixCountableRangeLazy 17 17 +0.0% 1.00x
PrefixSequence 1237 1236 -0.1% 1.00x (?)
PrefixSequenceLazy 1378 1377 -0.1% 1.00x (?)
PrefixWhileAnyCollection 87 87 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 62 62 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 11920 11957 +0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 62 62 +0.0% 1.00x
PrefixWhileAnySeqCntRange 83 83 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 62 62 +0.0% 1.00x
PrefixWhileAnySequence 13024 13038 +0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1372 1372 +0.0% 1.00x
PrefixWhileArray 65 65 +0.0% 1.00x
PrefixWhileArrayLazy 35 35 +0.0% 1.00x
PrefixWhileCountableRange 28 28 +0.0% 1.00x
PrefixWhileCountableRangeLazy 17 17 +0.0% 1.00x
PrefixWhileSequenceLazy 26 26 +0.0% 1.00x
Prims 758 748 -1.3% 1.01x (?)
PrimsSplit 761 750 -1.4% 1.01x (?)
ProtocolDispatch 2716 2700 -0.6% 1.01x (?)
ProtocolDispatch2 125 126 +0.8% 0.99x (?)
RC4 158 158 +0.0% 1.00x
RGBHistogramOfObjects 22456 22534 +0.3% 1.00x (?)
RangeIterationSigned 128 132 +3.1% 0.97x (?)
RangeIterationSigned64 147 149 +1.4% 0.99x (?)
RangeIterationUnsigned 147 149 +1.4% 0.99x (?)
RecursiveOwnedParameter 2212 2157 -2.5% 1.03x (?)
ReversedArray 49 50 +2.0% 0.98x (?)
ReversedBidirectional 27421 27595 +0.6% 0.99x (?)
SetExclusiveOr 3322 3295 -0.8% 1.01x (?)
SetExclusiveOr_OfObjects 8202 8358 +1.9% 0.98x (?)
SetIntersect 309 312 +1.0% 0.99x (?)
SetIntersect_OfObjects 1695 1698 +0.2% 1.00x (?)
SetIsSubsetOf 295 295 +0.0% 1.00x
SetIsSubsetOf_OfObjects 398 398 +0.0% 1.00x
SetUnion 3011 2992 -0.6% 1.01x (?)
SetUnion_OfObjects 6970 6973 +0.0% 1.00x (?)
SevenBoom 1478 1492 +0.9% 0.99x (?)
Sim2DArray 353 357 +1.1% 0.99x (?)
SortLargeExistentials 8091 7775 -3.9% 1.04x (?)
SortLettersInPlace 1095 1096 +0.1% 1.00x (?)
SortStrings 1715 1798 +4.8% 0.95x
SortStringsUnicode 8012 8320 +3.8% 0.96x (?)
StackPromo 21476 21389 -0.4% 1.00x (?)
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1590 1575 -0.9% 1.01x (?)
StrToInt 1732 1812 +4.6% 0.96x (?)
StringAdder 3360 3408 +1.4% 0.99x (?)
StringBuilder 975 981 +0.6% 0.99x (?)
StringEdits 168738 164341 -2.6% 1.03x (?)
StringEnumRawValueInitialization 1050 1064 +1.3% 0.99x (?)
StringFromLongWholeSubstring 167 171 +2.4% 0.98x (?)
StringHasPrefix 992 1030 +3.8% 0.96x (?)
StringHasPrefixUnicode 15569 15239 -2.1% 1.02x (?)
StringHasSuffix 1128 1088 -3.5% 1.04x (?)
StringHasSuffixUnicode 62796 62783 -0.0% 1.00x (?)
StringInterpolation 10113 10277 +1.6% 0.98x (?)
StringUTF16Builder 1847 1846 -0.1% 1.00x (?)
StringWalk 1438 1481 +3.0% 0.97x
SubstringComparable 1580 1588 +0.5% 0.99x (?)
SubstringEqualString 1388 1422 +2.4% 0.98x (?)
SubstringEquatable 3438 3425 -0.4% 1.00x (?)
SubstringFromLongString 9 9 +0.0% 1.00x
SubstringFromLongStringGeneric 69 69 +0.0% 1.00x
SuffixAnyCollection 20 20 +0.0% 1.00x
SuffixAnyCollectionLazy 22657 22729 +0.3% 1.00x (?)
SuffixAnySeqCRangeIter 4665 4674 +0.2% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4657 4670 +0.3% 1.00x (?)
SuffixAnySeqCntRange 15 15 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 15 15 +0.0% 1.00x
SuffixAnySequence 5834 5847 +0.2% 1.00x (?)
SuffixAnySequenceLazy 6040 6026 -0.2% 1.00x (?)
SuffixCountableRange 6 6 +0.0% 1.00x
SuffixCountableRangeLazy 6 6 +0.0% 1.00x
SuffixSequence 4300 4294 -0.1% 1.00x (?)
SuffixSequenceLazy 4300 4278 -0.5% 1.01x (?)
SumUsingReduce 93 94 +1.1% 0.99x (?)
SumUsingReduceInto 93 93 +0.0% 1.00x
SuperChars 80987 81507 +0.6% 0.99x (?)
TwoSum 980 987 +0.7% 0.99x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 246 247 +0.4% 1.00x (?)
Walsh 385 379 -1.6% 1.02x (?)
XorLoop 326 326 +0.0% 1.00x

Unoptimized (Onone)

Regression (2)
TEST OLD NEW DELTA SPEEDUP
NSStringConversion 374 411 +9.9% 0.91x
ArrayOfGenericPOD 1215 1305 +7.4% 0.93x
Improvement (96)
TEST OLD NEW DELTA SPEEDUP
StaticArray 4891 2039 -58.3% 2.40x
DropFirstCountableRange 471 339 -28.0% 1.39x
PrefixCountableRange 470 339 -27.9% 1.39x
SuffixCountableRange 162 117 -27.8% 1.38x
DropLastCountableRange 162 117 -27.8% 1.38x
ObjectiveCBridgeStubDateMutation 684 508 -25.7% 1.35x
DropLastArrayLazy 15106 11336 -25.0% 1.33x
SuffixArrayLazy 15121 11411 -24.5% 1.33x
PrefixArrayLazy 45174 34108 -24.5% 1.32x
DropFirstArrayLazy 45156 34111 -24.5% 1.32x
DropFirstCountableRangeLazy 37466 29613 -21.0% 1.27x
DropLastCountableRangeLazy 12341 9912 -19.7% 1.25x
SuffixCountableRangeLazy 12299 9912 -19.4% 1.24x
ArrayAppendReserved 4684 3794 -19.0% 1.23x
CharIndexing_utf16_unicodeScalars 527962 429153 -18.7% 1.23x
ReversedArray 44058 35853 -18.6% 1.23x
PrefixCountableRangeLazy 37366 30429 -18.6% 1.23x
CharIndexing_utf16_unicodeScalars_Backwards 569122 469566 -17.5% 1.21x
ObjectiveCBridgeStubDateAccess 1226 1016 -17.1% 1.21x
DropLastAnyCollectionLazy 46067 38314 -16.8% 1.20x
ArrayAppend 4821 4036 -16.3% 1.19x
DropFirstAnyCollectionLazy 137150 115789 -15.6% 1.18x
SuffixAnyCollectionLazy 45363 38344 -15.5% 1.18x
DropWhileAnySeqCntRangeLazy 26573 22493 -15.4% 1.18x
PrefixAnyCollectionLazy 137975 117312 -15.0% 1.18x
PrefixWhileCountableRange 16340 13898 -14.9% 1.18x
ObjectiveCBridgeStubNSDateRefAccess 1427 1215 -14.9% 1.17x (?)
CharIndexing_japanese_unicodeScalars 583708 497062 -14.8% 1.17x
DropFirstAnySeqCRangeIterLazy 28280 24205 -14.4% 1.17x
CharIndexing_ascii_unicodeScalars 480125 412784 -14.0% 1.16x
DropWhileCountableRange 5737 4952 -13.7% 1.16x
CharIndexing_russian_unicodeScalars 406328 350898 -13.6% 1.16x
PrefixWhileAnySeqCRangeIterLazy 21584 18644 -13.6% 1.16x
CharIndexing_punctuated_unicodeScalars 107086 92527 -13.6% 1.16x
CharIndexing_tweet_unicodeScalars_Backwards 1057573 914290 -13.5% 1.16x
CharIndexing_korean_unicodeScalars 473006 409044 -13.5% 1.16x
ArrayAppendRepeatCol 234922 203165 -13.5% 1.16x (?)
SuffixAnySeqCntRangeLazy 5911 5116 -13.4% 1.16x
PrefixWhileAnySeqCntRange 33203 28750 -13.4% 1.15x
DropWhileAnySeqCntRange 22953 19878 -13.4% 1.15x
CharIndexing_tweet_unicodeScalars 972811 844218 -13.2% 1.15x
DropWhileCountableRangeLazy 24753 21483 -13.2% 1.15x
CharIndexing_chinese_unicodeScalars 367551 319093 -13.2% 1.15x
DropWhileAnyCollectionLazy 26023 22644 -13.0% 1.15x
DropLastAnySeqCntRangeLazy 5868 5109 -12.9% 1.15x
DropFirstAnySeqCntRangeLazy 17547 15286 -12.9% 1.15x
PrefixAnySeqCntRangeLazy 17557 15314 -12.8% 1.15x
DropWhileAnySeqCRangeIter 29117 25401 -12.8% 1.15x
CharIndexing_punctuatedJapanese_unicodeScalars 84243 73582 -12.7% 1.14x
PrefixAnyCollection 17385 15196 -12.6% 1.14x
PrefixWhileCountableRangeLazy 20147 17635 -12.5% 1.14x
DropWhileAnyCollection 22724 19916 -12.4% 1.14x
CharIndexing_ascii_unicodeScalars_Backwards 532731 467799 -12.2% 1.14x
DropLastAnySeqCntRange 5806 5106 -12.1% 1.14x
PrefixAnySeqCntRange 17387 15311 -11.9% 1.14x
DropFirstAnyCollection 17383 15310 -11.9% 1.14x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 90426 79661 -11.9% 1.14x
SuffixAnySeqCntRange 5806 5121 -11.8% 1.13x
DropFirstAnySeqCRangeIter 25841 22801 -11.8% 1.13x
DropFirstAnySeqCntRange 17366 15324 -11.8% 1.13x
PrefixAnySeqCRangeIterLazy 21110 18669 -11.6% 1.13x
PrefixAnySeqCRangeIter 20836 18443 -11.5% 1.13x
CharIndexing_russian_unicodeScalars_Backwards 435933 386584 -11.3% 1.13x
ObjectiveCBridgeStubToNSStringRef 162 144 -11.1% 1.12x
CharIndexing_punctuated_unicodeScalars_Backwards 114444 101767 -11.1% 1.12x
CharIndexing_korean_unicodeScalars_Backwards 503851 448357 -11.0% 1.12x
PrefixWhileAnyCollection 32883 29286 -10.9% 1.12x
DropWhileAnySeqCRangeIterLazy 25695 22911 -10.8% 1.12x
DropLastAnyCollection 5738 5122 -10.7% 1.12x
CharIndexing_japanese_unicodeScalars_Backwards 619752 553240 -10.7% 1.12x
CharIndexing_chinese_unicodeScalars_Backwards 389530 347736 -10.7% 1.12x
PopFrontArrayGeneric 8947 8020 -10.4% 1.12x
SuffixAnyCollection 5763 5175 -10.2% 1.11x
ArrayPlusEqualThreeElements 11557 10496 -9.2% 1.10x
RangeIterationUnsigned 43254 39286 -9.2% 1.10x
PrefixWhileAnySeqCntRangeLazy 20395 18563 -9.0% 1.10x
ArrayPlusEqualSingleElementCollection 306333 279193 -8.9% 1.10x
LazilyFilteredRange 598462 545607 -8.8% 1.10x
CharIteration_utf16_unicodeScalars 233699 213788 -8.5% 1.09x
PopFrontArray 9967 9161 -8.1% 1.09x
RangeIterationSigned64 47616 43808 -8.0% 1.09x
ArrayInClass 6777 6241 -7.9% 1.09x (?)
PrefixWhileAnyCollectionLazy 20240 18688 -7.7% 1.08x
ReversedBidirectional 67528 62652 -7.2% 1.08x
CharIteration_utf16_unicodeScalars_Backwards 386319 359700 -6.9% 1.07x
ObjectiveCBridgeStubFromNSStringRef 189 176 -6.9% 1.07x
SuffixAnySeqCRangeIterLazy 40055 37335 -6.8% 1.07x
SubstringFromLongStringGeneric 107 100 -6.5% 1.07x
SetUnion_OfObjects 29468 27594 -6.4% 1.07x
IterateData 8427 7903 -6.2% 1.07x
ObjectiveCBridgeStubToNSDateRef 3444 3232 -6.2% 1.07x
ArrayPlusEqualFiveElementCollection 299822 281562 -6.1% 1.06x
DictionaryGroupOfObjects 8375 7867 -6.1% 1.06x
SortLargeExistentials 17121 16208 -5.3% 1.06x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7560 7158 -5.3% 1.06x (?)
DropLastAnySeqCRangeIterLazy 43682 41437 -5.1% 1.05x
No Changes (236)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4738 4761 +0.5% 1.00x (?)
AnyHashableWithAClass 86687 88340 +1.9% 0.98x (?)
Array2D 607976 604190 -0.6% 1.01x (?)
ArrayAppendArrayOfInt 619 648 +4.7% 0.96x
ArrayAppendAscii 51128 51404 +0.5% 0.99x (?)
ArrayAppendFromGeneric 622 637 +2.4% 0.98x
ArrayAppendGenericStructs 1195 1197 +0.2% 1.00x (?)
ArrayAppendLatin1 81038 79790 -1.5% 1.02x (?)
ArrayAppendLazyMap 202612 198819 -1.9% 1.02x
ArrayAppendOptionals 1242 1193 -3.9% 1.04x
ArrayAppendSequence 191881 185418 -3.4% 1.03x (?)
ArrayAppendStrings 14705 14349 -2.4% 1.02x
ArrayAppendToFromGeneric 623 618 -0.8% 1.01x (?)
ArrayAppendToGeneric 623 638 +2.4% 0.98x
ArrayAppendUTF16 76703 75868 -1.1% 1.01x (?)
ArrayLiteral 1708 1667 -2.4% 1.02x
ArrayOfGenericRef 10069 10213 +1.4% 0.99x (?)
ArrayOfPOD 694 713 +2.7% 0.97x
ArrayOfRef 9271 9432 +1.7% 0.98x (?)
ArrayPlusEqualArrayOfInt 639 636 -0.5% 1.00x (?)
ArraySetElement 4724 4525 -4.2% 1.04x
ArraySubscript 83573 81660 -2.3% 1.02x
ArrayValueProp 3604 3453 -4.2% 1.04x
ArrayValueProp2 18006 18034 +0.2% 1.00x (?)
ArrayValueProp3 4224 4049 -4.1% 1.04x
ArrayValueProp4 4111 3940 -4.2% 1.04x
BitCount 1487 1518 +2.1% 0.98x (?)
ByteSwap 3995 3854 -3.5% 1.04x (?)
CStringLongAscii 4694 4816 +2.6% 0.97x (?)
CStringLongNonAscii 2299 2351 +2.3% 0.98x (?)
CStringShortAscii 8150 8234 +1.0% 0.99x (?)
Calculator 1841 1882 +2.2% 0.98x (?)
CaptureProp 117290 116443 -0.7% 1.01x (?)
CharIteration_ascii_unicodeScalars 183765 185391 +0.9% 0.99x (?)
CharIteration_ascii_unicodeScalars_Backwards 326237 318341 -2.4% 1.02x (?)
CharIteration_chinese_unicodeScalars 138748 135769 -2.1% 1.02x (?)
CharIteration_chinese_unicodeScalars_Backwards 248970 239997 -3.6% 1.04x (?)
CharIteration_japanese_unicodeScalars 226154 222856 -1.5% 1.01x
CharIteration_japanese_unicodeScalars_Backwards 384048 382956 -0.3% 1.00x (?)
CharIteration_korean_unicodeScalars 183058 174555 -4.6% 1.05x
CharIteration_korean_unicodeScalars_Backwards 313870 308433 -1.7% 1.02x (?)
CharIteration_punctuatedJapanese_unicodeScalars 33487 32822 -2.0% 1.02x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 55266 54128 -2.1% 1.02x (?)
CharIteration_punctuated_unicodeScalars 41504 40741 -1.8% 1.02x (?)
CharIteration_punctuated_unicodeScalars_Backwards 71395 68468 -4.1% 1.04x (?)
CharIteration_russian_unicodeScalars 157107 150376 -4.3% 1.04x (?)
CharIteration_russian_unicodeScalars_Backwards 274412 262567 -4.3% 1.05x
CharIteration_tweet_unicodeScalars 361679 366115 +1.2% 0.99x (?)
CharIteration_tweet_unicodeScalars_Backwards 645911 631852 -2.2% 1.02x (?)
CharacterLiteralsLarge 6038 6034 -0.1% 1.00x (?)
CharacterLiteralsSmall 748 726 -2.9% 1.03x
Chars 50498 50885 +0.8% 0.99x (?)
ClassArrayGetter 1015 1014 -0.1% 1.00x (?)
DeadArray 110019 110987 +0.9% 0.99x (?)
Dictionary 2989 3034 +1.5% 0.99x (?)
Dictionary2 3034 3026 -0.3% 1.00x (?)
Dictionary2OfObjects 5572 5470 -1.8% 1.02x (?)
Dictionary3 1280 1310 +2.3% 0.98x (?)
Dictionary3OfObjects 2238 2198 -1.8% 1.02x
DictionaryBridge 2434 2502 +2.8% 0.97x (?)
DictionaryGroup 5039 4828 -4.2% 1.04x (?)
DictionaryLiteral 8090 8131 +0.5% 0.99x (?)
DictionaryOfObjects 6345 6255 -1.4% 1.01x (?)
DictionaryRemove 17394 17391 -0.0% 1.00x (?)
DictionaryRemoveOfObjects 51295 49308 -3.9% 1.04x
DictionarySwap 5330 5330 +0.0% 1.00x
DictionarySwapOfObjects 22689 22219 -2.1% 1.02x
DropFirstAnySequence 12718 12903 +1.5% 0.99x (?)
DropFirstAnySequenceLazy 12479 12714 +1.9% 0.98x (?)
DropFirstArray 5578 5578 +0.0% 1.00x
DropFirstSequence 11619 11695 +0.7% 0.99x (?)
DropFirstSequenceLazy 11535 11489 -0.4% 1.00x (?)
DropLastAnySeqCRangeIter 43732 41698 -4.7% 1.05x
DropLastAnySequence 31866 31601 -0.8% 1.01x (?)
DropLastAnySequenceLazy 30710 30927 +0.7% 0.99x (?)
DropLastArray 1864 1870 +0.3% 1.00x (?)
DropLastSequence 31193 31089 -0.3% 1.00x (?)
DropLastSequenceLazy 31136 31124 -0.0% 1.00x (?)
DropWhileAnySequence 14528 14587 +0.4% 1.00x (?)
DropWhileAnySequenceLazy 12030 11968 -0.5% 1.01x (?)
DropWhileArray 9070 9209 +1.5% 0.98x
DropWhileArrayLazy 16123 16128 +0.0% 1.00x (?)
DropWhileSequence 13388 13664 +2.1% 0.98x (?)
DropWhileSequenceLazy 11012 10988 -0.2% 1.00x (?)
EqualStringSubstring 666 667 +0.2% 1.00x (?)
EqualSubstringString 697 668 -4.2% 1.04x (?)
EqualSubstringSubstring 788 769 -2.4% 1.02x
EqualSubstringSubstringGenericEquatable 456 453 -0.7% 1.01x (?)
ErrorHandling 6696 6742 +0.7% 0.99x (?)
ExclusivityGlobal 175 178 +1.7% 0.98x (?)
ExclusivityInMatSet 303 307 +1.3% 0.99x
ExclusivityIndependent 69 69 +0.0% 1.00x
FilterEvenUsingReduce 4165 4103 -1.5% 1.02x (?)
FilterEvenUsingReduceInto 2289 2328 +1.7% 0.98x (?)
FrequenciesUsingReduce 13619 13384 -1.7% 1.02x (?)
FrequenciesUsingReduceInto 8605 8437 -2.0% 1.02x (?)
Hanoi 20713 20632 -0.4% 1.00x (?)
HashTest 16904 16969 +0.4% 1.00x (?)
Histogram 8510 8618 +1.3% 0.99x (?)
Integrate 806 776 -3.7% 1.04x (?)
Join 1451 1490 +2.7% 0.97x (?)
LazilyFilteredArrayContains 908713 909488 +0.1% 1.00x
LazilyFilteredArrays 1599338 1548004 -3.2% 1.03x (?)
LessSubstringSubstring 789 773 -2.0% 1.02x (?)
LessSubstringSubstringGenericComparable 455 453 -0.4% 1.00x (?)
LinkedList 38118 38340 +0.6% 0.99x (?)
MapReduce 32959 33012 +0.2% 1.00x (?)
MapReduceAnyCollection 33791 33749 -0.1% 1.00x (?)
MapReduceAnyCollectionShort 46016 46422 +0.9% 0.99x (?)
MapReduceClass 37694 38724 +2.7% 0.97x (?)
MapReduceClassShort 49653 49454 -0.4% 1.00x (?)
MapReduceLazyCollection 28349 28320 -0.1% 1.00x (?)
MapReduceLazyCollectionShort 38970 38529 -1.1% 1.01x (?)
MapReduceLazySequence 21397 21403 +0.0% 1.00x (?)
MapReduceSequence 37226 37278 +0.1% 1.00x
MapReduceShort 45781 46992 +2.6% 0.97x
MapReduceShortString 261 262 +0.4% 1.00x (?)
MapReduceString 2354 2298 -2.4% 1.02x (?)
Memset 44605 42745 -4.2% 1.04x
MonteCarloE 914018 900227 -1.5% 1.02x (?)
MonteCarloPi 4092975 4052265 -1.0% 1.01x (?)
NSDictionaryCastToSwift 6153 6328 +2.8% 0.97x (?)
NSError 751 722 -3.9% 1.04x
NopDeinit 169995 173822 +2.3% 0.98x
ObjectAllocation 1471 1455 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 21226 21060 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 6736 7039 +4.5% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 37926 37687 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 32067 32705 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 107612 111629 +3.7% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 85324 88632 +3.9% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 100673 99830 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 63660 62862 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7383 7563 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 67460 67716 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 69924 69813 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSString 3870 3859 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2303 2282 -0.9% 1.01x (?)
ObjectiveCBridgeStubDataAppend 4718 4577 -3.0% 1.03x (?)
ObjectiveCBridgeStubFromArrayOfNSString 24887 24933 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 4201 4015 -4.4% 1.05x
ObjectiveCBridgeStubFromNSDateRef 4573 4367 -4.5% 1.05x
ObjectiveCBridgeStubFromNSString 586 574 -2.0% 1.02x
ObjectiveCBridgeStubNSDataAppend 2893 2820 -2.5% 1.03x (?)
ObjectiveCBridgeStubNSDateMutationRef 15034 15401 +2.4% 0.98x (?)
ObjectiveCBridgeStubToArrayOfNSString 27753 28165 +1.5% 0.99x (?)
ObjectiveCBridgeStubToNSDate 14879 14876 -0.0% 1.00x (?)
ObjectiveCBridgeStubToNSString 1526 1510 -1.0% 1.01x
ObjectiveCBridgeStubURLAppendPath 209354 214699 +2.6% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 218431 223291 +2.2% 0.98x (?)
ObjectiveCBridgeToNSArray 28900 28491 -1.4% 1.01x (?)
ObjectiveCBridgeToNSDictionary 45582 45255 -0.7% 1.01x (?)
ObjectiveCBridgeToNSSet 39314 39313 -0.0% 1.00x (?)
ObjectiveCBridgeToNSString 1311 1266 -3.4% 1.04x (?)
ObserverClosure 6470 6481 +0.2% 1.00x (?)
ObserverForwarderStruct 4835 4726 -2.3% 1.02x (?)
ObserverPartiallyAppliedMethod 7850 7908 +0.7% 0.99x (?)
ObserverUnappliedMethod 8383 8064 -3.8% 1.04x
OpenClose 389 394 +1.3% 0.99x (?)
Phonebook 21602 21325 -1.3% 1.01x (?)
PolymorphicCalls 5176 5137 -0.8% 1.01x (?)
PopFrontUnsafePointer 7628 7445 -2.4% 1.02x (?)
PrefixAnySequence 10488 10737 +2.4% 0.98x (?)
PrefixAnySequenceLazy 10536 10719 +1.7% 0.98x (?)
PrefixArray 5580 5603 +0.4% 1.00x (?)
PrefixSequence 9664 9958 +3.0% 0.97x (?)
PrefixSequenceLazy 9466 9487 +0.2% 1.00x (?)
PrefixWhileAnySeqCRangeIter 39546 38746 -2.0% 1.02x
PrefixWhileAnySequence 30588 30638 +0.2% 1.00x (?)
PrefixWhileAnySequenceLazy 10634 10592 -0.4% 1.00x (?)
PrefixWhileArray 15551 15673 +0.8% 0.99x (?)
PrefixWhileArrayLazy 13989 14138 +1.1% 0.99x
PrefixWhileSequence 29688 30064 +1.3% 0.99x (?)
PrefixWhileSequenceLazy 9765 9873 +1.1% 0.99x
Prims 10041 9964 -0.8% 1.01x (?)
PrimsSplit 9963 9957 -0.1% 1.00x (?)
ProtocolDispatch 7838 7865 +0.3% 1.00x (?)
ProtocolDispatch2 511 495 -3.1% 1.03x
RC4 18505 18710 +1.1% 0.99x (?)
RGBHistogram 32294 31139 -3.6% 1.04x
RGBHistogramOfObjects 99761 98167 -1.6% 1.02x (?)
RangeAssignment 4643 4629 -0.3% 1.00x (?)
RangeIterationSigned 17702 17421 -1.6% 1.02x
RecursiveOwnedParameter 7767 7755 -0.2% 1.00x (?)
ReversedDictionary 27364 26956 -1.5% 1.02x (?)
SetExclusiveOr 19215 19692 +2.5% 0.98x
SetExclusiveOr_OfObjects 44250 42828 -3.2% 1.03x
SetIntersect 10572 10580 +0.1% 1.00x (?)
SetIntersect_OfObjects 13358 13318 -0.3% 1.00x (?)
SetIsSubsetOf 1669 1678 +0.5% 0.99x (?)
SetIsSubsetOf_OfObjects 1699 1673 -1.5% 1.02x (?)
SetUnion 10228 10204 -0.2% 1.00x (?)
SevenBoom 1605 1581 -1.5% 1.02x (?)
Sim2DArray 43576 41797 -4.1% 1.04x (?)
SortLettersInPlace 2931 2901 -1.0% 1.01x (?)
SortSortedStrings 1315 1361 +3.5% 0.97x
SortStrings 2460 2447 -0.5% 1.01x
SortStringsUnicode 8790 8907 +1.3% 0.99x (?)
StackPromo 98369 94735 -3.7% 1.04x (?)
StrComplexWalk 6947 7012 +0.9% 0.99x (?)
StrToInt 111410 112281 +0.8% 0.99x (?)
StringAdder 3705 3692 -0.4% 1.00x (?)
StringBuilder 6774 6799 +0.4% 1.00x (?)
StringBuilderLong 1077 1089 +1.1% 0.99x (?)
StringEdits 356115 348887 -2.0% 1.02x (?)
StringEnumRawValueInitialization 12438 12217 -1.8% 1.02x
StringEqualPointerComparison 3046 2903 -4.7% 1.05x
StringFromLongWholeSubstring 206 206 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 206 199 -3.4% 1.04x
StringHasPrefix 2499 2413 -3.4% 1.04x (?)
StringHasPrefixUnicode 17155 16879 -1.6% 1.02x (?)
StringHasSuffix 2580 2532 -1.9% 1.02x
StringHasSuffixUnicode 64543 64058 -0.8% 1.01x (?)
StringInterpolation 13543 13470 -0.5% 1.01x (?)
StringMatch 34231 34438 +0.6% 0.99x (?)
StringUTF16Builder 7561 7850 +3.8% 0.96x
StringWalk 12010 11729 -2.3% 1.02x (?)
StringWithCString 58841 58407 -0.7% 1.01x (?)
SubstringComparable 4269 4268 -0.0% 1.00x (?)
SubstringEqualString 6274 6357 +1.3% 0.99x (?)
SubstringEquatable 8998 8882 -1.3% 1.01x (?)
SubstringFromLongString 19 20 +5.3% 0.95x (?)
SuffixAnySeqCRangeIter 40045 38261 -4.5% 1.05x
SuffixAnySequence 27393 27902 +1.9% 0.98x (?)
SuffixAnySequenceLazy 26994 26911 -0.3% 1.00x (?)
SuffixArray 1860 1876 +0.9% 0.99x (?)
SuffixSequence 27403 27312 -0.3% 1.00x (?)
SuffixSequenceLazy 27019 26646 -1.4% 1.01x (?)
SumUsingReduce 208596 209553 +0.5% 1.00x
SumUsingReduceInto 202124 206855 +2.3% 0.98x (?)
SuperChars 186542 186906 +0.2% 1.00x (?)
TwoSum 3690 3629 -1.7% 1.02x (?)
TypeFlood 158 160 +1.3% 0.99x (?)
UTF8Decode 34702 34945 +0.7% 0.99x (?)
Walsh 12143 11848 -2.4% 1.02x (?)
XorLoop 23241 23252 +0.0% 1.00x (?)
Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini7,1
  Processor Name: Intel Core i7
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 2
  L2 Cache (per Core): 256 KB
  L3 Cache: 4 MB
  Memory: 16 GB

@slavapestov slavapestov merged commit d0425d6 into apple:master Nov 20, 2017
6 checks passed
6 checks passed
Swift Benchmark on OS X Platform Build finished. No test results found.
Details
Swift Source Compatibility Suite on macOS Platform Build finished.
Details
Swift Test Linux Platform 10572 tests run, 0 skipped, 0 failed.
Details
Swift Test Linux Platform (smoke test)
Details
Swift Test OS X Platform 52980 tests run, 0 skipped, 0 failed.
Details
Swift Test OS X Platform (smoke test)
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.