Skip to content

[stdlib] Implement customization points for StrideTo, StrideThrough, and LazyFilterX #12390

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

Merged
merged 3 commits into from
Oct 15, 2017

Conversation

moiseev
Copy link
Contributor

@moiseev moiseev commented Oct 11, 2017

No description provided.

@moiseev
Copy link
Contributor Author

moiseev commented Oct 11, 2017

@swift-ci Please benchmark

@moiseev
Copy link
Contributor Author

moiseev commented Oct 11, 2017

@swift-ci Please smoke test

@moiseev moiseev changed the title [stdlib] Implement _preprocessingPass and _customContainsEquatableElement for StrideTo and StrideThrough [stdlib] Implement customization points for StrideTo and StrideThrough [WIP] Oct 11, 2017
@moiseev moiseev force-pushed the strides branch 2 times, most recently from 6c1c331 to 59ada5f Compare October 11, 2017 23:15
@moiseev
Copy link
Contributor Author

moiseev commented Oct 11, 2017

@swift-ci Please benchmark

@moiseev
Copy link
Contributor Author

moiseev commented Oct 11, 2017

@swift-ci Please smoke test

@moiseev
Copy link
Contributor Author

moiseev commented Oct 11, 2017

@swift-ci Please clean test Linux platform

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - df36d6263dd8a49ee270094b0d07d7051f644311

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (3)
TEST OLD NEW DELTA SPEEDUP
SuffixArray 9 10 +11.1% 0.90x
ClassArrayGetter 13 14 +7.7% 0.93x
ReversedDictionary 93 98 +5.4% 0.95x (?)
Improvement (16)
TEST OLD NEW DELTA SPEEDUP
ArrayValueProp2 6 5 -16.7% 1.20x
ArrayValueProp 6 5 -16.7% 1.20x
ArrayAppendLatin1 47980 41150 -14.2% 1.17x (?)
SuffixArrayLazy 10 9 -10.0% 1.11x
ArrayAppendSequence 942 864 -8.3% 1.09x
ArrayAppendGenericStructs 1228 1135 -7.6% 1.08x
ArrayAppendRepeatCol 1035 957 -7.5% 1.08x (?)
ArrayPlusEqualThreeElements 1703 1578 -7.3% 1.08x
ArrayAppendOptionals 1224 1136 -7.2% 1.08x
ArraySubscript 1508 1400 -7.2% 1.08x (?)
ArrayAppendLazyMap 962 894 -7.1% 1.08x (?)
AngryPhonebook 3100 2896 -6.6% 1.07x (?)
Array2D 2036 1904 -6.5% 1.07x (?)
ArrayAppendFromGeneric 603 565 -6.3% 1.07x (?)
ArraySetElement 452 424 -6.2% 1.07x
DropWhileSequence 1528 1434 -6.2% 1.07x
No Changes (314)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 70685 67658 -4.3% 1.04x
ArrayAppend 1057 1018 -3.7% 1.04x
ArrayAppendArrayOfInt 586 563 -3.9% 1.04x
ArrayAppendAscii 20500 20252 -1.2% 1.01x (?)
ArrayAppendReserved 840 801 -4.6% 1.05x
ArrayAppendStrings 14707 14180 -3.6% 1.04x
ArrayAppendToFromGeneric 583 565 -3.1% 1.03x (?)
ArrayAppendToGeneric 592 565 -4.6% 1.05x
ArrayAppendUTF16 41039 40276 -1.9% 1.02x (?)
ArrayInClass 63 62 -1.6% 1.02x (?)
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 218 217 -0.5% 1.00x (?)
ArrayOfGenericRef 3932 3815 -3.0% 1.03x (?)
ArrayOfPOD 167 166 -0.6% 1.01x (?)
ArrayOfRef 3861 3733 -3.3% 1.03x
ArrayPlusEqualArrayOfInt 567 565 -0.4% 1.00x (?)
ArrayPlusEqualFiveElementCollection 4634 4485 -3.2% 1.03x
ArrayPlusEqualSingleElementCollection 1049 1016 -3.1% 1.03x (?)
ArrayValueProp3 5 5 +0.0% 1.00x
ArrayValueProp4 5 5 +0.0% 1.00x
BitCount 136 135 -0.7% 1.01x (?)
ByteSwap 109 107 -1.8% 1.02x
CStringLongAscii 4717 4749 +0.7% 0.99x (?)
CStringLongNonAscii 2154 2125 -1.3% 1.01x (?)
CStringShortAscii 4696 4622 -1.6% 1.02x (?)
Calculator 33 32 -3.0% 1.03x (?)
CaptureProp 4413 4267 -3.3% 1.03x (?)
CharIndexing_ascii_unicodeScalars 13925 13437 -3.5% 1.04x
CharIndexing_ascii_unicodeScalars_Backwards 10866 10735 -1.2% 1.01x (?)
CharIndexing_chinese_unicodeScalars 10347 10167 -1.7% 1.02x (?)
CharIndexing_chinese_unicodeScalars_Backwards 8216 8147 -0.8% 1.01x (?)
CharIndexing_japanese_unicodeScalars 16456 16115 -2.1% 1.02x (?)
CharIndexing_japanese_unicodeScalars_Backwards 12909 12842 -0.5% 1.01x (?)
CharIndexing_korean_unicodeScalars 13406 13029 -2.8% 1.03x (?)
CharIndexing_korean_unicodeScalars_Backwards 10483 10412 -0.7% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2508 2479 -1.2% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2019 2008 -0.5% 1.01x (?)
CharIndexing_punctuated_unicodeScalars 3119 3081 -1.2% 1.01x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 2496 2437 -2.4% 1.02x (?)
CharIndexing_russian_unicodeScalars 11344 11189 -1.4% 1.01x (?)
CharIndexing_russian_unicodeScalars_Backwards 8993 8953 -0.4% 1.00x (?)
CharIndexing_tweet_unicodeScalars 26943 26530 -1.5% 1.02x (?)
CharIndexing_tweet_unicodeScalars_Backwards 21296 21146 -0.7% 1.01x (?)
CharIndexing_utf16_unicodeScalars 77080 76728 -0.5% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 57221 57087 -0.2% 1.00x (?)
CharIteration_ascii_unicodeScalars 15568 15464 -0.7% 1.01x (?)
CharIteration_ascii_unicodeScalars_Backwards 15890 15902 +0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars 11688 11653 -0.3% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 12147 12050 -0.8% 1.01x (?)
CharIteration_japanese_unicodeScalars 18503 18440 -0.3% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 19171 19042 -0.7% 1.01x (?)
CharIteration_korean_unicodeScalars 14967 15152 +1.2% 0.99x (?)
CharIteration_korean_unicodeScalars_Backwards 15313 15270 -0.3% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 2813 2793 -0.7% 1.01x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2872 2869 -0.1% 1.00x (?)
CharIteration_punctuated_unicodeScalars 3533 3486 -1.3% 1.01x (?)
CharIteration_punctuated_unicodeScalars_Backwards 3587 3524 -1.8% 1.02x (?)
CharIteration_russian_unicodeScalars 12828 12818 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 13340 13244 -0.7% 1.01x (?)
CharIteration_tweet_unicodeScalars 30171 30310 +0.5% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 31402 31407 +0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars 74231 75297 +1.4% 0.99x (?)
CharIteration_utf16_unicodeScalars_Backwards 92031 92142 +0.1% 1.00x (?)
CharacterLiteralsLarge 5673 5670 -0.1% 1.00x (?)
CharacterLiteralsSmall 392 392 +0.0% 1.00x
Chars 409 417 +2.0% 0.98x (?)
DeadArray 179 179 +0.0% 1.00x
Dictionary 552 552 +0.0% 1.00x
Dictionary2 1840 1841 +0.1% 1.00x (?)
Dictionary2OfObjects 3171 3214 +1.4% 0.99x (?)
Dictionary3 445 446 +0.2% 1.00x (?)
Dictionary3OfObjects 794 793 -0.1% 1.00x (?)
DictionaryBridge 2441 2424 -0.7% 1.01x (?)
DictionaryGroup 258 258 +0.0% 1.00x
DictionaryGroupOfObjects 1695 1697 +0.1% 1.00x (?)
DictionaryLiteral 1445 1440 -0.3% 1.00x (?)
DictionaryOfObjects 2196 2201 +0.2% 1.00x (?)
DictionaryRemove 2480 2496 +0.6% 0.99x (?)
DictionaryRemoveOfObjects 22604 22609 +0.0% 1.00x (?)
DictionarySwap 415 409 -1.4% 1.01x (?)
DictionarySwapOfObjects 6971 6957 -0.2% 1.00x (?)
DropFirstAnyCollection 52 52 +0.0% 1.00x
DropFirstAnyCollectionLazy 72349 72751 +0.6% 0.99x (?)
DropFirstAnySeqCRangeIter 28235 27986 -0.9% 1.01x (?)
DropFirstAnySeqCRangeIterLazy 28116 27987 -0.5% 1.00x (?)
DropFirstAnySeqCntRange 48 48 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 48 48 +0.0% 1.00x
DropFirstAnySequence 6199 6189 -0.2% 1.00x (?)
DropFirstAnySequenceLazy 6196 6204 +0.1% 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 1904 1905 +0.1% 1.00x (?)
DropFirstSequenceLazy 1835 1836 +0.1% 1.00x (?)
DropLastAnyCollection 20 20 +0.0% 1.00x
DropLastAnyCollectionLazy 23927 24489 +2.3% 0.98x (?)
DropLastAnySeqCRangeIter 4486 4499 +0.3% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4490 4456 -0.8% 1.01x (?)
DropLastAnySeqCntRange 15 15 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 15 15 +0.0% 1.00x
DropLastAnySequence 6372 6363 -0.1% 1.00x (?)
DropLastAnySequenceLazy 6386 6354 -0.5% 1.01x (?)
DropLastArray 9 9 +0.0% 1.00x
DropLastArrayLazy 9 9 +0.0% 1.00x
DropLastCountableRange 6 6 +0.0% 1.00x
DropLastCountableRangeLazy 6 6 +0.0% 1.00x
DropLastSequence 567 568 +0.2% 1.00x (?)
DropLastSequenceLazy 575 573 -0.3% 1.00x (?)
DropWhileAnyCollection 64 64 +0.0% 1.00x
DropWhileAnyCollectionLazy 83 83 +0.0% 1.00x
DropWhileAnySeqCRangeIter 22013 21681 -1.5% 1.02x (?)
DropWhileAnySeqCRangeIterLazy 85 85 +0.0% 1.00x
DropWhileAnySeqCntRange 60 60 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 85 85 +0.0% 1.00x
DropWhileAnySequence 6857 6870 +0.2% 1.00x (?)
DropWhileAnySequenceLazy 1837 1836 -0.1% 1.00x (?)
DropWhileArray 42 41 -2.4% 1.02x
DropWhileArrayLazy 77 77 +0.0% 1.00x
DropWhileCountableRange 18 18 +0.0% 1.00x
DropWhileCountableRangeLazy 66 66 +0.0% 1.00x
DropWhileSequenceLazy 44 44 +0.0% 1.00x
EqualStringSubstring 367 368 +0.3% 1.00x (?)
EqualSubstringString 374 377 +0.8% 0.99x (?)
EqualSubstringSubstring 377 375 -0.5% 1.01x (?)
EqualSubstringSubstringGenericEquatable 378 381 +0.8% 0.99x (?)
ErrorHandling 1963 1978 +0.8% 0.99x (?)
ExclusivityGlobal 2 2 +0.0% 1.00x
ExclusivityInMatSet 17 17 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1214 1215 +0.1% 1.00x (?)
FilterEvenUsingReduceInto 140 140 +0.0% 1.00x
FrequenciesUsingReduce 7157 7195 +0.5% 0.99x (?)
FrequenciesUsingReduceInto 3989 3987 -0.1% 1.00x (?)
Hanoi 3448 3496 +1.4% 0.99x (?)
HashTest 1595 1603 +0.5% 1.00x (?)
Histogram 272 274 +0.7% 0.99x (?)
Integrate 247 246 -0.4% 1.00x (?)
IterateData 1366 1346 -1.5% 1.01x (?)
Join 367 366 -0.3% 1.00x (?)
LazilyFilteredArrays 62820 63962 +1.8% 0.98x (?)
LazilyFilteredRange 3428 3412 -0.5% 1.00x (?)
LessSubstringSubstring 381 382 +0.3% 1.00x (?)
LessSubstringSubstringGenericComparable 379 379 +0.0% 1.00x
LinkedList 6537 6537 +0.0% 1.00x
MapReduce 349 353 +1.1% 0.99x (?)
MapReduceAnyCollection 388 391 +0.8% 0.99x (?)
MapReduceAnyCollectionShort 2008 1988 -1.0% 1.01x (?)
MapReduceClass 2896 2892 -0.1% 1.00x (?)
MapReduceClassShort 4292 4293 +0.0% 1.00x (?)
MapReduceLazyCollection 12 12 +0.0% 1.00x
MapReduceLazyCollectionShort 34 34 +0.0% 1.00x
MapReduceLazySequence 85 85 +0.0% 1.00x
MapReduceSequence 411 413 +0.5% 1.00x (?)
MapReduceShort 1904 1898 -0.3% 1.00x (?)
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 97 96 -1.0% 1.01x (?)
Memset 221 221 +0.0% 1.00x
MonteCarloE 9782 9783 +0.0% 1.00x (?)
MonteCarloPi 41466 41468 +0.0% 1.00x (?)
NSDictionaryCastToSwift 5010 5016 +0.1% 1.00x (?)
NSError 283 278 -1.8% 1.02x (?)
NSStringConversion 339 349 +2.9% 0.97x (?)
NopDeinit 20802 20891 +0.4% 1.00x (?)
ObjectAllocation 170 170 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 22046 22316 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3311 3299 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 38437 38494 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 32711 32896 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 116329 116813 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4944 5004 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 90220 91213 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 99609 97739 -1.9% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 62826 62430 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4059 4115 +1.4% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 65916 65747 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 66783 66565 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSString 986 963 -2.3% 1.02x (?)
ObjectiveCBridgeFromNSStringForced 1760 1812 +3.0% 0.97x (?)
ObjectiveCBridgeStubDataAppend 3644 3659 +0.4% 1.00x (?)
ObjectiveCBridgeStubDateAccess 173 174 +0.6% 0.99x (?)
ObjectiveCBridgeStubDateMutation 257 258 +0.4% 1.00x (?)
ObjectiveCBridgeStubFromArrayOfNSString 24337 24430 +0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 3731 3728 -0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSDateRef 4037 4037 +0.0% 1.00x
ObjectiveCBridgeStubFromNSString 534 535 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 141 141 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2347 2402 +2.3% 0.98x (?)
ObjectiveCBridgeStubNSDateMutationRef 12294 12101 -1.6% 1.02x (?)
ObjectiveCBridgeStubNSDateRefAccess 331 330 -0.3% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 28390 28081 -1.1% 1.01x (?)
ObjectiveCBridgeStubToNSDate 13799 13655 -1.0% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3094 3105 +0.4% 1.00x (?)
ObjectiveCBridgeStubToNSString 1398 1414 +1.1% 0.99x (?)
ObjectiveCBridgeStubToNSStringRef 113 110 -2.7% 1.03x (?)
ObjectiveCBridgeStubURLAppendPath 212179 208085 -1.9% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 210462 212786 +1.1% 0.99x (?)
ObjectiveCBridgeToNSArray 28453 28532 +0.3% 1.00x (?)
ObjectiveCBridgeToNSDictionary 44838 45283 +1.0% 0.99x (?)
ObjectiveCBridgeToNSSet 38620 38611 -0.0% 1.00x (?)
ObjectiveCBridgeToNSString 1198 1199 +0.1% 1.00x (?)
ObserverClosure 2290 2274 -0.7% 1.01x (?)
ObserverForwarderStruct 1056 1055 -0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 3580 3624 +1.2% 0.99x (?)
ObserverUnappliedMethod 2598 2596 -0.1% 1.00x (?)
OpenClose 3 3 +0.0% 1.00x
Phonebook 5837 5877 +0.7% 0.99x (?)
PolymorphicCalls 16 16 +0.0% 1.00x
PopFrontArray 1210 1211 +0.1% 1.00x (?)
PopFrontArrayGeneric 1214 1242 +2.3% 0.98x (?)
PopFrontUnsafePointer 5117 5021 -1.9% 1.02x (?)
PrefixAnyCollection 52 52 +0.0% 1.00x
PrefixAnyCollectionLazy 73410 73160 -0.3% 1.00x (?)
PrefixAnySeqCRangeIter 22333 22417 +0.4% 1.00x (?)
PrefixAnySeqCRangeIterLazy 22342 22414 +0.3% 1.00x (?)
PrefixAnySeqCntRange 48 48 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 48 48 +0.0% 1.00x
PrefixAnySequence 5117 5240 +2.4% 0.98x (?)
PrefixAnySequenceLazy 5156 5276 +2.3% 0.98x (?)
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 1430 1430 +0.0% 1.00x
PrefixSequenceLazy 1377 1383 +0.4% 1.00x
PrefixWhileAnyCollection 87 87 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 62 62 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12195 12246 +0.4% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 62 62 +0.0% 1.00x
PrefixWhileAnySeqCntRange 83 83 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 62 62 +0.0% 1.00x
PrefixWhileAnySequence 13553 13647 +0.7% 0.99x (?)
PrefixWhileAnySequenceLazy 1357 1372 +1.1% 0.99x (?)
PrefixWhileArray 65 66 +1.5% 0.98x (?)
PrefixWhileArrayLazy 35 36 +2.9% 0.97x
PrefixWhileCountableRange 28 28 +0.0% 1.00x
PrefixWhileCountableRangeLazy 17 17 +0.0% 1.00x
PrefixWhileSequence 335 337 +0.6% 0.99x (?)
PrefixWhileSequenceLazy 26 26 +0.0% 1.00x
Prims 719 718 -0.1% 1.00x (?)
PrimsSplit 721 742 +2.9% 0.97x (?)
ProtocolDispatch 2930 3030 +3.4% 0.97x (?)
ProtocolDispatch2 134 134 +0.0% 1.00x
RC4 151 152 +0.7% 0.99x (?)
RGBHistogram 2098 2168 +3.3% 0.97x
RGBHistogramOfObjects 21952 22009 +0.3% 1.00x (?)
RangeAssignment 362 366 +1.1% 0.99x (?)
RangeIterationSigned 130 132 +1.5% 0.98x (?)
RangeIterationSigned64 147 148 +0.7% 0.99x (?)
RangeIterationUnsigned 145 147 +1.4% 0.99x (?)
RecursiveOwnedParameter 2169 2168 -0.0% 1.00x (?)
ReversedArray 43 43 +0.0% 1.00x
ReversedBidirectional 27533 27664 +0.5% 1.00x (?)
SetExclusiveOr 2731 2765 +1.2% 0.99x (?)
SetExclusiveOr_OfObjects 8038 8000 -0.5% 1.00x (?)
SetIntersect 260 263 +1.2% 0.99x (?)
SetIntersect_OfObjects 1617 1615 -0.1% 1.00x (?)
SetIsSubsetOf 277 277 +0.0% 1.00x
SetIsSubsetOf_OfObjects 346 346 +0.0% 1.00x
SetUnion 2398 2417 +0.8% 0.99x (?)
SetUnion_OfObjects 6644 6564 -1.2% 1.01x (?)
SevenBoom 1428 1425 -0.2% 1.00x (?)
Sim2DArray 439 448 +2.1% 0.98x (?)
SortLargeExistentials 7991 8184 +2.4% 0.98x (?)
SortLettersInPlace 1074 1076 +0.2% 1.00x (?)
SortSortedStrings 875 889 +1.6% 0.98x (?)
SortStrings 1651 1658 +0.4% 1.00x (?)
SortStringsUnicode 8131 8258 +1.6% 0.98x (?)
StackPromo 21366 21320 -0.2% 1.00x (?)
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1564 1565 +0.1% 1.00x (?)
StrToInt 1753 1755 +0.1% 1.00x (?)
StringAdder 3402 3397 -0.1% 1.00x (?)
StringBuilder 969 970 +0.1% 1.00x (?)
StringBuilderLong 886 886 +0.0% 1.00x
StringEdits 164324 164883 +0.3% 1.00x (?)
StringEnumRawValueInitialization 763 759 -0.5% 1.01x (?)
StringEqualPointerComparison 353 354 +0.3% 1.00x (?)
StringFromLongWholeSubstring 168 170 +1.2% 0.99x (?)
StringFromLongWholeSubstringGeneric 81 81 +0.0% 1.00x
StringHasPrefix 8 8 +0.0% 1.00x
StringHasPrefixUnicode 14184 13981 -1.4% 1.01x (?)
StringHasSuffix 8 8 +0.0% 1.00x
StringHasSuffixUnicode 59218 58554 -1.1% 1.01x (?)
StringInterpolation 10601 10495 -1.0% 1.01x (?)
StringMatch 7097 7047 -0.7% 1.01x (?)
StringUTF16Builder 1830 1830 +0.0% 1.00x
StringWalk 1479 1480 +0.1% 1.00x (?)
StringWithCString 61825 61724 -0.2% 1.00x (?)
SubstringComparable 1581 1587 +0.4% 1.00x (?)
SubstringEqualString 1421 1410 -0.8% 1.01x (?)
SubstringEquatable 3616 3620 +0.1% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 58 59 +1.7% 0.98x (?)
SuffixAnyCollection 20 20 +0.0% 1.00x
SuffixAnyCollectionLazy 24530 24408 -0.5% 1.00x (?)
SuffixAnySeqCRangeIter 4886 4804 -1.7% 1.02x (?)
SuffixAnySeqCRangeIterLazy 4802 4835 +0.7% 0.99x (?)
SuffixAnySeqCntRange 15 15 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 15 15 +0.0% 1.00x
SuffixAnySequence 6490 6406 -1.3% 1.01x (?)
SuffixAnySequenceLazy 6495 6412 -1.3% 1.01x (?)
SuffixCountableRange 6 6 +0.0% 1.00x
SuffixCountableRangeLazy 6 6 +0.0% 1.00x
SuffixSequence 4425 4416 -0.2% 1.00x (?)
SuffixSequenceLazy 4415 4405 -0.2% 1.00x (?)
SumUsingReduce 94 93 -1.1% 1.01x (?)
SumUsingReduceInto 94 93 -1.1% 1.01x (?)
SuperChars 80961 79329 -2.0% 1.02x (?)
TwoSum 902 903 +0.1% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 246 244 -0.8% 1.01x (?)
Walsh 396 385 -2.8% 1.03x (?)
XorLoop 327 327 +0.0% 1.00x

Unoptimized (Onone)

Regression (1)
TEST OLD NEW DELTA SPEEDUP
ArrayAppendLatin1 75009 79151 +5.5% 0.95x (?)
Improvement (4)
TEST OLD NEW DELTA SPEEDUP
ArrayOfPOD 792 708 -10.6% 1.12x
AnyHashableWithAClass 89815 81757 -9.0% 1.10x (?)
ArrayOfGenericPOD 1310 1208 -7.8% 1.08x
DropFirstAnySeqCRangeIterLazy 31571 29857 -5.4% 1.06x
No Changes (328)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4748 4743 -0.1% 1.00x (?)
Array2D 601745 601622 -0.0% 1.00x (?)
ArrayAppend 4326 4329 +0.1% 1.00x (?)
ArrayAppendArrayOfInt 637 657 +3.1% 0.97x (?)
ArrayAppendAscii 51397 52604 +2.3% 0.98x (?)
ArrayAppendFromGeneric 622 640 +2.9% 0.97x
ArrayAppendGenericStructs 1196 1197 +0.1% 1.00x (?)
ArrayAppendLazyMap 221918 217412 -2.0% 1.02x (?)
ArrayAppendOptionals 1230 1197 -2.7% 1.03x (?)
ArrayAppendRepeatCol 230256 228634 -0.7% 1.01x (?)
ArrayAppendReserved 4253 4248 -0.1% 1.00x (?)
ArrayAppendSequence 77698 77351 -0.4% 1.00x
ArrayAppendStrings 14748 14851 +0.7% 0.99x (?)
ArrayAppendToFromGeneric 621 622 +0.2% 1.00x (?)
ArrayAppendToGeneric 623 622 -0.2% 1.00x (?)
ArrayAppendUTF16 75466 76939 +2.0% 0.98x
ArrayInClass 6125 6281 +2.5% 0.98x (?)
ArrayLiteral 1697 1716 +1.1% 0.99x (?)
ArrayOfGenericRef 9760 9745 -0.2% 1.00x (?)
ArrayOfRef 9242 8981 -2.8% 1.03x (?)
ArrayPlusEqualArrayOfInt 638 638 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 297033 296962 -0.0% 1.00x (?)
ArrayPlusEqualSingleElementCollection 295401 297051 +0.6% 0.99x (?)
ArrayPlusEqualThreeElements 10693 10741 +0.4% 1.00x (?)
ArraySetElement 4327 4324 -0.1% 1.00x (?)
ArraySubscript 87014 85486 -1.8% 1.02x
ArrayValueProp 3461 3473 +0.3% 1.00x (?)
ArrayValueProp2 18325 18293 -0.2% 1.00x (?)
ArrayValueProp3 3955 3960 +0.1% 1.00x (?)
ArrayValueProp4 3936 3924 -0.3% 1.00x (?)
BitCount 1553 1557 +0.3% 1.00x (?)
ByteSwap 3908 3964 +1.4% 0.99x (?)
CStringLongAscii 4755 4746 -0.2% 1.00x (?)
CStringLongNonAscii 2346 2349 +0.1% 1.00x (?)
CStringShortAscii 8488 8655 +2.0% 0.98x (?)
Calculator 1108 1096 -1.1% 1.01x (?)
CaptureProp 120456 122721 +1.9% 0.98x (?)
CharIndexing_ascii_unicodeScalars 482079 475589 -1.3% 1.01x (?)
CharIndexing_ascii_unicodeScalars_Backwards 511577 521740 +2.0% 0.98x (?)
CharIndexing_chinese_unicodeScalars 364456 357163 -2.0% 1.02x (?)
CharIndexing_chinese_unicodeScalars_Backwards 384552 393462 +2.3% 0.98x (?)
CharIndexing_japanese_unicodeScalars 574166 572386 -0.3% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 613792 602758 -1.8% 1.02x (?)
CharIndexing_korean_unicodeScalars 467155 458068 -1.9% 1.02x (?)
CharIndexing_korean_unicodeScalars_Backwards 503691 499637 -0.8% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 82820 81656 -1.4% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 89196 90396 +1.3% 0.99x (?)
CharIndexing_punctuated_unicodeScalars 104130 104296 +0.2% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 112146 113370 +1.1% 0.99x (?)
CharIndexing_russian_unicodeScalars 400826 390261 -2.6% 1.03x (?)
CharIndexing_russian_unicodeScalars_Backwards 432910 419318 -3.1% 1.03x (?)
CharIndexing_tweet_unicodeScalars 940336 961996 +2.3% 0.98x (?)
CharIndexing_tweet_unicodeScalars_Backwards 1037345 1023506 -1.3% 1.01x (?)
CharIndexing_utf16_unicodeScalars 529956 518791 -2.1% 1.02x (?)
CharIndexing_utf16_unicodeScalars_Backwards 562217 555611 -1.2% 1.01x (?)
CharIteration_ascii_unicodeScalars 178876 180369 +0.8% 0.99x (?)
CharIteration_ascii_unicodeScalars_Backwards 322219 313275 -2.8% 1.03x (?)
CharIteration_chinese_unicodeScalars 135292 135738 +0.3% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 238210 239248 +0.4% 1.00x (?)
CharIteration_japanese_unicodeScalars 220782 214753 -2.7% 1.03x (?)
CharIteration_japanese_unicodeScalars_Backwards 377606 381801 +1.1% 0.99x (?)
CharIteration_korean_unicodeScalars 172768 174378 +0.9% 0.99x (?)
CharIteration_korean_unicodeScalars_Backwards 308306 303329 -1.6% 1.02x (?)
CharIteration_punctuatedJapanese_unicodeScalars 32706 31996 -2.2% 1.02x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 54493 54537 +0.1% 1.00x (?)
CharIteration_punctuated_unicodeScalars 39944 40171 +0.6% 0.99x (?)
CharIteration_punctuated_unicodeScalars_Backwards 71374 70290 -1.5% 1.02x (?)
CharIteration_russian_unicodeScalars 152119 149603 -1.7% 1.02x (?)
CharIteration_russian_unicodeScalars_Backwards 260890 269301 +3.2% 0.97x (?)
CharIteration_tweet_unicodeScalars 353688 354935 +0.4% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 642403 618055 -3.8% 1.04x
CharIteration_utf16_unicodeScalars 196928 197276 +0.2% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 385093 384860 -0.1% 1.00x (?)
CharacterLiteralsLarge 6006 6019 +0.2% 1.00x (?)
CharacterLiteralsSmall 670 695 +3.7% 0.96x
Chars 49798 48714 -2.2% 1.02x (?)
ClassArrayGetter 964 983 +2.0% 0.98x
DeadArray 111303 110877 -0.4% 1.00x (?)
Dictionary 2972 2980 +0.3% 1.00x (?)
Dictionary2 3395 3404 +0.3% 1.00x (?)
Dictionary2OfObjects 5882 5894 +0.2% 1.00x (?)
Dictionary3 1294 1299 +0.4% 1.00x (?)
Dictionary3OfObjects 2245 2231 -0.6% 1.01x (?)
DictionaryBridge 2502 2518 +0.6% 0.99x (?)
DictionaryGroup 5359 5218 -2.6% 1.03x (?)
DictionaryGroupOfObjects 8062 8000 -0.8% 1.01x (?)
DictionaryLiteral 8353 8348 -0.1% 1.00x (?)
DictionaryOfObjects 6415 6388 -0.4% 1.00x (?)
DictionaryRemove 21292 21755 +2.2% 0.98x (?)
DictionaryRemoveOfObjects 58406 58317 -0.2% 1.00x (?)
DictionarySwap 5174 5151 -0.4% 1.00x (?)
DictionarySwapOfObjects 22616 22762 +0.6% 0.99x (?)
DropFirstAnyCollection 20601 19963 -3.1% 1.03x
DropFirstAnyCollectionLazy 142696 138734 -2.8% 1.03x (?)
DropFirstAnySeqCRangeIter 30587 29377 -4.0% 1.04x (?)
DropFirstAnySeqCntRange 20869 20260 -2.9% 1.03x
DropFirstAnySeqCntRangeLazy 20689 20006 -3.3% 1.03x
DropFirstAnySequence 15349 15473 +0.8% 0.99x (?)
DropFirstAnySequenceLazy 15294 15512 +1.4% 0.99x (?)
DropFirstArray 6191 6182 -0.1% 1.00x (?)
DropFirstArrayLazy 43935 43438 -1.1% 1.01x (?)
DropFirstCountableRange 332 329 -0.9% 1.01x (?)
DropFirstCountableRangeLazy 40393 40377 -0.0% 1.00x (?)
DropFirstSequence 14464 14635 +1.2% 0.99x (?)
DropFirstSequenceLazy 14477 14049 -3.0% 1.03x
DropLastAnyCollection 6819 6723 -1.4% 1.01x
DropLastAnyCollectionLazy 47212 46175 -2.2% 1.02x (?)
DropLastAnySeqCRangeIter 46758 45831 -2.0% 1.02x (?)
DropLastAnySeqCRangeIterLazy 46384 45578 -1.7% 1.02x (?)
DropLastAnySeqCntRange 6808 6719 -1.3% 1.01x (?)
DropLastAnySeqCntRangeLazy 6919 6726 -2.8% 1.03x (?)
DropLastAnySequence 33039 33195 +0.5% 1.00x (?)
DropLastAnySequenceLazy 32671 31879 -2.4% 1.02x (?)
DropLastArray 2072 2068 -0.2% 1.00x
DropLastArrayLazy 14750 14494 -1.7% 1.02x (?)
DropLastCountableRange 118 115 -2.5% 1.03x
DropLastCountableRangeLazy 13494 13503 +0.1% 1.00x (?)
DropLastSequence 32188 32204 +0.0% 1.00x (?)
DropLastSequenceLazy 32237 31774 -1.4% 1.01x (?)
DropWhileAnyCollection 26403 25663 -2.8% 1.03x
DropWhileAnyCollectionLazy 29093 28279 -2.8% 1.03x (?)
DropWhileAnySeqCRangeIter 33396 32710 -2.1% 1.02x (?)
DropWhileAnySeqCRangeIterLazy 28971 27745 -4.2% 1.04x (?)
DropWhileAnySeqCntRange 26980 26261 -2.7% 1.03x (?)
DropWhileAnySeqCntRangeLazy 28875 28676 -0.7% 1.01x (?)
DropWhileAnySequence 18263 18069 -1.1% 1.01x (?)
DropWhileAnySequenceLazy 14616 14316 -2.1% 1.02x (?)
DropWhileArray 9869 9851 -0.2% 1.00x
DropWhileArrayLazy 17087 17086 -0.0% 1.00x (?)
DropWhileCountableRange 6442 6278 -2.5% 1.03x
DropWhileCountableRangeLazy 28682 27546 -4.0% 1.04x
DropWhileSequence 17108 17111 +0.0% 1.00x (?)
DropWhileSequenceLazy 13137 13179 +0.3% 1.00x
EqualStringSubstring 663 660 -0.5% 1.00x (?)
EqualSubstringString 672 660 -1.8% 1.02x (?)
EqualSubstringSubstring 799 799 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 415 422 +1.7% 0.98x
ErrorHandling 6657 6623 -0.5% 1.01x (?)
ExclusivityGlobal 171 168 -1.8% 1.02x (?)
ExclusivityInMatSet 303 304 +0.3% 1.00x (?)
ExclusivityIndependent 123 122 -0.8% 1.01x (?)
FilterEvenUsingReduce 4217 4218 +0.0% 1.00x (?)
FilterEvenUsingReduceInto 2533 2519 -0.6% 1.01x
FrequenciesUsingReduce 15668 15786 +0.8% 0.99x (?)
FrequenciesUsingReduceInto 8819 8664 -1.8% 1.02x (?)
Hanoi 18622 18787 +0.9% 0.99x (?)
HashTest 16989 16777 -1.2% 1.01x (?)
Histogram 9026 8985 -0.5% 1.00x (?)
Integrate 680 685 +0.7% 0.99x (?)
IterateData 13035 13157 +0.9% 0.99x (?)
Join 1448 1465 +1.2% 0.99x (?)
LazilyFilteredArrays 1723175 1716956 -0.4% 1.00x (?)
LazilyFilteredRange 709601 682137 -3.9% 1.04x (?)
LessSubstringSubstring 786 787 +0.1% 1.00x (?)
LessSubstringSubstringGenericComparable 443 443 +0.0% 1.00x
LinkedList 38400 38441 +0.1% 1.00x (?)
MapReduce 36802 37093 +0.8% 0.99x (?)
MapReduceAnyCollection 37670 36682 -2.6% 1.03x
MapReduceAnyCollectionShort 49268 50090 +1.7% 0.98x (?)
MapReduceClass 42846 43077 +0.5% 0.99x
MapReduceClassShort 52657 53127 +0.9% 0.99x (?)
MapReduceLazyCollection 33091 33757 +2.0% 0.98x
MapReduceLazyCollectionShort 44588 44689 +0.2% 1.00x (?)
MapReduceLazySequence 28967 28859 -0.4% 1.00x (?)
MapReduceSequence 44206 43903 -0.7% 1.01x (?)
MapReduceShort 49847 49749 -0.2% 1.00x (?)
MapReduceShortString 276 276 +0.0% 1.00x
MapReduceString 2624 2593 -1.2% 1.01x (?)
Memset 42657 42681 +0.1% 1.00x (?)
MonteCarloE 905889 911794 +0.7% 0.99x (?)
MonteCarloPi 4014107 4038465 +0.6% 0.99x (?)
NSDictionaryCastToSwift 6379 6308 -1.1% 1.01x (?)
NSError 718 717 -0.1% 1.00x (?)
NSStringConversion 381 372 -2.4% 1.02x (?)
NopDeinit 169831 167429 -1.4% 1.01x (?)
ObjectAllocation 1433 1441 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObject 23851 24941 +4.6% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 6607 6852 +3.7% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 40761 40570 -0.5% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 34354 34861 +1.5% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 121070 123019 +1.6% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7375 7620 +3.3% 0.97x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 93743 98422 +5.0% 0.95x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 106457 104749 -1.6% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 66408 68320 +2.9% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7288 7385 +1.3% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 73232 73020 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 73144 73318 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSString 3837 3958 +3.2% 0.97x (?)
ObjectiveCBridgeFromNSStringForced 2147 2207 +2.8% 0.97x
ObjectiveCBridgeStubDataAppend 4378 4460 +1.9% 0.98x (?)
ObjectiveCBridgeStubDateAccess 1003 1010 +0.7% 0.99x (?)
ObjectiveCBridgeStubDateMutation 531 531 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 25318 25214 -0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 3944 3903 -1.0% 1.01x (?)
ObjectiveCBridgeStubFromNSDateRef 4200 4325 +3.0% 0.97x (?)
ObjectiveCBridgeStubFromNSString 586 588 +0.3% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 170 175 +2.9% 0.97x
ObjectiveCBridgeStubNSDataAppend 2676 2716 +1.5% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 15433 15199 -1.5% 1.02x (?)
ObjectiveCBridgeStubNSDateRefAccess 1211 1229 +1.5% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 28481 29422 +3.3% 0.97x (?)
ObjectiveCBridgeStubToNSDate 14811 15124 +2.1% 0.98x (?)
ObjectiveCBridgeStubToNSDateRef 3185 3239 +1.7% 0.98x (?)
ObjectiveCBridgeStubToNSString 1468 1508 +2.7% 0.97x (?)
ObjectiveCBridgeStubToNSStringRef 140 144 +2.9% 0.97x
ObjectiveCBridgeStubURLAppendPath 212415 214025 +0.8% 0.99x (?)
ObjectiveCBridgeStubURLAppendPathRef 216674 211669 -2.3% 1.02x (?)
ObjectiveCBridgeToNSArray 29195 29657 +1.6% 0.98x (?)
ObjectiveCBridgeToNSDictionary 45179 46368 +2.6% 0.97x (?)
ObjectiveCBridgeToNSSet 39977 40806 +2.1% 0.98x (?)
ObjectiveCBridgeToNSString 1271 1307 +2.8% 0.97x (?)
ObserverClosure 6558 6722 +2.5% 0.98x (?)
ObserverForwarderStruct 4786 4933 +3.1% 0.97x (?)
ObserverPartiallyAppliedMethod 8039 8154 +1.4% 0.99x (?)
ObserverUnappliedMethod 8541 8525 -0.2% 1.00x (?)
OpenClose 393 400 +1.8% 0.98x
Phonebook 21731 21366 -1.7% 1.02x (?)
PolymorphicCalls 5206 5182 -0.5% 1.00x (?)
PopFrontArray 9983 10102 +1.2% 0.99x (?)
PopFrontArrayGeneric 8999 9147 +1.6% 0.98x (?)
PopFrontUnsafePointer 7409 7444 +0.5% 1.00x
PrefixAnyCollection 20565 20507 -0.3% 1.00x (?)
PrefixAnyCollectionLazy 138061 145130 +5.1% 0.95x
PrefixAnySeqCRangeIter 24103 23393 -2.9% 1.03x
PrefixAnySeqCRangeIterLazy 24441 24220 -0.9% 1.01x (?)
PrefixAnySeqCntRange 20838 20257 -2.8% 1.03x (?)
PrefixAnySeqCntRangeLazy 20734 20156 -2.8% 1.03x (?)
PrefixAnySequence 12929 12957 +0.2% 1.00x (?)
PrefixAnySequenceLazy 12557 12672 +0.9% 0.99x (?)
PrefixArray 6190 6196 +0.1% 1.00x (?)
PrefixArrayLazy 43475 44747 +2.9% 0.97x (?)
PrefixCountableRange 333 334 +0.3% 1.00x
PrefixCountableRangeLazy 39922 40399 +1.2% 0.99x (?)
PrefixSequence 11538 11551 +0.1% 1.00x (?)
PrefixSequenceLazy 11496 11488 -0.1% 1.00x (?)
PrefixWhileAnyCollection 39118 38055 -2.7% 1.03x (?)
PrefixWhileAnyCollectionLazy 23456 23220 -1.0% 1.01x (?)
PrefixWhileAnySeqCRangeIter 43238 42286 -2.2% 1.02x (?)
PrefixWhileAnySeqCRangeIterLazy 23400 23328 -0.3% 1.00x (?)
PrefixWhileAnySeqCntRange 39339 38490 -2.2% 1.02x (?)
PrefixWhileAnySeqCntRangeLazy 23806 23267 -2.3% 1.02x (?)
PrefixWhileAnySequence 31142 31644 +1.6% 0.98x (?)
PrefixWhileAnySequenceLazy 12839 13238 +3.1% 0.97x
PrefixWhileArray 16955 16991 +0.2% 1.00x (?)
PrefixWhileArrayLazy 14876 14901 +0.2% 1.00x
PrefixWhileCountableRange 18301 18563 +1.4% 0.99x (?)
PrefixWhileCountableRangeLazy 23283 22808 -2.0% 1.02x (?)
PrefixWhileSequence 30895 31824 +3.0% 0.97x (?)
PrefixWhileSequenceLazy 12026 12398 +3.1% 0.97x
Prims 10223 10285 +0.6% 0.99x (?)
PrimsSplit 10262 10354 +0.9% 0.99x (?)
ProtocolDispatch 7541 7604 +0.8% 0.99x (?)
ProtocolDispatch2 500 516 +3.2% 0.97x
RC4 18090 18043 -0.3% 1.00x (?)
RGBHistogram 33286 33448 +0.5% 1.00x (?)
RGBHistogramOfObjects 101008 103164 +2.1% 0.98x (?)
RangeAssignment 5485 5568 +1.5% 0.99x
RangeIterationSigned 17143 17821 +4.0% 0.96x
RangeIterationSigned64 52443 52578 +0.3% 1.00x (?)
RangeIterationUnsigned 47852 48942 +2.3% 0.98x (?)
RecursiveOwnedParameter 10521 10733 +2.0% 0.98x (?)
ReversedArray 42374 43306 +2.2% 0.98x (?)
ReversedBidirectional 75848 76034 +0.2% 1.00x (?)
ReversedDictionary 29047 29697 +2.2% 0.98x (?)
SetExclusiveOr 22325 23107 +3.5% 0.97x
SetExclusiveOr_OfObjects 46880 46793 -0.2% 1.00x (?)
SetIntersect 12201 12170 -0.3% 1.00x (?)
SetIntersect_OfObjects 12485 12700 +1.7% 0.98x (?)
SetIsSubsetOf 1830 1893 +3.4% 0.97x (?)
SetIsSubsetOf_OfObjects 1506 1536 +2.0% 0.98x
SetUnion 11573 11645 +0.6% 0.99x (?)
SetUnion_OfObjects 32807 32814 +0.0% 1.00x (?)
SevenBoom 1681 1651 -1.8% 1.02x (?)
Sim2DArray 41614 41613 -0.0% 1.00x (?)
SortLargeExistentials 16701 17083 +2.3% 0.98x (?)
SortLettersInPlace 2991 3068 +2.6% 0.97x
SortSortedStrings 1420 1454 +2.4% 0.98x (?)
SortStrings 2647 2615 -1.2% 1.01x (?)
SortStringsUnicode 8956 9347 +4.4% 0.96x (?)
StackPromo 101492 101395 -0.1% 1.00x (?)
StaticArray 4456 4602 +3.3% 0.97x
StrComplexWalk 6965 6952 -0.2% 1.00x (?)
StrToInt 122311 126617 +3.5% 0.97x (?)
StringAdder 3697 3708 +0.3% 1.00x (?)
StringBuilder 6931 7123 +2.8% 0.97x (?)
StringBuilderLong 1064 1097 +3.1% 0.97x (?)
StringEdits 366286 371151 +1.3% 0.99x (?)
StringEnumRawValueInitialization 12072 12390 +2.6% 0.97x (?)
StringEqualPointerComparison 2692 2616 -2.8% 1.03x (?)
StringFromLongWholeSubstring 205 207 +1.0% 0.99x (?)
StringFromLongWholeSubstringGeneric 208 209 +0.5% 1.00x (?)
StringHasPrefix 1791 1853 +3.5% 0.97x (?)
StringHasPrefixUnicode 16268 16353 +0.5% 0.99x
StringHasSuffix 1928 1942 +0.7% 0.99x (?)
StringHasSuffixUnicode 62366 63386 +1.6% 0.98x (?)
StringInterpolation 13887 13804 -0.6% 1.01x (?)
StringMatch 33839 33961 +0.4% 1.00x (?)
StringUTF16Builder 7678 7967 +3.8% 0.96x (?)
StringWalk 12276 12375 +0.8% 0.99x (?)
StringWithCString 57679 57158 -0.9% 1.01x (?)
SubstringComparable 4300 4453 +3.6% 0.97x (?)
SubstringEqualString 6383 6583 +3.1% 0.97x (?)
SubstringEquatable 8205 8237 +0.4% 1.00x (?)
SubstringFromLongString 16 16 +0.0% 1.00x
SubstringFromLongStringGeneric 108 109 +0.9% 0.99x
SuffixAnyCollection 6897 6760 -2.0% 1.02x (?)
SuffixAnyCollectionLazy 45574 47810 +4.9% 0.95x
SuffixAnySeqCRangeIter 43716 43920 +0.5% 1.00x (?)
SuffixAnySeqCRangeIterLazy 43871 44172 +0.7% 0.99x (?)
SuffixAnySeqCntRange 6915 6716 -2.9% 1.03x (?)
SuffixAnySeqCntRangeLazy 6731 6706 -0.4% 1.00x (?)
SuffixAnySequence 29644 30371 +2.5% 0.98x (?)
SuffixAnySequenceLazy 29880 29928 +0.2% 1.00x (?)
SuffixArray 2072 2075 +0.1% 1.00x
SuffixArrayLazy 14569 14938 +2.5% 0.98x (?)
SuffixCountableRange 115 118 +2.6% 0.97x
SuffixCountableRangeLazy 13500 13517 +0.1% 1.00x (?)
SuffixSequence 30147 29862 -0.9% 1.01x (?)
SuffixSequenceLazy 29930 29835 -0.3% 1.00x (?)
SumUsingReduce 220372 224741 +2.0% 0.98x (?)
SumUsingReduceInto 214104 219040 +2.3% 0.98x (?)
SuperChars 187301 192729 +2.9% 0.97x
TwoSum 4310 4208 -2.4% 1.02x (?)
TypeFlood 163 161 -1.2% 1.01x (?)
UTF8Decode 36582 36551 -0.1% 1.00x (?)
Walsh 11483 11489 +0.1% 1.00x (?)
XorLoop 22232 22257 +0.1% 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

@moiseev
Copy link
Contributor Author

moiseev commented Oct 12, 2017

@swift-ci Please smoke benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (4)
TEST OLD NEW DELTA SPEEDUP
NSError 291 317 +8.9% 0.92x (?)
ArrayAppendLatin1 41892 45080 +7.6% 0.93x
DropLastAnySeqCntRange 15 16 +6.7% 0.94x
DropLastAnySeqCntRangeLazy 15 16 +6.7% 0.94x
Improvement (3)
TEST OLD NEW DELTA SPEEDUP
SevenBoom 1590 1500 -5.7% 1.06x
DropFirstCountableRange 19 18 -5.3% 1.06x
PrefixCountableRange 19 18 -5.3% 1.06x
No Changes (326)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2958 2979 +0.7% 0.99x (?)
AnyHashableWithAClass 68040 67358 -1.0% 1.01x
Array2D 1942 1938 -0.2% 1.00x (?)
ArrayAppend 1081 1079 -0.2% 1.00x (?)
ArrayAppendArrayOfInt 598 599 +0.2% 1.00x
ArrayAppendAscii 20240 19965 -1.4% 1.01x
ArrayAppendFromGeneric 599 599 +0.0% 1.00x
ArrayAppendGenericStructs 1227 1243 +1.3% 0.99x (?)
ArrayAppendLazyMap 922 923 +0.1% 1.00x
ArrayAppendOptionals 1235 1263 +2.3% 0.98x
ArrayAppendRepeatCol 999 999 +0.0% 1.00x
ArrayAppendReserved 846 847 +0.1% 1.00x
ArrayAppendSequence 913 913 +0.0% 1.00x
ArrayAppendStrings 15092 15066 -0.2% 1.00x
ArrayAppendToFromGeneric 598 599 +0.2% 1.00x
ArrayAppendToGeneric 599 599 +0.0% 1.00x
ArrayAppendUTF16 41870 43700 +4.4% 0.96x
ArrayInClass 61 61 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 230 230 +0.0% 1.00x
ArrayOfGenericRef 3996 3993 -0.1% 1.00x (?)
ArrayOfPOD 177 177 +0.0% 1.00x
ArrayOfRef 3926 3922 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 598 598 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4792 4808 +0.3% 1.00x (?)
ArrayPlusEqualSingleElementCollection 1080 1078 -0.2% 1.00x (?)
ArrayPlusEqualThreeElements 1646 1676 +1.8% 0.98x (?)
ArraySetElement 474 456 -3.8% 1.04x (?)
ArraySubscript 1485 1478 -0.5% 1.00x (?)
ArrayValueProp 6 6 +0.0% 1.00x
ArrayValueProp2 6 6 +0.0% 1.00x
ArrayValueProp3 6 6 +0.0% 1.00x
ArrayValueProp4 6 6 +0.0% 1.00x
BitCount 156 152 -2.6% 1.03x
ByteSwap 114 114 +0.0% 1.00x
CStringLongAscii 4715 4715 +0.0% 1.00x
CStringLongNonAscii 2190 2220 +1.4% 0.99x
CStringShortAscii 4796 4756 -0.8% 1.01x
Calculator 33 33 +0.0% 1.00x
CaptureProp 4560 4599 +0.9% 0.99x
CharIndexing_ascii_unicodeScalars 13444 13440 -0.0% 1.00x
CharIndexing_ascii_unicodeScalars_Backwards 11260 11265 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 10198 10197 -0.0% 1.00x
CharIndexing_chinese_unicodeScalars_Backwards 8550 8552 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars 16084 16080 -0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 13469 13479 +0.1% 1.00x (?)
CharIndexing_korean_unicodeScalars 13033 13034 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 10920 10925 +0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2501 2481 -0.8% 1.01x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2081 2090 +0.4% 1.00x
CharIndexing_punctuated_unicodeScalars 3073 3074 +0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 2589 2591 +0.1% 1.00x
CharIndexing_russian_unicodeScalars 11208 11203 -0.0% 1.00x
CharIndexing_russian_unicodeScalars_Backwards 9396 9397 +0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 26462 26457 -0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 22171 22178 +0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars 81375 81331 -0.1% 1.00x
CharIndexing_utf16_unicodeScalars_Backwards 60526 60509 -0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars 15225 15625 +2.6% 0.97x
CharIteration_ascii_unicodeScalars_Backwards 16567 16569 +0.0% 1.00x
CharIteration_chinese_unicodeScalars 11534 11838 +2.6% 0.97x
CharIteration_chinese_unicodeScalars_Backwards 12535 12544 +0.1% 1.00x
CharIteration_japanese_unicodeScalars 18234 18705 +2.6% 0.97x
CharIteration_japanese_unicodeScalars_Backwards 19831 19840 +0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 14740 15150 +2.8% 0.97x
CharIteration_korean_unicodeScalars_Backwards 16058 16066 +0.0% 1.00x
CharIteration_punctuatedJapanese_unicodeScalars 2762 2840 +2.8% 0.97x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2978 2985 +0.2% 1.00x
CharIteration_punctuated_unicodeScalars 3449 3552 +3.0% 0.97x
CharIteration_punctuated_unicodeScalars_Backwards 3733 3740 +0.2% 1.00x
CharIteration_russian_unicodeScalars 12673 13023 +2.8% 0.97x
CharIteration_russian_unicodeScalars_Backwards 13796 13803 +0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars 30021 30786 +2.5% 0.98x
CharIteration_tweet_unicodeScalars_Backwards 32728 32791 +0.2% 1.00x
CharIteration_utf16_unicodeScalars 77828 78631 +1.0% 0.99x
CharIteration_utf16_unicodeScalars_Backwards 97678 97991 +0.3% 1.00x
CharacterLiteralsLarge 6015 6001 -0.2% 1.00x (?)
CharacterLiteralsSmall 403 404 +0.2% 1.00x
Chars 429 426 -0.7% 1.01x
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 181 181 +0.0% 1.00x
Dictionary 580 570 -1.7% 1.02x
Dictionary2 1891 1894 +0.2% 1.00x (?)
Dictionary2OfObjects 3299 3306 +0.2% 1.00x (?)
Dictionary3 469 472 +0.6% 0.99x (?)
Dictionary3OfObjects 839 840 +0.1% 1.00x
DictionaryBridge 2651 2695 +1.7% 0.98x (?)
DictionaryGroup 274 276 +0.7% 0.99x
DictionaryGroupOfObjects 1798 1794 -0.2% 1.00x
DictionaryLiteral 1493 1487 -0.4% 1.00x
DictionaryOfObjects 2265 2263 -0.1% 1.00x (?)
DictionaryRemove 2436 2464 +1.1% 0.99x
DictionaryRemoveOfObjects 23933 23952 +0.1% 1.00x
DictionarySwap 414 417 +0.7% 0.99x (?)
DictionarySwapOfObjects 7460 7372 -1.2% 1.01x (?)
DropFirstAnyCollection 55 55 +0.0% 1.00x
DropFirstAnyCollectionLazy 76356 75953 -0.5% 1.01x (?)
DropFirstAnySeqCRangeIter 28366 28378 +0.0% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 28370 28377 +0.0% 1.00x (?)
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 6459 6337 -1.9% 1.02x
DropFirstAnySequenceLazy 6451 6349 -1.6% 1.02x
DropFirstArray 30 30 +0.0% 1.00x
DropFirstArrayLazy 30 30 +0.0% 1.00x
DropFirstCountableRangeLazy 18 18 +0.0% 1.00x
DropFirstSequence 2019 2019 +0.0% 1.00x
DropFirstSequenceLazy 1944 1945 +0.1% 1.00x
DropLastAnyCollection 21 21 +0.0% 1.00x
DropLastAnyCollectionLazy 25230 25269 +0.2% 1.00x (?)
DropLastAnySeqCRangeIter 4750 4736 -0.3% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4720 4724 +0.1% 1.00x (?)
DropLastAnySequence 6740 6745 +0.1% 1.00x (?)
DropLastAnySequenceLazy 6675 6675 +0.0% 1.00x
DropLastArray 10 10 +0.0% 1.00x
DropLastArrayLazy 10 10 +0.0% 1.00x
DropLastCountableRange 6 6 +0.0% 1.00x
DropLastCountableRangeLazy 6 6 +0.0% 1.00x
DropLastSequence 607 609 +0.3% 1.00x
DropLastSequenceLazy 608 609 +0.2% 1.00x
DropWhileAnyCollection 68 68 +0.0% 1.00x
DropWhileAnyCollectionLazy 90 90 +0.0% 1.00x
DropWhileAnySeqCRangeIter 22699 22800 +0.4% 1.00x
DropWhileAnySeqCRangeIterLazy 89 89 +0.0% 1.00x
DropWhileAnySeqCntRange 63 63 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 88 88 +0.0% 1.00x
DropWhileAnySequence 7262 7274 +0.2% 1.00x
DropWhileAnySequenceLazy 1933 1933 +0.0% 1.00x
DropWhileArray 43 43 +0.0% 1.00x
DropWhileArrayLazy 78 78 +0.0% 1.00x
DropWhileCountableRange 19 19 +0.0% 1.00x
DropWhileCountableRangeLazy 70 70 +0.0% 1.00x
DropWhileSequence 1624 1622 -0.1% 1.00x
DropWhileSequenceLazy 46 46 +0.0% 1.00x
EqualStringSubstring 389 390 +0.3% 1.00x
EqualSubstringString 388 390 +0.5% 0.99x
EqualSubstringSubstring 391 393 +0.5% 0.99x
EqualSubstringSubstringGenericEquatable 392 393 +0.3% 1.00x
ErrorHandling 2068 2094 +1.3% 0.99x (?)
ExclusivityGlobal 3 3 +0.0% 1.00x
ExclusivityInMatSet 18 18 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1298 1288 -0.8% 1.01x (?)
FilterEvenUsingReduceInto 145 144 -0.7% 1.01x (?)
FrequenciesUsingReduce 7344 7344 +0.0% 1.00x
FrequenciesUsingReduceInto 4150 4150 +0.0% 1.00x
Hanoi 3598 3606 +0.2% 1.00x
HashTest 1646 1646 +0.0% 1.00x
Histogram 278 277 -0.4% 1.00x (?)
Integrate 249 249 +0.0% 1.00x
IterateData 1397 1390 -0.5% 1.01x
Join 390 392 +0.5% 0.99x (?)
LazilyFilteredArrays 65713 65800 +0.1% 1.00x (?)
LazilyFilteredRange 3759 3766 +0.2% 1.00x
LessSubstringSubstring 392 393 +0.3% 1.00x
LessSubstringSubstringGenericComparable 391 391 +0.0% 1.00x
LinkedList 6995 6995 +0.0% 1.00x
MapReduce 361 362 +0.3% 1.00x (?)
MapReduceAnyCollection 364 363 -0.3% 1.00x (?)
MapReduceAnyCollectionShort 2086 2073 -0.6% 1.01x (?)
MapReduceClass 3069 3067 -0.1% 1.00x (?)
MapReduceClassShort 4553 4551 -0.0% 1.00x (?)
MapReduceLazyCollection 12 12 +0.0% 1.00x
MapReduceLazyCollectionShort 36 36 +0.0% 1.00x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 442 438 -0.9% 1.01x (?)
MapReduceShort 2021 2025 +0.2% 1.00x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 99 99 +0.0% 1.00x
Memset 234 234 +0.0% 1.00x
MonteCarloE 10370 10369 -0.0% 1.00x (?)
MonteCarloPi 43978 43981 +0.0% 1.00x (?)
NSDictionaryCastToSwift 5302 5284 -0.3% 1.00x (?)
NSStringConversion 355 350 -1.4% 1.01x
NopDeinit 22909 22894 -0.1% 1.00x
ObjectAllocation 180 180 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 23090 23369 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3452 3457 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 39873 40341 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 33590 33752 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 121260 124042 +2.3% 0.98x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5117 5199 +1.6% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 91398 91559 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 101815 101826 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 65490 65316 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4257 4215 -1.0% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 68198 68532 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 69463 70397 +1.3% 0.99x (?)
ObjectiveCBridgeFromNSString 986 986 +0.0% 1.00x
ObjectiveCBridgeFromNSStringForced 1837 1846 +0.5% 1.00x
ObjectiveCBridgeStubDataAppend 3958 3909 -1.2% 1.01x (?)
ObjectiveCBridgeStubDateAccess 182 181 -0.5% 1.01x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 25062 24813 -1.0% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 3540 3534 -0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSDateRef 4158 4157 -0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSString 526 534 +1.5% 0.99x
ObjectiveCBridgeStubFromNSStringRef 146 146 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2354 2408 +2.3% 0.98x (?)
ObjectiveCBridgeStubNSDateMutationRef 12222 12557 +2.7% 0.97x (?)
ObjectiveCBridgeStubNSDateRefAccess 338 339 +0.3% 1.00x
ObjectiveCBridgeStubToArrayOfNSString 29398 29833 +1.5% 0.99x (?)
ObjectiveCBridgeStubToNSDate 14745 14730 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3213 3290 +2.4% 0.98x (?)
ObjectiveCBridgeStubToNSString 1496 1498 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 116 116 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 224761 219667 -2.3% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 225439 219233 -2.8% 1.03x (?)
ObjectiveCBridgeToNSArray 29533 29397 -0.5% 1.00x (?)
ObjectiveCBridgeToNSDictionary 48275 46336 -4.0% 1.04x
ObjectiveCBridgeToNSSet 40180 40222 +0.1% 1.00x (?)
ObjectiveCBridgeToNSString 1268 1270 +0.2% 1.00x (?)
ObserverClosure 2335 2326 -0.4% 1.00x
ObserverForwarderStruct 1275 1269 -0.5% 1.00x (?)
ObserverPartiallyAppliedMethod 3860 3842 -0.5% 1.00x
ObserverUnappliedMethod 2663 2655 -0.3% 1.00x (?)
OpenClose 3 3 +0.0% 1.00x
Phonebook 5932 5960 +0.5% 1.00x
PolymorphicCalls 17 17 +0.0% 1.00x
PopFrontArray 1292 1292 +0.0% 1.00x
PopFrontArrayGeneric 1292 1292 +0.0% 1.00x
PopFrontUnsafePointer 6104 6104 +0.0% 1.00x
PrefixAnyCollection 55 55 +0.0% 1.00x
PrefixAnyCollectionLazy 75448 75891 +0.6% 0.99x (?)
PrefixAnySeqCRangeIter 22363 22350 -0.1% 1.00x (?)
PrefixAnySeqCRangeIterLazy 22347 22375 +0.1% 1.00x (?)
PrefixAnySeqCntRange 50 50 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 50 50 +0.0% 1.00x
PrefixAnySequence 5683 5720 +0.7% 0.99x
PrefixAnySequenceLazy 5695 5717 +0.4% 1.00x
PrefixArray 30 30 +0.0% 1.00x
PrefixArrayLazy 30 30 +0.0% 1.00x
PrefixCountableRangeLazy 18 18 +0.0% 1.00x
PrefixSequence 1515 1515 +0.0% 1.00x
PrefixSequenceLazy 1460 1460 +0.0% 1.00x
PrefixWhileAnyCollection 93 93 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 66 66 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12996 12905 -0.7% 1.01x (?)
PrefixWhileAnySeqCRangeIterLazy 66 66 +0.0% 1.00x
PrefixWhileAnySeqCntRange 88 88 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 66 66 +0.0% 1.00x
PrefixWhileAnySequence 14423 14389 -0.2% 1.00x (?)
PrefixWhileAnySequenceLazy 1436 1436 +0.0% 1.00x
PrefixWhileArray 68 68 +0.0% 1.00x
PrefixWhileArrayLazy 37 37 +0.0% 1.00x
PrefixWhileCountableRange 29 29 +0.0% 1.00x
PrefixWhileCountableRangeLazy 18 18 +0.0% 1.00x
PrefixWhileSequence 354 354 +0.0% 1.00x
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 764 759 -0.7% 1.01x
PrimsSplit 785 788 +0.4% 1.00x (?)
ProtocolDispatch 2731 2734 +0.1% 1.00x (?)
ProtocolDispatch2 130 130 +0.0% 1.00x
RC4 158 158 +0.0% 1.00x
RGBHistogram 2186 2179 -0.3% 1.00x (?)
RGBHistogramOfObjects 23331 23275 -0.2% 1.00x (?)
RangeAssignment 350 364 +4.0% 0.96x
RangeIterationSigned 151 151 +0.0% 1.00x
RangeIterationSigned64 151 151 +0.0% 1.00x
RangeIterationUnsigned 152 151 -0.7% 1.01x (?)
RecursiveOwnedParameter 2307 2308 +0.0% 1.00x
ReversedArray 46 46 +0.0% 1.00x
ReversedBidirectional 29290 29322 +0.1% 1.00x (?)
ReversedDictionary 107 105 -1.9% 1.02x (?)
SetExclusiveOr 2870 2866 -0.1% 1.00x (?)
SetExclusiveOr_OfObjects 8487 8250 -2.8% 1.03x
SetIntersect 258 256 -0.8% 1.01x (?)
SetIntersect_OfObjects 1717 1719 +0.1% 1.00x (?)
SetIsSubsetOf 294 293 -0.3% 1.00x
SetIsSubsetOf_OfObjects 366 366 +0.0% 1.00x
SetUnion 2612 2609 -0.1% 1.00x (?)
SetUnion_OfObjects 7017 6916 -1.4% 1.01x
Sim2DArray 347 348 +0.3% 1.00x (?)
SortLargeExistentials 8396 8464 +0.8% 0.99x (?)
SortLettersInPlace 1138 1141 +0.3% 1.00x (?)
SortSortedStrings 871 860 -1.3% 1.01x
SortStrings 1655 1652 -0.2% 1.00x
SortStringsUnicode 8145 8185 +0.5% 1.00x (?)
StackPromo 22833 22953 +0.5% 0.99x
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1651 1651 +0.0% 1.00x
StrToInt 1824 1791 -1.8% 1.02x
StringAdder 3506 3515 +0.3% 1.00x (?)
StringBuilder 1008 1008 +0.0% 1.00x
StringBuilderLong 922 927 +0.5% 0.99x (?)
StringEdits 169474 169955 +0.3% 1.00x
StringEnumRawValueInitialization 804 792 -1.5% 1.02x
StringEqualPointerComparison 394 394 +0.0% 1.00x
StringFromLongWholeSubstring 177 177 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 86 86 +0.0% 1.00x
StringHasPrefix 9 9 +0.0% 1.00x
StringHasPrefixUnicode 14924 14928 +0.0% 1.00x (?)
StringHasSuffix 9 9 +0.0% 1.00x
StringHasSuffixUnicode 61617 61919 +0.5% 1.00x
StringInterpolation 10827 11055 +2.1% 0.98x (?)
StringMatch 7445 7410 -0.5% 1.00x (?)
StringUTF16Builder 1883 1875 -0.4% 1.00x
StringWalk 1486 1498 +0.8% 0.99x
StringWithCString 65399 64631 -1.2% 1.01x
SubstringComparable 1606 1602 -0.2% 1.00x
SubstringEqualString 1429 1443 +1.0% 0.99x
SubstringEquatable 3700 3692 -0.2% 1.00x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 62 62 +0.0% 1.00x
SuffixAnyCollection 21 21 +0.0% 1.00x
SuffixAnyCollectionLazy 25196 25308 +0.4% 1.00x (?)
SuffixAnySeqCRangeIter 5060 5068 +0.2% 1.00x (?)
SuffixAnySeqCRangeIterLazy 5068 5089 +0.4% 1.00x
SuffixAnySeqCntRange 15 15 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 15 15 +0.0% 1.00x
SuffixAnySequence 6722 6714 -0.1% 1.00x (?)
SuffixAnySequenceLazy 6739 6765 +0.4% 1.00x (?)
SuffixArray 10 10 +0.0% 1.00x
SuffixArrayLazy 10 10 +0.0% 1.00x
SuffixCountableRange 6 6 +0.0% 1.00x
SuffixCountableRangeLazy 6 6 +0.0% 1.00x
SuffixSequence 4643 4644 +0.0% 1.00x (?)
SuffixSequenceLazy 4643 4643 +0.0% 1.00x
SumUsingReduce 97 97 +0.0% 1.00x
SumUsingReduceInto 96 96 +0.0% 1.00x
SuperChars 84666 84658 -0.0% 1.00x (?)
TwoSum 941 940 -0.1% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 254 254 +0.0% 1.00x
Walsh 400 401 +0.2% 1.00x
XorLoop 347 347 +0.0% 1.00x

Unoptimized (Onone)

Regression (4)
TEST OLD NEW DELTA SPEEDUP
ArrayOfPOD 713 792 +11.1% 0.90x
SevenBoom 1614 1756 +8.8% 0.92x (?)
ObjectiveCBridgeFromNSString 3964 4256 +7.4% 0.93x
ArrayOfGenericPOD 1293 1382 +6.9% 0.94x
Improvement (3)
TEST OLD NEW DELTA SPEEDUP
StringHasSuffix 2129 1886 -11.4% 1.13x
StringEqualPointerComparison 2839 2641 -7.0% 1.07x
ArrayAppendLatin1 81944 77070 -5.9% 1.06x
No Changes (326)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4967 4972 +0.1% 1.00x (?)
AnyHashableWithAClass 85100 84712 -0.5% 1.00x (?)
Array2D 642549 636607 -0.9% 1.01x
ArrayAppend 4337 4325 -0.3% 1.00x
ArrayAppendArrayOfInt 656 656 +0.0% 1.00x
ArrayAppendAscii 52685 53389 +1.3% 0.99x
ArrayAppendFromGeneric 659 659 +0.0% 1.00x
ArrayAppendGenericStructs 1334 1298 -2.7% 1.03x (?)
ArrayAppendLazyMap 229640 229489 -0.1% 1.00x (?)
ArrayAppendOptionals 1302 1306 +0.3% 1.00x (?)
ArrayAppendRepeatCol 232033 232236 +0.1% 1.00x (?)
ArrayAppendReserved 4128 4130 +0.0% 1.00x (?)
ArrayAppendSequence 77469 77395 -0.1% 1.00x (?)
ArrayAppendStrings 15208 15240 +0.2% 1.00x (?)
ArrayAppendToFromGeneric 659 658 -0.2% 1.00x
ArrayAppendToGeneric 660 659 -0.2% 1.00x
ArrayAppendUTF16 77618 77883 +0.3% 1.00x
ArrayInClass 6318 6348 +0.5% 1.00x (?)
ArrayLiteral 1751 1751 +0.0% 1.00x
ArrayOfGenericRef 10071 10028 -0.4% 1.00x
ArrayOfRef 9210 9239 +0.3% 1.00x
ArrayPlusEqualArrayOfInt 656 656 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 304254 308870 +1.5% 0.99x
ArrayPlusEqualSingleElementCollection 301205 310610 +3.1% 0.97x
ArrayPlusEqualThreeElements 11111 11047 -0.6% 1.01x (?)
ArraySetElement 4581 4581 +0.0% 1.00x
ArraySubscript 83846 84535 +0.8% 0.99x
ArrayValueProp 3610 3607 -0.1% 1.00x (?)
ArrayValueProp2 18918 18816 -0.5% 1.01x
ArrayValueProp3 4064 4063 -0.0% 1.00x
ArrayValueProp4 4019 4008 -0.3% 1.00x (?)
BitCount 1597 1590 -0.4% 1.00x (?)
ByteSwap 4162 4195 +0.8% 0.99x (?)
CStringLongAscii 4917 4773 -2.9% 1.03x
CStringLongNonAscii 2418 2414 -0.2% 1.00x (?)
CStringShortAscii 8750 8743 -0.1% 1.00x (?)
Calculator 1144 1121 -2.0% 1.02x
CaptureProp 124921 123855 -0.9% 1.01x (?)
CharIndexing_ascii_unicodeScalars 485160 471490 -2.8% 1.03x
CharIndexing_ascii_unicodeScalars_Backwards 521637 530135 +1.6% 0.98x
CharIndexing_chinese_unicodeScalars 367005 355249 -3.2% 1.03x
CharIndexing_chinese_unicodeScalars_Backwards 398326 395677 -0.7% 1.01x (?)
CharIndexing_japanese_unicodeScalars 582906 564199 -3.2% 1.03x
CharIndexing_japanese_unicodeScalars_Backwards 630287 624718 -0.9% 1.01x
CharIndexing_korean_unicodeScalars 471522 456085 -3.3% 1.03x
CharIndexing_korean_unicodeScalars_Backwards 506280 499264 -1.4% 1.01x
CharIndexing_punctuatedJapanese_unicodeScalars 84116 83220 -1.1% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 90538 89448 -1.2% 1.01x
CharIndexing_punctuated_unicodeScalars 105449 103346 -2.0% 1.02x
CharIndexing_punctuated_unicodeScalars_Backwards 113616 111962 -1.5% 1.01x
CharIndexing_russian_unicodeScalars 400441 391828 -2.2% 1.02x
CharIndexing_russian_unicodeScalars_Backwards 433168 425952 -1.7% 1.02x (?)
CharIndexing_tweet_unicodeScalars 960708 934203 -2.8% 1.03x
CharIndexing_tweet_unicodeScalars_Backwards 1032389 1015612 -1.6% 1.02x
CharIndexing_utf16_unicodeScalars 528741 527191 -0.3% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 574628 571144 -0.6% 1.01x (?)
CharIteration_ascii_unicodeScalars 185249 184627 -0.3% 1.00x
CharIteration_ascii_unicodeScalars_Backwards 326283 321309 -1.5% 1.02x
CharIteration_chinese_unicodeScalars 139702 139602 -0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 244052 246751 +1.1% 0.99x (?)
CharIteration_japanese_unicodeScalars 220866 220753 -0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 387022 387637 +0.2% 1.00x (?)
CharIteration_korean_unicodeScalars 179484 178668 -0.5% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 318958 313472 -1.7% 1.02x (?)
CharIteration_punctuatedJapanese_unicodeScalars 32985 32687 -0.9% 1.01x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 56256 56093 -0.3% 1.00x (?)
CharIteration_punctuated_unicodeScalars 41338 41228 -0.3% 1.00x
CharIteration_punctuated_unicodeScalars_Backwards 71429 71013 -0.6% 1.01x (?)
CharIteration_russian_unicodeScalars 154293 153595 -0.5% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 271481 267653 -1.4% 1.01x
CharIteration_tweet_unicodeScalars 364871 363088 -0.5% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 648294 636856 -1.8% 1.02x
CharIteration_utf16_unicodeScalars 205097 204236 -0.4% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 397250 398845 +0.4% 1.00x (?)
CharacterLiteralsLarge 6193 6170 -0.4% 1.00x
CharacterLiteralsSmall 702 693 -1.3% 1.01x
Chars 50907 50901 -0.0% 1.00x (?)
ClassArrayGetter 1011 1011 +0.0% 1.00x
DeadArray 112607 114180 +1.4% 0.99x (?)
Dictionary 3113 3160 +1.5% 0.99x
Dictionary2 3488 3478 -0.3% 1.00x (?)
Dictionary2OfObjects 6069 6058 -0.2% 1.00x (?)
Dictionary3 1331 1321 -0.8% 1.01x (?)
Dictionary3OfObjects 2312 2323 +0.5% 1.00x (?)
DictionaryBridge 2717 2714 -0.1% 1.00x (?)
DictionaryGroup 5356 5353 -0.1% 1.00x (?)
DictionaryGroupOfObjects 8235 8249 +0.2% 1.00x (?)
DictionaryLiteral 8714 8687 -0.3% 1.00x (?)
DictionaryOfObjects 6658 6653 -0.1% 1.00x (?)
DictionaryRemove 21614 21469 -0.7% 1.01x
DictionaryRemoveOfObjects 59418 59724 +0.5% 0.99x (?)
DictionarySwap 5375 5384 +0.2% 1.00x (?)
DictionarySwapOfObjects 23119 23164 +0.2% 1.00x (?)
DropFirstAnyCollection 20519 20477 -0.2% 1.00x
DropFirstAnyCollectionLazy 143017 146610 +2.5% 0.98x
DropFirstAnySeqCRangeIter 30635 30604 -0.1% 1.00x
DropFirstAnySeqCRangeIterLazy 30907 30918 +0.0% 1.00x (?)
DropFirstAnySeqCntRange 20487 20446 -0.2% 1.00x (?)
DropFirstAnySeqCntRangeLazy 20447 20422 -0.1% 1.00x
DropFirstAnySequence 16000 16047 +0.3% 1.00x
DropFirstAnySequenceLazy 15978 15981 +0.0% 1.00x
DropFirstArray 6509 6508 -0.0% 1.00x (?)
DropFirstArrayLazy 44941 44936 -0.0% 1.00x (?)
DropFirstCountableRange 340 341 +0.3% 1.00x
DropFirstCountableRangeLazy 40332 40708 +0.9% 0.99x (?)
DropFirstSequence 14700 14703 +0.0% 1.00x (?)
DropFirstSequenceLazy 14817 14737 -0.5% 1.01x
DropLastAnyCollection 6864 6901 +0.5% 0.99x
DropLastAnyCollectionLazy 47576 48088 +1.1% 0.99x (?)
DropLastAnySeqCRangeIter 46984 46844 -0.3% 1.00x
DropLastAnySeqCRangeIterLazy 47429 47354 -0.2% 1.00x (?)
DropLastAnySeqCntRange 6788 6791 +0.0% 1.00x (?)
DropLastAnySeqCntRangeLazy 6841 6827 -0.2% 1.00x
DropLastAnySequence 33725 33691 -0.1% 1.00x (?)
DropLastAnySequenceLazy 33686 33614 -0.2% 1.00x (?)
DropLastArray 2176 2173 -0.1% 1.00x
DropLastArrayLazy 15005 14980 -0.2% 1.00x (?)
DropLastCountableRange 119 119 +0.0% 1.00x
DropLastCountableRangeLazy 13514 13602 +0.7% 0.99x (?)
DropLastSequence 33263 33219 -0.1% 1.00x
DropLastSequenceLazy 33461 33308 -0.5% 1.00x (?)
DropWhileAnyCollection 26624 26635 +0.0% 1.00x (?)
DropWhileAnyCollectionLazy 28690 28803 +0.4% 1.00x (?)
DropWhileAnySeqCRangeIter 32789 32816 +0.1% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 28633 28779 +0.5% 0.99x
DropWhileAnySeqCntRange 26866 26860 -0.0% 1.00x (?)
DropWhileAnySeqCntRangeLazy 28809 28972 +0.6% 0.99x
DropWhileAnySequence 18494 18777 +1.5% 0.98x
DropWhileAnySequenceLazy 15054 15050 -0.0% 1.00x (?)
DropWhileArray 10072 10076 +0.0% 1.00x
DropWhileArrayLazy 17462 17433 -0.2% 1.00x
DropWhileCountableRange 6488 6538 +0.8% 0.99x (?)
DropWhileCountableRangeLazy 27746 27738 -0.0% 1.00x (?)
DropWhileSequence 17460 17630 +1.0% 0.99x
DropWhileSequenceLazy 14024 14016 -0.1% 1.00x (?)
EqualStringSubstring 676 676 +0.0% 1.00x
EqualSubstringString 675 674 -0.1% 1.00x (?)
EqualSubstringSubstring 798 797 -0.1% 1.00x (?)
EqualSubstringSubstringGenericEquatable 423 425 +0.5% 1.00x
ErrorHandling 6864 7087 +3.2% 0.97x (?)
ExclusivityGlobal 172 172 +0.0% 1.00x
ExclusivityInMatSet 313 313 +0.0% 1.00x
ExclusivityIndependent 123 123 +0.0% 1.00x
FilterEvenUsingReduce 4301 4313 +0.3% 1.00x (?)
FilterEvenUsingReduceInto 2821 2810 -0.4% 1.00x (?)
FrequenciesUsingReduce 15877 15849 -0.2% 1.00x (?)
FrequenciesUsingReduceInto 8827 8892 +0.7% 0.99x (?)
Hanoi 19433 19185 -1.3% 1.01x
HashTest 17209 17493 +1.7% 0.98x
Histogram 9078 9061 -0.2% 1.00x (?)
Integrate 697 687 -1.4% 1.01x
IterateData 13438 13441 +0.0% 1.00x (?)
Join 1539 1551 +0.8% 0.99x
LazilyFilteredArrays 1745176 1749886 +0.3% 1.00x (?)
LazilyFilteredRange 706536 706772 +0.0% 1.00x (?)
LessSubstringSubstring 805 807 +0.2% 1.00x (?)
LessSubstringSubstringGenericComparable 446 446 +0.0% 1.00x
LinkedList 40429 40415 -0.0% 1.00x
MapReduce 39104 39011 -0.2% 1.00x (?)
MapReduceAnyCollection 38725 38594 -0.3% 1.00x
MapReduceAnyCollectionShort 51179 51355 +0.3% 1.00x (?)
MapReduceClass 43613 43547 -0.2% 1.00x
MapReduceClassShort 55353 54875 -0.9% 1.01x
MapReduceLazyCollection 34643 34638 -0.0% 1.00x (?)
MapReduceLazyCollectionShort 46508 46165 -0.7% 1.01x (?)
MapReduceLazySequence 29676 29835 +0.5% 0.99x
MapReduceSequence 45111 45196 +0.2% 1.00x
MapReduceShort 51109 50964 -0.3% 1.00x (?)
MapReduceShortString 289 287 -0.7% 1.01x (?)
MapReduceString 2707 2716 +0.3% 1.00x (?)
Memset 45209 45204 -0.0% 1.00x (?)
MonteCarloE 935452 938228 +0.3% 1.00x (?)
MonteCarloPi 4056993 4076663 +0.5% 1.00x
NSDictionaryCastToSwift 6488 6444 -0.7% 1.01x (?)
NSError 736 743 +1.0% 0.99x (?)
NSStringConversion 389 382 -1.8% 1.02x
NopDeinit 172778 170021 -1.6% 1.02x
ObjectAllocation 1485 1477 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25498 24656 -3.3% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 6946 6854 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 40980 41486 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 34747 35341 +1.7% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 125224 125539 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7835 7973 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 97167 95803 -1.4% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 106610 104693 -1.8% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 69521 69311 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7451 7837 +5.2% 0.95x
ObjectiveCBridgeFromNSSetAnyObjectToString 73664 74433 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 74195 74841 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSStringForced 2232 2222 -0.4% 1.00x (?)
ObjectiveCBridgeStubDataAppend 4401 4560 +3.6% 0.97x (?)
ObjectiveCBridgeStubDateAccess 1036 1034 -0.2% 1.00x
ObjectiveCBridgeStubDateMutation 515 515 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 25022 25559 +2.1% 0.98x (?)
ObjectiveCBridgeStubFromNSDate 3797 3805 +0.2% 1.00x
ObjectiveCBridgeStubFromNSDateRef 4315 4317 +0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSString 581 580 -0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 187 189 +1.1% 0.99x (?)
ObjectiveCBridgeStubNSDataAppend 2863 2813 -1.7% 1.02x (?)
ObjectiveCBridgeStubNSDateMutationRef 16227 15604 -3.8% 1.04x (?)
ObjectiveCBridgeStubNSDateRefAccess 1218 1214 -0.3% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 29741 29845 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSDate 14899 15366 +3.1% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3362 3346 -0.5% 1.00x (?)
ObjectiveCBridgeStubToNSString 1554 1555 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 148 148 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 231721 222044 -4.2% 1.04x
ObjectiveCBridgeStubURLAppendPathRef 222640 225202 +1.2% 0.99x (?)
ObjectiveCBridgeToNSArray 29752 29695 -0.2% 1.00x (?)
ObjectiveCBridgeToNSDictionary 48383 47412 -2.0% 1.02x (?)
ObjectiveCBridgeToNSSet 41369 41519 +0.4% 1.00x (?)
ObjectiveCBridgeToNSString 1316 1314 -0.2% 1.00x (?)
ObserverClosure 6931 6955 +0.3% 1.00x
ObserverForwarderStruct 5109 5084 -0.5% 1.00x
ObserverPartiallyAppliedMethod 8409 8386 -0.3% 1.00x
ObserverUnappliedMethod 8761 8769 +0.1% 1.00x (?)
OpenClose 393 399 +1.5% 0.98x
Phonebook 21643 21249 -1.8% 1.02x
PolymorphicCalls 5132 5200 +1.3% 0.99x
PopFrontArray 10231 10274 +0.4% 1.00x (?)
PopFrontArrayGeneric 9284 9218 -0.7% 1.01x
PopFrontUnsafePointer 7646 7645 -0.0% 1.00x (?)
PrefixAnyCollection 20527 20471 -0.3% 1.00x
PrefixAnyCollectionLazy 142608 145772 +2.2% 0.98x
PrefixAnySeqCRangeIter 24485 24358 -0.5% 1.01x
PrefixAnySeqCRangeIterLazy 24671 24558 -0.5% 1.00x
PrefixAnySeqCntRange 20494 20450 -0.2% 1.00x (?)
PrefixAnySeqCntRangeLazy 20442 20391 -0.2% 1.00x
PrefixAnySequence 13044 13033 -0.1% 1.00x
PrefixAnySequenceLazy 13009 12905 -0.8% 1.01x
PrefixArray 6458 6463 +0.1% 1.00x (?)
PrefixArrayLazy 44941 44944 +0.0% 1.00x (?)
PrefixCountableRange 340 340 +0.0% 1.00x
PrefixCountableRangeLazy 40331 40773 +1.1% 0.99x
PrefixSequence 11869 11851 -0.2% 1.00x
PrefixSequenceLazy 11842 12100 +2.2% 0.98x
PrefixWhileAnyCollection 38699 38836 +0.4% 1.00x
PrefixWhileAnyCollectionLazy 23567 23458 -0.5% 1.00x (?)
PrefixWhileAnySeqCRangeIter 42936 42810 -0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 23571 23555 -0.1% 1.00x (?)
PrefixWhileAnySeqCntRange 39033 39165 +0.3% 1.00x
PrefixWhileAnySeqCntRangeLazy 23527 23423 -0.4% 1.00x
PrefixWhileAnySequence 32947 32924 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 13566 13603 +0.3% 1.00x (?)
PrefixWhileArray 17389 17369 -0.1% 1.00x (?)
PrefixWhileArrayLazy 15486 15458 -0.2% 1.00x
PrefixWhileCountableRange 18726 18783 +0.3% 1.00x
PrefixWhileCountableRangeLazy 23048 22967 -0.4% 1.00x (?)
PrefixWhileSequence 31751 31651 -0.3% 1.00x
PrefixWhileSequenceLazy 12480 12476 -0.0% 1.00x (?)
Prims 10643 10549 -0.9% 1.01x
PrimsSplit 10654 10617 -0.3% 1.00x (?)
ProtocolDispatch 7542 7554 +0.2% 1.00x (?)
ProtocolDispatch2 501 501 +0.0% 1.00x
RC4 18394 18724 +1.8% 0.98x
RGBHistogram 34505 34503 -0.0% 1.00x (?)
RGBHistogramOfObjects 106193 107023 +0.8% 0.99x (?)
RangeAssignment 5773 5780 +0.1% 1.00x (?)
RangeIterationSigned 17733 17767 +0.2% 1.00x
RangeIterationSigned64 52306 52534 +0.4% 1.00x
RangeIterationUnsigned 48005 48199 +0.4% 1.00x (?)
RecursiveOwnedParameter 11156 11122 -0.3% 1.00x
ReversedArray 43870 43793 -0.2% 1.00x
ReversedBidirectional 75912 76697 +1.0% 0.99x
ReversedDictionary 29660 29439 -0.7% 1.01x
SetExclusiveOr 23191 23138 -0.2% 1.00x
SetExclusiveOr_OfObjects 48330 48266 -0.1% 1.00x (?)
SetIntersect 12555 12545 -0.1% 1.00x (?)
SetIntersect_OfObjects 12752 12534 -1.7% 1.02x
SetIsSubsetOf 1888 1897 +0.5% 1.00x
SetIsSubsetOf_OfObjects 1568 1540 -1.8% 1.02x
SetUnion 11995 11962 -0.3% 1.00x
SetUnion_OfObjects 33989 33916 -0.2% 1.00x
Sim2DArray 44070 44096 +0.1% 1.00x
SortLargeExistentials 17584 17625 +0.2% 1.00x (?)
SortLettersInPlace 3168 3083 -2.7% 1.03x
SortSortedStrings 1463 1452 -0.8% 1.01x
SortStrings 2755 2679 -2.8% 1.03x
SortStringsUnicode 9319 9220 -1.1% 1.01x
StackPromo 102690 101931 -0.7% 1.01x (?)
StaticArray 4610 4625 +0.3% 1.00x (?)
StrComplexWalk 6987 6983 -0.1% 1.00x (?)
StrToInt 126680 126701 +0.0% 1.00x (?)
StringAdder 3781 3788 +0.2% 1.00x (?)
StringBuilder 7187 7182 -0.1% 1.00x (?)
StringBuilderLong 1095 1121 +2.4% 0.98x
StringEdits 380872 381372 +0.1% 1.00x (?)
StringEnumRawValueInitialization 12529 12655 +1.0% 0.99x (?)
StringFromLongWholeSubstring 210 208 -1.0% 1.01x (?)
StringFromLongWholeSubstringGeneric 222 222 +0.0% 1.00x
StringHasPrefix 1773 1773 +0.0% 1.00x
StringHasPrefixUnicode 16458 16512 +0.3% 1.00x (?)
StringHasSuffixUnicode 63148 63610 +0.7% 0.99x
StringInterpolation 13867 13877 +0.1% 1.00x (?)
StringMatch 34857 35166 +0.9% 0.99x (?)
StringUTF16Builder 8012 8013 +0.0% 1.00x (?)
StringWalk 12042 12364 +2.7% 0.97x
StringWithCString 57589 56695 -1.6% 1.02x
SubstringComparable 4338 4348 +0.2% 1.00x (?)
SubstringEqualString 6579 6581 +0.0% 1.00x (?)
SubstringEquatable 8407 8414 +0.1% 1.00x (?)
SubstringFromLongString 17 17 +0.0% 1.00x
SubstringFromLongStringGeneric 114 114 +0.0% 1.00x
SuffixAnyCollection 6868 6843 -0.4% 1.00x
SuffixAnyCollectionLazy 47583 49105 +3.2% 0.97x
SuffixAnySeqCRangeIter 44444 44205 -0.5% 1.01x
SuffixAnySeqCRangeIterLazy 44939 44727 -0.5% 1.00x
SuffixAnySeqCntRange 6784 6871 +1.3% 0.99x (?)
SuffixAnySeqCntRangeLazy 6833 6828 -0.1% 1.00x
SuffixAnySequence 31251 31288 +0.1% 1.00x
SuffixAnySequenceLazy 31201 31204 +0.0% 1.00x (?)
SuffixArray 2163 2163 +0.0% 1.00x
SuffixArrayLazy 15001 14997 -0.0% 1.00x (?)
SuffixCountableRange 119 119 +0.0% 1.00x
SuffixCountableRangeLazy 13481 13596 +0.9% 0.99x
SuffixSequence 30939 30838 -0.3% 1.00x (?)
SuffixSequenceLazy 30795 30810 +0.0% 1.00x (?)
SumUsingReduce 230931 230312 -0.3% 1.00x
SumUsingReduceInto 226395 226275 -0.1% 1.00x (?)
SuperChars 192753 192794 +0.0% 1.00x (?)
TwoSum 4325 4317 -0.2% 1.00x (?)
TypeFlood 168 166 -1.2% 1.01x (?)
UTF8Decode 38197 38264 +0.2% 1.00x
Walsh 12187 12151 -0.3% 1.00x (?)
XorLoop 23587 23587 +0.0% 1.00x
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

@moiseev
Copy link
Contributor Author

moiseev commented Oct 13, 2017

@swift-ci Please smoke benchmark

@moiseev
Copy link
Contributor Author

moiseev commented Oct 13, 2017

@swift-ci Please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - df36d6263dd8a49ee270094b0d07d7051f644311

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 59ada5f92f64ab3170eff89572614577897d5ee0

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (5)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubToNSDate 13164 15456 +17.4% 0.85x (?)
DeadArray 154 179 +16.2% 0.86x
ProtocolDispatch2 120 131 +9.2% 0.92x
ProtocolDispatch 2825 3082 +9.1% 0.92x
ArrayAppendAscii 19995 21158 +5.8% 0.95x
Improvement (15)
TEST OLD NEW DELTA SPEEDUP
LazilyFilteredArrayContains 100089 19726 -80.3% 5.07x
DropLastArray 15 10 -33.3% 1.50x
DropLastArrayLazy 15 10 -33.3% 1.50x
DropWhileArray 63 47 -25.4% 1.34x
CaptureProp 5138 4366 -15.0% 1.18x
ExclusivityInMatSet 17 15 -11.8% 1.13x
NSDictionaryCastToSwift 4966 4625 -6.9% 1.07x (?)
ByteSwap 96 90 -6.2% 1.07x
ObjectiveCBridgeFromNSArrayAnyObjectForced 3912 3687 -5.8% 1.06x (?)
ArraySetElement 462 437 -5.4% 1.06x
Calculator 37 35 -5.4% 1.06x
ObjectiveCBridgeStubURLAppendPathRef 307197 290623 -5.4% 1.06x
ObjectiveCBridgeStubFromArrayOfNSString 26500 25123 -5.2% 1.05x (?)
DropLastSequence 637 604 -5.2% 1.05x
DropLastSequenceLazy 637 606 -4.9% 1.05x
No Changes (314)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2507 2508 +0.0% 1.00x (?)
AnyHashableWithAClass 60293 60429 +0.2% 1.00x
Array2D 2254 2257 +0.1% 1.00x (?)
ArrayAppend 915 917 +0.2% 1.00x
ArrayAppendArrayOfInt 628 628 +0.0% 1.00x
ArrayAppendFromGeneric 628 629 +0.2% 1.00x (?)
ArrayAppendGenericStructs 1153 1153 +0.0% 1.00x
ArrayAppendLatin1 38475 38669 +0.5% 0.99x
ArrayAppendLazyMap 1133 1132 -0.1% 1.00x (?)
ArrayAppendOptionals 1152 1151 -0.1% 1.00x
ArrayAppendRepeatCol 1130 1130 +0.0% 1.00x
ArrayAppendReserved 700 702 +0.3% 1.00x (?)
ArrayAppendSequence 1009 1011 +0.2% 1.00x
ArrayAppendStrings 13486 13482 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 629 628 -0.2% 1.00x
ArrayAppendToGeneric 628 629 +0.2% 1.00x
ArrayAppendUTF16 40299 39841 -1.1% 1.01x
ArrayInClass 77 77 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 195 196 +0.5% 0.99x
ArrayOfGenericRef 3449 3488 +1.1% 0.99x
ArrayOfPOD 330 331 +0.3% 1.00x
ArrayOfRef 3396 3394 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 628 628 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 3965 3964 -0.0% 1.00x (?)
ArrayPlusEqualSingleElementCollection 913 913 +0.0% 1.00x
ArrayPlusEqualThreeElements 1401 1403 +0.1% 1.00x (?)
ArraySubscript 1325 1321 -0.3% 1.00x (?)
ArrayValueProp 7 7 +0.0% 1.00x
ArrayValueProp2 7 7 +0.0% 1.00x
ArrayValueProp3 7 7 +0.0% 1.00x
ArrayValueProp4 7 7 +0.0% 1.00x
BitCount 181 189 +4.4% 0.96x
CStringLongAscii 5131 5275 +2.8% 0.97x
CStringLongNonAscii 2173 2199 +1.2% 0.99x
CStringShortAscii 4334 4283 -1.2% 1.01x
CharIndexing_ascii_unicodeScalars 14046 13392 -4.7% 1.05x
CharIndexing_ascii_unicodeScalars_Backwards 10373 10368 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 10633 10154 -4.5% 1.05x
CharIndexing_chinese_unicodeScalars_Backwards 7858 7864 +0.1% 1.00x
CharIndexing_japanese_unicodeScalars 16827 16027 -4.8% 1.05x
CharIndexing_japanese_unicodeScalars_Backwards 12408 12416 +0.1% 1.00x (?)
CharIndexing_korean_unicodeScalars 13618 12983 -4.7% 1.05x
CharIndexing_korean_unicodeScalars_Backwards 10057 10059 +0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2533 2428 -4.1% 1.04x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 1909 1908 -0.1% 1.00x
CharIndexing_punctuated_unicodeScalars 3170 3037 -4.2% 1.04x
CharIndexing_punctuated_unicodeScalars_Backwards 2373 2382 +0.4% 1.00x
CharIndexing_russian_unicodeScalars 11700 11157 -4.6% 1.05x
CharIndexing_russian_unicodeScalars_Backwards 8646 8649 +0.0% 1.00x
CharIndexing_tweet_unicodeScalars 27715 26733 -3.5% 1.04x
CharIndexing_tweet_unicodeScalars_Backwards 20445 20445 +0.0% 1.00x
CharIndexing_utf16_unicodeScalars 74348 74520 +0.2% 1.00x
CharIndexing_utf16_unicodeScalars_Backwards 54780 54781 +0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars 14723 14722 -0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 15219 15224 +0.0% 1.00x
CharIteration_chinese_unicodeScalars 11160 11150 -0.1% 1.00x
CharIteration_chinese_unicodeScalars_Backwards 11519 11521 +0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars 17622 17626 +0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 18228 18224 -0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 14278 14277 -0.0% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 14755 14757 +0.0% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 2656 2654 -0.1% 1.00x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2733 2736 +0.1% 1.00x
CharIteration_punctuated_unicodeScalars 3322 3325 +0.1% 1.00x
CharIteration_punctuated_unicodeScalars_Backwards 3434 3433 -0.0% 1.00x (?)
CharIteration_russian_unicodeScalars 12261 12271 +0.1% 1.00x
CharIteration_russian_unicodeScalars_Backwards 12684 12677 -0.1% 1.00x
CharIteration_tweet_unicodeScalars 29046 29082 +0.1% 1.00x
CharIteration_tweet_unicodeScalars_Backwards 30118 30091 -0.1% 1.00x
CharIteration_utf16_unicodeScalars 70304 70155 -0.2% 1.00x
CharIteration_utf16_unicodeScalars_Backwards 89173 89198 +0.0% 1.00x (?)
CharacterLiteralsLarge 5112 5099 -0.3% 1.00x
CharacterLiteralsSmall 338 338 +0.0% 1.00x
Chars 479 470 -1.9% 1.02x
ClassArrayGetter 12 12 +0.0% 1.00x
Dictionary 524 532 +1.5% 0.98x
Dictionary2 1663 1663 +0.0% 1.00x
Dictionary2OfObjects 2916 2916 +0.0% 1.00x
Dictionary3 410 410 +0.0% 1.00x
Dictionary3OfObjects 723 723 +0.0% 1.00x
DictionaryBridge 3421 3293 -3.7% 1.04x (?)
DictionaryGroup 232 232 +0.0% 1.00x
DictionaryGroupOfObjects 1574 1572 -0.1% 1.00x (?)
DictionaryLiteral 1304 1307 +0.2% 1.00x
DictionaryOfObjects 1975 1991 +0.8% 0.99x
DictionaryRemove 2160 2223 +2.9% 0.97x
DictionaryRemoveOfObjects 20710 20786 +0.4% 1.00x
DictionarySwap 394 394 +0.0% 1.00x
DictionarySwapOfObjects 6413 6635 +3.5% 0.97x
DropFirstAnyCollection 68 68 +0.0% 1.00x
DropFirstAnyCollectionLazy 65810 65251 -0.8% 1.01x (?)
DropFirstAnySeqCRangeIter 24946 24674 -1.1% 1.01x
DropFirstAnySeqCRangeIterLazy 25309 24649 -2.6% 1.03x (?)
DropFirstAnySeqCntRange 64 64 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 64 64 +0.0% 1.00x
DropFirstAnySequence 5686 5657 -0.5% 1.01x
DropFirstAnySequenceLazy 5740 5671 -1.2% 1.01x
DropFirstArray 32 31 -3.1% 1.03x
DropFirstArrayLazy 32 31 -3.1% 1.03x
DropFirstCountableRange 31 31 +0.0% 1.00x
DropFirstCountableRangeLazy 31 31 +0.0% 1.00x
DropFirstSequence 1730 1731 +0.1% 1.00x
DropFirstSequenceLazy 1753 1752 -0.1% 1.00x
DropLastAnyCollection 25 25 +0.0% 1.00x
DropLastAnyCollectionLazy 21996 22667 +3.1% 0.97x
DropLastAnySeqCRangeIter 4172 4161 -0.3% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4218 4177 -1.0% 1.01x
DropLastAnySeqCntRange 21 21 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 21 21 +0.0% 1.00x
DropLastAnySequence 5948 5908 -0.7% 1.01x
DropLastAnySequenceLazy 5920 5989 +1.2% 0.99x (?)
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropWhileAnyCollection 89 89 +0.0% 1.00x
DropWhileAnyCollectionLazy 132 132 +0.0% 1.00x
DropWhileAnySeqCRangeIter 20196 20074 -0.6% 1.01x
DropWhileAnySeqCRangeIterLazy 132 132 +0.0% 1.00x
DropWhileAnySeqCntRange 85 85 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 132 132 +0.0% 1.00x
DropWhileAnySequence 6392 6398 +0.1% 1.00x (?)
DropWhileAnySequenceLazy 1784 1784 +0.0% 1.00x
DropWhileArrayLazy 115 116 +0.9% 0.99x
DropWhileCountableRange 32 32 +0.0% 1.00x
DropWhileCountableRangeLazy 100 100 +0.0% 1.00x
DropWhileSequence 1297 1297 +0.0% 1.00x
DropWhileSequenceLazy 79 79 +0.0% 1.00x
EqualStringSubstring 365 363 -0.5% 1.01x
EqualSubstringString 366 365 -0.3% 1.00x (?)
EqualSubstringSubstring 360 361 +0.3% 1.00x
EqualSubstringSubstringGenericEquatable 364 363 -0.3% 1.00x
ErrorHandling 1824 1829 +0.3% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1140 1146 +0.5% 0.99x (?)
FilterEvenUsingReduceInto 128 129 +0.8% 0.99x
FrequenciesUsingReduce 6467 6471 +0.1% 1.00x (?)
FrequenciesUsingReduceInto 3615 3621 +0.2% 1.00x
Hanoi 3398 3396 -0.1% 1.00x (?)
HashTest 1458 1463 +0.3% 1.00x
Histogram 256 258 +0.8% 0.99x
Integrate 228 228 +0.0% 1.00x
IterateData 1279 1284 +0.4% 1.00x
Join 338 343 +1.5% 0.99x
LazilyFilteredArrays 48682 48957 +0.6% 0.99x (?)
LazilyFilteredRange 3407 3576 +5.0% 0.95x
LessSubstringSubstring 361 361 +0.0% 1.00x
LessSubstringSubstringGenericComparable 361 362 +0.3% 1.00x (?)
LinkedList 6420 6424 +0.1% 1.00x (?)
MapReduce 382 382 +0.0% 1.00x
MapReduceAnyCollection 384 383 -0.3% 1.00x
MapReduceAnyCollectionShort 1843 1852 +0.5% 1.00x (?)
MapReduceClass 2652 2653 +0.0% 1.00x (?)
MapReduceClassShort 3966 3982 +0.4% 1.00x (?)
MapReduceLazyCollection 12 12 +0.0% 1.00x
MapReduceLazyCollectionShort 30 30 +0.0% 1.00x
MapReduceLazySequence 77 77 +0.0% 1.00x
MapReduceSequence 390 391 +0.3% 1.00x (?)
MapReduceShort 1733 1733 +0.0% 1.00x
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 104 104 +0.0% 1.00x
Memset 193 191 -1.0% 1.01x (?)
MonteCarloE 9351 9290 -0.7% 1.01x
MonteCarloPi 38582 38664 +0.2% 1.00x
NSError 280 280 +0.0% 1.00x
NSStringConversion 369 367 -0.5% 1.01x
NopDeinit 19363 19361 -0.0% 1.00x (?)
ObjectAllocation 156 156 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 21725 22163 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 37225 36229 -2.7% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 32743 32198 -1.7% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 132686 129841 -2.1% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 6469 6231 -3.7% 1.04x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 109040 110353 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 129731 127075 -2.0% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 65108 62527 -4.0% 1.04x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4213 4081 -3.1% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 65880 65617 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 71865 74097 +3.1% 0.97x (?)
ObjectiveCBridgeFromNSString 878 869 -1.0% 1.01x
ObjectiveCBridgeFromNSStringForced 1826 1848 +1.2% 0.99x (?)
ObjectiveCBridgeStubDataAppend 3455 3459 +0.1% 1.00x (?)
ObjectiveCBridgeStubDateAccess 205 205 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 230 230 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 3785 3786 +0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSDateRef 4115 4118 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 564 564 +0.0% 1.00x
ObjectiveCBridgeStubFromNSStringRef 157 157 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2386 2389 +0.1% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 11689 11796 +0.9% 0.99x (?)
ObjectiveCBridgeStubNSDateRefAccess 335 339 +1.2% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 27355 26306 -3.8% 1.04x (?)
ObjectiveCBridgeStubToNSDateRef 3037 3018 -0.6% 1.01x (?)
ObjectiveCBridgeStubToNSString 1270 1274 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 113 113 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 287065 289506 +0.9% 0.99x (?)
ObjectiveCBridgeToNSArray 26763 26635 -0.5% 1.00x (?)
ObjectiveCBridgeToNSDictionary 54569 53437 -2.1% 1.02x
ObjectiveCBridgeToNSSet 43957 43101 -1.9% 1.02x (?)
ObjectiveCBridgeToNSString 1067 1067 +0.0% 1.00x
ObserverClosure 1980 1984 +0.2% 1.00x
ObserverForwarderStruct 943 946 +0.3% 1.00x (?)
ObserverPartiallyAppliedMethod 3353 3308 -1.3% 1.01x (?)
ObserverUnappliedMethod 2248 2254 +0.3% 1.00x (?)
OpenClose 5 5 +0.0% 1.00x
Phonebook 5746 5758 +0.2% 1.00x (?)
PolymorphicCalls 22 22 +0.0% 1.00x
PopFrontArray 1774 1773 -0.1% 1.00x
PopFrontArrayGeneric 1772 1774 +0.1% 1.00x (?)
PopFrontUnsafePointer 8522 8517 -0.1% 1.00x (?)
PrefixAnyCollection 68 68 +0.0% 1.00x
PrefixAnyCollectionLazy 65352 68457 +4.8% 0.95x (?)
PrefixAnySeqCRangeIter 19500 19467 -0.2% 1.00x
PrefixAnySeqCRangeIterLazy 19676 19414 -1.3% 1.01x
PrefixAnySeqCntRange 64 64 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 64 64 +0.0% 1.00x
PrefixAnySequence 5107 5074 -0.6% 1.01x
PrefixAnySequenceLazy 4989 5008 +0.4% 1.00x
PrefixArray 31 31 +0.0% 1.00x
PrefixArrayLazy 31 31 +0.0% 1.00x
PrefixCountableRange 31 31 +0.0% 1.00x
PrefixCountableRangeLazy 31 31 +0.0% 1.00x
PrefixSequence 1315 1314 -0.1% 1.00x
PrefixSequenceLazy 1330 1330 +0.0% 1.00x
PrefixWhileAnyCollection 131 131 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 95 95 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 11428 11417 -0.1% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 95 95 +0.0% 1.00x
PrefixWhileAnySeqCntRange 127 127 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 95 95 +0.0% 1.00x
PrefixWhileAnySequence 12640 12643 +0.0% 1.00x (?)
PrefixWhileAnySequenceLazy 1311 1311 +0.0% 1.00x
PrefixWhileArray 79 79 +0.0% 1.00x
PrefixWhileArrayLazy 63 63 +0.0% 1.00x
PrefixWhileCountableRange 41 41 +0.0% 1.00x
PrefixWhileCountableRangeLazy 31 31 +0.0% 1.00x
PrefixWhileSequence 348 348 +0.0% 1.00x
PrefixWhileSequenceLazy 47 47 +0.0% 1.00x
Prims 663 662 -0.2% 1.00x (?)
PrimsSplit 663 667 +0.6% 0.99x
RC4 146 146 +0.0% 1.00x
RGBHistogram 1995 1988 -0.4% 1.00x (?)
RGBHistogramOfObjects 20086 20096 +0.0% 1.00x (?)
RangeAssignment 351 352 +0.3% 1.00x
RangeIterationSigned 154 154 +0.0% 1.00x
RangeIterationSigned64 179 179 +0.0% 1.00x
RangeIterationUnsigned 179 179 +0.0% 1.00x
RecursiveOwnedParameter 2041 2040 -0.0% 1.00x (?)
ReversedArray 51 51 +0.0% 1.00x
ReversedBidirectional 24894 24852 -0.2% 1.00x (?)
ReversedDictionary 73 74 +1.4% 0.99x (?)
SetExclusiveOr 2590 2601 +0.4% 1.00x (?)
SetExclusiveOr_OfObjects 7284 7242 -0.6% 1.01x (?)
SetIntersect 248 249 +0.4% 1.00x (?)
SetIntersect_OfObjects 1525 1525 +0.0% 1.00x
SetIsSubsetOf 253 253 +0.0% 1.00x
SetIsSubsetOf_OfObjects 310 310 +0.0% 1.00x
SetUnion 2310 2288 -1.0% 1.01x (?)
SetUnion_OfObjects 6010 6028 +0.3% 1.00x (?)
SevenBoom 1412 1413 +0.1% 1.00x (?)
Sim2DArray 609 610 +0.2% 1.00x
SortLargeExistentials 7271 7262 -0.1% 1.00x
SortLettersInPlace 977 976 -0.1% 1.00x
SortSortedStrings 883 883 +0.0% 1.00x
SortStrings 1605 1604 -0.1% 1.00x
SortStringsUnicode 7991 8000 +0.1% 1.00x (?)
StackPromo 19960 20092 +0.7% 0.99x
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1781 1781 +0.0% 1.00x
StrToInt 1827 1887 +3.3% 0.97x
StringAdder 3008 3015 +0.2% 1.00x (?)
StringBuilder 890 892 +0.2% 1.00x (?)
StringBuilderLong 828 828 +0.0% 1.00x
StringEdits 150168 150114 -0.0% 1.00x (?)
StringEnumRawValueInitialization 695 696 +0.1% 1.00x
StringEqualPointerComparison 398 398 +0.0% 1.00x
StringFromLongWholeSubstring 157 158 +0.6% 0.99x
StringFromLongWholeSubstringGeneric 72 72 +0.0% 1.00x
StringHasPrefix 15 15 +0.0% 1.00x
StringHasPrefixUnicode 15352 15255 -0.6% 1.01x
StringHasSuffix 15 15 +0.0% 1.00x
StringHasSuffixUnicode 69756 69955 +0.3% 1.00x
StringInterpolation 9855 9924 +0.7% 0.99x (?)
StringMatch 7763 7774 +0.1% 1.00x
StringUTF16Builder 1651 1655 +0.2% 1.00x (?)
StringWalk 1436 1437 +0.1% 1.00x
StringWithCString 61964 63784 +2.9% 0.97x
SubstringComparable 1514 1501 -0.9% 1.01x (?)
SubstringEqualString 1323 1317 -0.5% 1.00x
SubstringEquatable 3391 3416 +0.7% 0.99x (?)
SubstringFromLongString 9 9 +0.0% 1.00x
SubstringFromLongStringGeneric 54 54 +0.0% 1.00x
SuffixAnyCollection 25 25 +0.0% 1.00x
SuffixAnyCollectionLazy 21814 22062 +1.1% 0.99x
SuffixAnySeqCRangeIter 4497 4502 +0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4487 4460 -0.6% 1.01x (?)
SuffixAnySeqCntRange 21 21 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 21 21 +0.0% 1.00x
SuffixAnySequence 5985 5975 -0.2% 1.00x (?)
SuffixAnySequenceLazy 6124 6063 -1.0% 1.01x
SuffixArray 10 10 +0.0% 1.00x
SuffixArrayLazy 10 10 +0.0% 1.00x
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 4216 4250 +0.8% 0.99x (?)
SuffixSequenceLazy 4208 4251 +1.0% 0.99x
SumUsingReduce 87 87 +0.0% 1.00x
SumUsingReduceInto 91 91 +0.0% 1.00x
SuperChars 73233 73218 -0.0% 1.00x (?)
TwoSum 836 834 -0.2% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 291 292 +0.3% 1.00x
Walsh 390 391 +0.3% 1.00x
XorLoop 328 329 +0.3% 1.00x (?)

Unoptimized (Onone)

Regression (12)
TEST OLD NEW DELTA SPEEDUP
ReversedArray 39489 45372 +14.9% 0.87x
DictionaryGroup 4737 5199 +9.8% 0.91x
RangeIterationUnsigned 41600 45166 +8.6% 0.92x
CharIndexing_ascii_unicodeScalars 448826 485355 +8.1% 0.92x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 113105 122137 +8.0% 0.93x (?)
PrefixWhileCountableRangeLazy 20430 21968 +7.5% 0.93x
StackPromo 90828 97628 +7.5% 0.93x (?)
RangeIterationSigned64 45925 49294 +7.3% 0.93x (?)
CharIteration_chinese_unicodeScalars_Backwards 215508 230646 +7.0% 0.93x (?)
ObjectiveCBridgeFromNSArrayAnyObject 24461 25950 +6.1% 0.94x (?)
FrequenciesUsingReduceInto 8154 8629 +5.8% 0.94x
CharIndexing_korean_unicodeScalars 448937 474367 +5.7% 0.95x (?)
Improvement (10)
TEST OLD NEW DELTA SPEEDUP
LazilyFilteredArrayContains 4393416 880693 -80.0% 4.99x
ObjectiveCBridgeStubFromNSDateRef 5117 4197 -18.0% 1.22x (?)
NSDictionaryCastToSwift 6680 5776 -13.5% 1.16x
CharIndexing_japanese_unicodeScalars_Backwards 623190 558718 -10.3% 1.12x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 83006 74476 -10.3% 1.11x (?)
CharIteration_punctuated_unicodeScalars_Backwards 69510 63097 -9.2% 1.10x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 142087 133474 -6.1% 1.06x (?)
CharIndexing_russian_unicodeScalars 397034 374036 -5.8% 1.06x (?)
EqualSubstringSubstring 753 715 -5.0% 1.05x
PrefixCountableRangeLazy 38973 37055 -4.9% 1.05x
No Changes (312)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4281 4409 +3.0% 0.97x
AnyHashableWithAClass 74198 74152 -0.1% 1.00x
Array2D 567581 566224 -0.2% 1.00x
ArrayAppend 4243 4248 +0.1% 1.00x
ArrayAppendArrayOfInt 689 688 -0.1% 1.00x (?)
ArrayAppendAscii 48606 47803 -1.7% 1.02x
ArrayAppendFromGeneric 692 688 -0.6% 1.01x
ArrayAppendGenericStructs 1220 1211 -0.7% 1.01x
ArrayAppendLatin1 69186 68629 -0.8% 1.01x
ArrayAppendLazyMap 202392 202270 -0.1% 1.00x (?)
ArrayAppendOptionals 1219 1213 -0.5% 1.00x (?)
ArrayAppendRepeatCol 208948 206755 -1.0% 1.01x (?)
ArrayAppendReserved 4019 4019 +0.0% 1.00x
ArrayAppendSequence 71705 72062 +0.5% 1.00x
ArrayAppendStrings 13636 14020 +2.8% 0.97x (?)
ArrayAppendToFromGeneric 696 691 -0.7% 1.01x
ArrayAppendToGeneric 694 694 +0.0% 1.00x
ArrayAppendUTF16 71979 70091 -2.6% 1.03x
ArrayInClass 5628 5630 +0.0% 1.00x (?)
ArrayLiteral 1510 1512 +0.1% 1.00x (?)
ArrayOfGenericPOD 1473 1480 +0.5% 1.00x (?)
ArrayOfGenericRef 8742 8747 +0.1% 1.00x (?)
ArrayOfPOD 691 690 -0.1% 1.00x
ArrayOfRef 8035 8021 -0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 692 689 -0.4% 1.00x
ArrayPlusEqualFiveElementCollection 272087 270352 -0.6% 1.01x (?)
ArrayPlusEqualSingleElementCollection 271202 266242 -1.8% 1.02x (?)
ArrayPlusEqualThreeElements 10089 9985 -1.0% 1.01x
ArraySetElement 4137 4139 +0.0% 1.00x (?)
ArraySubscript 75490 75956 +0.6% 0.99x (?)
ArrayValueProp 3102 3108 +0.2% 1.00x (?)
ArrayValueProp2 16614 16634 +0.1% 1.00x
ArrayValueProp3 3536 3539 +0.1% 1.00x (?)
ArrayValueProp4 3527 3540 +0.4% 1.00x
BitCount 1788 1791 +0.2% 1.00x (?)
ByteSwap 3525 3532 +0.2% 1.00x (?)
CStringLongAscii 5346 5379 +0.6% 0.99x (?)
CStringLongNonAscii 2296 2320 +1.0% 0.99x (?)
CStringShortAscii 7664 7841 +2.3% 0.98x
Calculator 1142 1126 -1.4% 1.01x
CaptureProp 111604 111773 +0.2% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 494794 495054 +0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars 335039 336367 +0.4% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 359081 369892 +3.0% 0.97x (?)
CharIndexing_japanese_unicodeScalars 536617 533175 -0.6% 1.01x (?)
CharIndexing_korean_unicodeScalars_Backwards 484151 482684 -0.3% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 81187 78040 -3.9% 1.04x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 87258 88414 +1.3% 0.99x (?)
CharIndexing_punctuated_unicodeScalars 99215 96917 -2.3% 1.02x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 106486 103878 -2.4% 1.03x (?)
CharIndexing_russian_unicodeScalars_Backwards 391465 397164 +1.5% 0.99x (?)
CharIndexing_tweet_unicodeScalars 877018 878999 +0.2% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 965209 922309 -4.4% 1.05x (?)
CharIndexing_utf16_unicodeScalars 475055 485344 +2.2% 0.98x (?)
CharIndexing_utf16_unicodeScalars_Backwards 527895 526480 -0.3% 1.00x (?)
CharIteration_ascii_unicodeScalars 163653 164318 +0.4% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 288316 285577 -0.9% 1.01x (?)
CharIteration_chinese_unicodeScalars 123963 123500 -0.4% 1.00x
CharIteration_japanese_unicodeScalars 196697 196495 -0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 347666 346396 -0.4% 1.00x (?)
CharIteration_korean_unicodeScalars 158832 158719 -0.1% 1.00x
CharIteration_korean_unicodeScalars_Backwards 276850 277481 +0.2% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 29183 29080 -0.4% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 51437 50760 -1.3% 1.01x (?)
CharIteration_punctuated_unicodeScalars 36634 36719 +0.2% 1.00x
CharIteration_russian_unicodeScalars 136235 136302 +0.0% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 242528 239803 -1.1% 1.01x (?)
CharIteration_tweet_unicodeScalars 323812 323360 -0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 565233 567046 +0.3% 1.00x (?)
CharIteration_utf16_unicodeScalars 179729 179675 -0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 353327 353990 +0.2% 1.00x (?)
CharacterLiteralsLarge 5373 5366 -0.1% 1.00x (?)
CharacterLiteralsSmall 730 729 -0.1% 1.00x
Chars 44094 44196 +0.2% 1.00x (?)
ClassArrayGetter 878 878 +0.0% 1.00x
DeadArray 99538 99500 -0.0% 1.00x (?)
Dictionary 2745 2783 +1.4% 0.99x (?)
Dictionary2 3071 3124 +1.7% 0.98x (?)
Dictionary2OfObjects 5605 5521 -1.5% 1.02x (?)
Dictionary3 1184 1174 -0.8% 1.01x (?)
Dictionary3OfObjects 2068 2064 -0.2% 1.00x (?)
DictionaryBridge 3577 3468 -3.0% 1.03x (?)
DictionaryGroupOfObjects 7195 7341 +2.0% 0.98x
DictionaryLiteral 7595 7606 +0.1% 1.00x (?)
DictionaryOfObjects 6095 6013 -1.3% 1.01x (?)
DictionaryRemove 19414 19362 -0.3% 1.00x
DictionaryRemoveOfObjects 52605 53201 +1.1% 0.99x (?)
DictionarySwap 4687 4697 +0.2% 1.00x
DictionarySwapOfObjects 20433 20407 -0.1% 1.00x (?)
DropFirstAnyCollection 18665 18188 -2.6% 1.03x
DropFirstAnyCollectionLazy 137630 144757 +5.2% 0.95x (?)
DropFirstAnySeqCRangeIter 27998 27503 -1.8% 1.02x
DropFirstAnySeqCRangeIterLazy 28169 27531 -2.3% 1.02x
DropFirstAnySeqCntRange 18341 18212 -0.7% 1.01x
DropFirstAnySeqCntRangeLazy 18212 18183 -0.2% 1.00x
DropFirstAnySequence 14302 14469 +1.2% 0.99x (?)
DropFirstAnySequenceLazy 14114 14063 -0.4% 1.00x (?)
DropFirstArray 5533 5535 +0.0% 1.00x (?)
DropFirstArrayLazy 39872 39671 -0.5% 1.01x
DropFirstCountableRange 297 295 -0.7% 1.01x (?)
DropFirstCountableRangeLazy 38433 36872 -4.1% 1.04x
DropFirstSequence 13738 13235 -3.7% 1.04x
DropFirstSequenceLazy 13285 13211 -0.6% 1.01x
DropLastAnyCollection 6137 6163 +0.4% 1.00x (?)
DropLastAnyCollectionLazy 46084 48351 +4.9% 0.95x
DropLastAnySeqCRangeIter 41813 41599 -0.5% 1.01x
DropLastAnySeqCRangeIterLazy 41811 41627 -0.4% 1.00x (?)
DropLastAnySeqCntRange 6099 6051 -0.8% 1.01x
DropLastAnySeqCntRangeLazy 6084 6070 -0.2% 1.00x
DropLastAnySequence 29230 29179 -0.2% 1.00x
DropLastAnySequenceLazy 29194 29123 -0.2% 1.00x (?)
DropLastArray 1856 1855 -0.1% 1.00x (?)
DropLastArrayLazy 13284 13249 -0.3% 1.00x (?)
DropLastCountableRange 105 104 -1.0% 1.01x
DropLastCountableRangeLazy 12407 12378 -0.2% 1.00x (?)
DropLastSequence 28895 28785 -0.4% 1.00x
DropLastSequenceLazy 29190 29104 -0.3% 1.00x
DropWhileAnyCollection 23960 23626 -1.4% 1.01x (?)
DropWhileAnyCollectionLazy 25785 25540 -1.0% 1.01x
DropWhileAnySeqCRangeIter 29664 29295 -1.2% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 26092 25651 -1.7% 1.02x (?)
DropWhileAnySeqCntRange 23838 23725 -0.5% 1.00x (?)
DropWhileAnySeqCntRangeLazy 25943 25666 -1.1% 1.01x
DropWhileAnySequence 16603 16590 -0.1% 1.00x (?)
DropWhileAnySequenceLazy 13068 13081 +0.1% 1.00x (?)
DropWhileArray 8597 8574 -0.3% 1.00x
DropWhileArrayLazy 15558 15522 -0.2% 1.00x (?)
DropWhileCountableRange 5811 5835 +0.4% 1.00x
DropWhileCountableRangeLazy 24655 24504 -0.6% 1.01x
DropWhileSequence 15600 15602 +0.0% 1.00x (?)
DropWhileSequenceLazy 12137 12115 -0.2% 1.00x (?)
EqualStringSubstring 602 601 -0.2% 1.00x (?)
EqualSubstringString 615 606 -1.5% 1.01x (?)
EqualSubstringSubstringGenericEquatable 388 386 -0.5% 1.01x
ErrorHandling 6163 6267 +1.7% 0.98x (?)
ExclusivityGlobal 177 177 +0.0% 1.00x
ExclusivityInMatSet 290 290 +0.0% 1.00x
ExclusivityIndependent 113 113 +0.0% 1.00x
FilterEvenUsingReduce 3822 3806 -0.4% 1.00x (?)
FilterEvenUsingReduceInto 2311 2302 -0.4% 1.00x (?)
FrequenciesUsingReduce 14528 15148 +4.3% 0.96x (?)
Hanoi 17900 18023 +0.7% 0.99x
HashTest 15970 16106 +0.9% 0.99x (?)
Histogram 8139 8111 -0.3% 1.00x (?)
Integrate 641 641 +0.0% 1.00x
IterateData 11864 11896 +0.3% 1.00x (?)
Join 1383 1384 +0.1% 1.00x (?)
LazilyFilteredArrays 1548003 1559300 +0.7% 0.99x (?)
LazilyFilteredRange 636292 622717 -2.1% 1.02x (?)
LessSubstringSubstring 714 717 +0.4% 1.00x (?)
LessSubstringSubstringGenericComparable 407 409 +0.5% 1.00x
LinkedList 35438 35595 +0.4% 1.00x
MapReduce 34380 34984 +1.8% 0.98x (?)
MapReduceAnyCollection 34393 34251 -0.4% 1.00x
MapReduceAnyCollectionShort 46406 45697 -1.5% 1.02x (?)
MapReduceClass 38701 38650 -0.1% 1.00x
MapReduceClassShort 49565 49459 -0.2% 1.00x (?)
MapReduceLazyCollection 30482 30520 +0.1% 1.00x (?)
MapReduceLazyCollectionShort 40211 40577 +0.9% 0.99x (?)
MapReduceLazySequence 26239 26310 +0.3% 1.00x
MapReduceSequence 40252 40259 +0.0% 1.00x (?)
MapReduceShort 45676 44937 -1.6% 1.02x (?)
MapReduceShortString 264 271 +2.7% 0.97x (?)
MapReduceString 2508 2512 +0.2% 1.00x
Memset 40349 40340 -0.0% 1.00x (?)
MonteCarloE 861126 858171 -0.3% 1.00x (?)
MonteCarloPi 3669245 3650913 -0.5% 1.01x
NSError 647 643 -0.6% 1.01x (?)
NSStringConversion 400 400 +0.0% 1.00x
NopDeinit 163400 163877 +0.3% 1.00x (?)
ObjectAllocation 1305 1310 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7387 7504 +1.6% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 41252 41158 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 34595 34300 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 133195 134607 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 9875 9754 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 70444 72682 +3.2% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7303 7089 -2.9% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 84495 84394 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSString 3690 3639 -1.4% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2298 2252 -2.0% 1.02x (?)
ObjectiveCBridgeStubDataAppend 4139 4138 -0.0% 1.00x (?)
ObjectiveCBridgeStubDateAccess 950 950 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 565 565 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 25868 26819 +3.7% 0.96x (?)
ObjectiveCBridgeStubFromNSDate 3927 3935 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSString 597 587 -1.7% 1.02x
ObjectiveCBridgeStubFromNSStringRef 183 183 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2785 2800 +0.5% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 13999 13446 -4.0% 1.04x (?)
ObjectiveCBridgeStubNSDateRefAccess 1129 1133 +0.4% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 27090 26495 -2.2% 1.02x (?)
ObjectiveCBridgeStubToNSDate 14023 13773 -1.8% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3033 3049 +0.5% 0.99x (?)
ObjectiveCBridgeStubToNSString 1315 1317 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 144 144 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 302199 303720 +0.5% 0.99x (?)
ObjectiveCBridgeStubURLAppendPathRef 296723 291455 -1.8% 1.02x (?)
ObjectiveCBridgeToNSArray 26852 26970 +0.4% 1.00x (?)
ObjectiveCBridgeToNSDictionary 54696 55952 +2.3% 0.98x (?)
ObjectiveCBridgeToNSSet 45760 44210 -3.4% 1.04x (?)
ObjectiveCBridgeToNSString 1117 1118 +0.1% 1.00x (?)
ObserverClosure 6103 6137 +0.6% 0.99x (?)
ObserverForwarderStruct 4402 4396 -0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 7328 7291 -0.5% 1.01x (?)
ObserverUnappliedMethod 7788 7971 +2.3% 0.98x (?)
OpenClose 389 395 +1.5% 0.98x
Phonebook 20943 20864 -0.4% 1.00x
PolymorphicCalls 5957 6023 +1.1% 0.99x (?)
PopFrontArray 9739 9734 -0.1% 1.00x
PopFrontArrayGeneric 8741 8744 +0.0% 1.00x (?)
PopFrontUnsafePointer 9981 9982 +0.0% 1.00x (?)
PrefixAnyCollection 18328 18471 +0.8% 0.99x (?)
PrefixAnyCollectionLazy 137801 144168 +4.6% 0.96x (?)
PrefixAnySeqCRangeIter 21824 21706 -0.5% 1.01x
PrefixAnySeqCRangeIterLazy 22323 21826 -2.2% 1.02x (?)
PrefixAnySeqCntRange 18320 18172 -0.8% 1.01x
PrefixAnySeqCntRangeLazy 18216 18163 -0.3% 1.00x
PrefixAnySequence 11803 11780 -0.2% 1.00x (?)
PrefixAnySequenceLazy 11684 11672 -0.1% 1.00x
PrefixArray 5530 5534 +0.1% 1.00x
PrefixArrayLazy 39763 39619 -0.4% 1.00x (?)
PrefixCountableRange 297 296 -0.3% 1.00x
PrefixSequence 10754 10691 -0.6% 1.01x
PrefixSequenceLazy 10706 10639 -0.6% 1.01x
PrefixWhileAnyCollection 34491 34577 +0.2% 1.00x (?)
PrefixWhileAnyCollectionLazy 21183 20995 -0.9% 1.01x
PrefixWhileAnySeqCRangeIter 39078 38433 -1.7% 1.02x (?)
PrefixWhileAnySeqCRangeIterLazy 21923 21130 -3.6% 1.04x
PrefixWhileAnySeqCntRange 34591 34689 +0.3% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 21074 21238 +0.8% 0.99x (?)
PrefixWhileAnySequence 29043 28907 -0.5% 1.00x (?)
PrefixWhileAnySequenceLazy 11901 11893 -0.1% 1.00x (?)
PrefixWhileArray 14868 14859 -0.1% 1.00x (?)
PrefixWhileArrayLazy 13737 13733 -0.0% 1.00x (?)
PrefixWhileCountableRange 16728 16785 +0.3% 1.00x
PrefixWhileSequence 27945 27904 -0.1% 1.00x
PrefixWhileSequenceLazy 11044 11098 +0.5% 1.00x
Prims 9655 9667 +0.1% 1.00x (?)
PrimsSplit 9596 9688 +1.0% 0.99x (?)
ProtocolDispatch 7707 7706 -0.0% 1.00x
ProtocolDispatch2 466 466 +0.0% 1.00x
RC4 16206 16391 +1.1% 0.99x
RGBHistogram 31757 31695 -0.2% 1.00x (?)
RGBHistogramOfObjects 96399 95896 -0.5% 1.01x (?)
RangeAssignment 4913 5153 +4.9% 0.95x
RangeIterationSigned 15789 15440 -2.2% 1.02x (?)
RecursiveOwnedParameter 9644 9772 +1.3% 0.99x
ReversedBidirectional 71649 69941 -2.4% 1.02x (?)
ReversedDictionary 25263 25405 +0.6% 0.99x
SetExclusiveOr 20981 20400 -2.8% 1.03x
SetExclusiveOr_OfObjects 42517 42787 +0.6% 0.99x (?)
SetIntersect 11578 11044 -4.6% 1.05x
SetIntersect_OfObjects 11208 11221 +0.1% 1.00x (?)
SetIsSubsetOf 1701 1641 -3.5% 1.04x (?)
SetIsSubsetOf_OfObjects 1377 1377 +0.0% 1.00x
SetUnion 10744 10723 -0.2% 1.00x (?)
SetUnion_OfObjects 29861 29839 -0.1% 1.00x (?)
SevenBoom 1616 1564 -3.2% 1.03x
Sim2DArray 39347 39357 +0.0% 1.00x (?)
SortLargeExistentials 16113 16157 +0.3% 1.00x (?)
SortLettersInPlace 2818 2830 +0.4% 1.00x (?)
SortSortedStrings 1355 1344 -0.8% 1.01x
SortStrings 2539 2503 -1.4% 1.01x
SortStringsUnicode 8815 8729 -1.0% 1.01x
StaticArray 5050 5055 +0.1% 1.00x (?)
StrComplexWalk 6384 6383 -0.0% 1.00x (?)
StrToInt 113683 111647 -1.8% 1.02x
StringAdder 3286 3275 -0.3% 1.00x
StringBuilder 6401 6415 +0.2% 1.00x (?)
StringBuilderLong 986 983 -0.3% 1.00x (?)
StringEdits 397490 397601 +0.0% 1.00x (?)
StringEnumRawValueInitialization 12302 12286 -0.1% 1.00x (?)
StringEqualPointerComparison 2752 2751 -0.0% 1.00x
StringFromLongWholeSubstring 185 185 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 194 195 +0.5% 0.99x
StringHasPrefix 1992 1991 -0.1% 1.00x (?)
StringHasPrefixUnicode 17317 17435 +0.7% 0.99x (?)
StringHasSuffix 2080 2080 +0.0% 1.00x
StringHasSuffixUnicode 69594 70707 +1.6% 0.98x (?)
StringInterpolation 12290 12880 +4.8% 0.95x
StringMatch 31820 31898 +0.2% 1.00x (?)
StringUTF16Builder 7111 7098 -0.2% 1.00x (?)
StringWalk 11930 11920 -0.1% 1.00x
StringWithCString 60762 61025 +0.4% 1.00x
SubstringComparable 3870 3876 +0.2% 1.00x (?)
SubstringEqualString 5875 6009 +2.3% 0.98x (?)
SubstringEquatable 7450 7460 +0.1% 1.00x (?)
SubstringFromLongString 13 13 +0.0% 1.00x
SubstringFromLongStringGeneric 99 99 +0.0% 1.00x
SuffixAnyCollection 6231 6083 -2.4% 1.02x
SuffixAnyCollectionLazy 46927 47930 +2.1% 0.98x (?)
SuffixAnySeqCRangeIter 39568 39309 -0.7% 1.01x (?)
SuffixAnySeqCRangeIterLazy 39656 39308 -0.9% 1.01x (?)
SuffixAnySeqCntRange 6097 6041 -0.9% 1.01x
SuffixAnySeqCntRangeLazy 6092 6075 -0.3% 1.00x (?)
SuffixAnySequence 27160 27078 -0.3% 1.00x
SuffixAnySequenceLazy 27279 27214 -0.2% 1.00x
SuffixArray 1851 1854 +0.2% 1.00x (?)
SuffixArrayLazy 13275 13241 -0.3% 1.00x
SuffixCountableRange 104 103 -1.0% 1.01x (?)
SuffixCountableRangeLazy 12744 12623 -0.9% 1.01x (?)
SuffixSequence 26944 27083 +0.5% 0.99x (?)
SuffixSequenceLazy 26866 26718 -0.6% 1.01x
SumUsingReduce 201907 202657 +0.4% 1.00x
SumUsingReduceInto 199823 199781 -0.0% 1.00x (?)
SuperChars 180505 174214 -3.5% 1.04x (?)
TwoSum 3921 3927 +0.2% 1.00x (?)
TypeFlood 136 140 +2.9% 0.97x (?)
UTF8Decode 33740 33847 +0.3% 1.00x
Walsh 11004 11019 +0.1% 1.00x
XorLoop 21340 21334 -0.0% 1.00x (?)
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 8-Core Intel Xeon E5
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 8
  L2 Cache (per Core): 256 KB
  L3 Cache: 25 MB
  Memory: 64 GB

@moiseev moiseev changed the title [stdlib] Implement customization points for StrideTo and StrideThrough [WIP] [stdlib] Implement customization points for StrideTo, StrideThrough, and LazyFilterX [WIP] Oct 13, 2017
@moiseev moiseev changed the title [stdlib] Implement customization points for StrideTo, StrideThrough, and LazyFilterX [WIP] [stdlib] Implement customization points for StrideTo, StrideThrough, and LazyFilterX Oct 13, 2017
@moiseev moiseev requested a review from airspeedswift October 13, 2017 16:32
public func _customContainsEquatableElement(
_ element: Element
) -> Bool? {
if element < _start || _end <= element {
Copy link
Member

Choose a reason for hiding this comment

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

Is it worth adding an overload for when Element: FixedWidthInteger that would compute contains entirely?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hm...

@airspeedswift
Copy link
Member

@swift-ci please smoke test compiler performance

@swift-ci
Copy link
Contributor

!!! Couldn't read commit file !!!

@moiseev moiseev merged commit 92d9b3a into swiftlang:master Oct 15, 2017
@moiseev moiseev deleted the strides branch October 15, 2017 02:48
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