Skip to content

Benchmarks for equating/comparing substrings #10030

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

Conversation

airspeedswift
Copy link
Member

For checking impact of avoiding buffer copies.

@airspeedswift
Copy link
Member Author

@swift-ci please smoke benchmark

@airspeedswift
Copy link
Member Author

@swift-ci please smoke test

@moiseev
Copy link
Contributor

moiseev commented Jun 1, 2017

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Jun 1, 2017

Build comment file:

Optimized (O)

Regression (8)
TEST OLD NEW DELTA SPEEDUP
ProtocolDispatch 2424 3031 +25.0% 0.80x
SuffixAnySequenceLazy 6543 7148 +9.2% 0.92x
BitCount 13 14 +7.7% 0.93x (?)
AnyHashableWithAClass 67671 72193 +6.7% 0.94x
ObjectiveCBridgeStubURLAppendPathRef 218070 231054 +6.0% 0.94x
DropLastSequenceLazy 549 580 +5.6% 0.95x
MapReduceAnyCollection 288 304 +5.6% 0.95x
DropLastSequence 551 581 +5.4% 0.95x
Improvement (11)
TEST OLD NEW DELTA SPEEDUP
StringHasPrefix 33 16 -51.5% 2.06x
StringHasSuffix 33 16 -51.5% 2.06x
NopDeinit 30288 27445 -9.4% 1.10x
Calculator 36 33 -8.3% 1.09x
ObjectiveCBridgeStubNSDateRefAccess 345 317 -8.1% 1.09x
SortStrings 1779 1680 -5.6% 1.06x
OpenClose 54 51 -5.6% 1.06x
ObjectiveCBridgeStubFromNSStringRef 184 174 -5.4% 1.06x
SortSortedStrings 929 880 -5.3% 1.06x
SubstringFromLongStringGeneric 179 170 -5.0% 1.05x (?)
Phonebook 7546 7173 -4.9% 1.05x
No Changes (259)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3070 3092 +0.7% 0.99x (?)
Array2D 2025 2019 -0.3% 1.00x (?)
ArrayAppend 771 773 +0.3% 1.00x (?)
ArrayAppendArrayOfInt 597 596 -0.2% 1.00x (?)
ArrayAppendAscii 22028 22989 +4.4% 0.96x
ArrayAppendFromGeneric 596 597 +0.2% 1.00x
ArrayAppendGenericStructs 1222 1222 +0.0% 1.00x
ArrayAppendLatin1 43157 43442 +0.7% 0.99x
ArrayAppendLazyMap 935 936 +0.1% 1.00x
ArrayAppendOptionals 1249 1227 -1.8% 1.02x (?)
ArrayAppendRepeatCol 838 838 +0.0% 1.00x
ArrayAppendReserved 533 534 +0.2% 1.00x
ArrayAppendSequence 946 944 -0.2% 1.00x (?)
ArrayAppendStrings 13663 13681 +0.1% 1.00x (?)
ArrayAppendToFromGeneric 597 597 +0.0% 1.00x
ArrayAppendToGeneric 596 597 +0.2% 1.00x
ArrayAppendUTF16 41113 41259 +0.4% 1.00x
ArrayInClass 61 61 +0.0% 1.00x
ArrayLiteral 1234 1232 -0.2% 1.00x (?)
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 4031 4023 -0.2% 1.00x (?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayOfRef 3886 3908 +0.6% 0.99x (?)
ArrayPlusEqualArrayOfInt 597 597 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4667 4680 +0.3% 1.00x (?)
ArrayPlusEqualSingleElementCollection 771 771 +0.0% 1.00x
ArrayPlusEqualThreeElements 1600 1607 +0.4% 1.00x (?)
ArraySubscript 1468 1513 +3.1% 0.97x
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
ByteSwap 0 0 +0.0% 1.00x
CStringLongAscii 5169 5170 +0.0% 1.00x (?)
CStringLongNonAscii 2191 2192 +0.0% 1.00x (?)
CStringShortAscii 5653 5668 +0.3% 1.00x (?)
CaptureProp 4761 4851 +1.9% 0.98x (?)
CharacterLiteralsLarge 8691 8839 +1.7% 0.98x
CharacterLiteralsSmall 273 273 +0.0% 1.00x
Chars 1898 1909 +0.6% 0.99x
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 186 185 -0.5% 1.01x (?)
Dictionary 594 581 -2.2% 1.02x
Dictionary2 1826 1816 -0.5% 1.01x (?)
Dictionary2OfObjects 3338 3334 -0.1% 1.00x
Dictionary3 463 462 -0.2% 1.00x (?)
Dictionary3OfObjects 898 897 -0.1% 1.00x (?)
DictionaryBridge 2653 2663 +0.4% 1.00x (?)
DictionaryLiteral 1487 1486 -0.1% 1.00x (?)
DictionaryOfObjects 2347 2349 +0.1% 1.00x (?)
DictionaryRemove 2418 2398 -0.8% 1.01x (?)
DictionaryRemoveOfObjects 23269 23320 +0.2% 1.00x (?)
DictionarySwap 429 429 +0.0% 1.00x
DictionarySwapOfObjects 6880 6904 +0.3% 1.00x (?)
DropFirstAnyCollection 56 56 +0.0% 1.00x
DropFirstAnyCollectionLazy 44921 44933 +0.0% 1.00x (?)
DropFirstAnySeqCRangeIter 26547 26550 +0.0% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 26557 26541 -0.1% 1.00x (?)
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 5882 5876 -0.1% 1.00x
DropFirstAnySequenceLazy 5838 5877 +0.7% 0.99x
DropFirstArray 25 25 +0.0% 1.00x
DropFirstArrayLazy 25 24 -4.0% 1.04x (?)
DropFirstCountableRange 32 32 +0.0% 1.00x
DropFirstCountableRangeLazy 32 32 +0.0% 1.00x
DropFirstSequence 2093 2093 +0.0% 1.00x
DropFirstSequenceLazy 2118 2118 +0.0% 1.00x
DropLastAnyCollection 22 22 +0.0% 1.00x
DropLastAnyCollectionLazy 15035 14994 -0.3% 1.00x
DropLastAnySeqCRangeIter 4605 4603 -0.0% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4604 4603 -0.0% 1.00x (?)
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6727 6535 -2.9% 1.03x
DropLastAnySequenceLazy 6548 6524 -0.4% 1.00x
DropLastArray 8 8 +0.0% 1.00x
DropLastArrayLazy 8 8 +0.0% 1.00x
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropWhileAnyCollection 70 69 -1.4% 1.01x
DropWhileAnyCollectionLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCRangeIter 21320 21347 +0.1% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCntRange 64 64 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 103 103 +0.0% 1.00x
DropWhileAnySequence 6619 6703 +1.3% 0.99x (?)
DropWhileAnySequenceLazy 2032 2032 +0.0% 1.00x
DropWhileArray 37 37 +0.0% 1.00x
DropWhileArrayLazy 78 78 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 68 68 +0.0% 1.00x
DropWhileSequence 1548 1548 +0.0% 1.00x
DropWhileSequenceLazy 65 65 +0.0% 1.00x
EqualStringSubstring 11251 11205 -0.4% 1.00x (?)
EqualSubstringString 11129 11220 +0.8% 0.99x
EqualSubstringSubstring 21881 21983 +0.5% 1.00x (?)
EqualSubstringSubstringGenericEquatable 21949 22046 +0.4% 1.00x (?)
ErrorHandling 2864 2807 -2.0% 1.02x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3551 3466 -2.4% 1.02x
HashTest 1641 1654 +0.8% 0.99x
Histogram 298 299 +0.3% 1.00x
Integrate 262 262 +0.0% 1.00x
IterateData 756 754 -0.3% 1.00x
Join 378 384 +1.6% 0.98x
LazilyFilteredArrays 65055 64927 -0.2% 1.00x (?)
LazilyFilteredRange 3892 3896 +0.1% 1.00x
LessSubstringSubstring 21887 21977 +0.4% 1.00x
LessSubstringSubstringGenericComparable 21913 21992 +0.4% 1.00x (?)
LinkedList 7043 7044 +0.0% 1.00x
MapReduce 303 304 +0.3% 1.00x (?)
MapReduceAnyCollectionShort 2009 2014 +0.2% 1.00x (?)
MapReduceClass 3064 3069 +0.2% 1.00x (?)
MapReduceClassShort 4544 4510 -0.7% 1.01x (?)
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 45 44 -2.2% 1.02x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 448 450 +0.4% 1.00x (?)
MapReduceShort 1924 1928 +0.2% 1.00x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 113 114 +0.9% 0.99x
Memset 234 234 +0.0% 1.00x
MonteCarloE 10413 10297 -1.1% 1.01x
MonteCarloPi 44075 43961 -0.3% 1.00x
NSDictionaryCastToSwift 5539 5518 -0.4% 1.00x (?)
NSError 290 289 -0.3% 1.00x
NSStringConversion 758 762 +0.5% 0.99x (?)
ObjectAllocation 180 179 -0.6% 1.01x
ObjectiveCBridgeFromNSArrayAnyObject 24209 24176 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4523 4509 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43915 44179 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38107 37993 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 120552 121721 +1.0% 0.99x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5224 5199 -0.5% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 100125 100398 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 93158 90170 -3.2% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObject 64535 65079 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4222 4227 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 71713 72022 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62626 62651 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSString 1421 1405 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2368 2366 -0.1% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3725 3727 +0.1% 1.00x (?)
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29655 28999 -2.2% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 3673 3550 -3.3% 1.03x
ObjectiveCBridgeStubFromNSDateRef 3673 3527 -4.0% 1.04x
ObjectiveCBridgeStubFromNSString 944 941 -0.3% 1.00x (?)
ObjectiveCBridgeStubNSDataAppend 2316 2310 -0.3% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 12415 12829 +3.3% 0.97x (?)
ObjectiveCBridgeStubToArrayOfNSString 29089 28626 -1.6% 1.02x (?)
ObjectiveCBridgeStubToNSDate 15404 14768 -4.1% 1.04x (?)
ObjectiveCBridgeStubToNSDateRef 3411 3440 +0.9% 0.99x (?)
ObjectiveCBridgeStubToNSString 1521 1524 +0.2% 1.00x
ObjectiveCBridgeStubToNSStringRef 108 110 +1.9% 0.98x (?)
ObjectiveCBridgeStubURLAppendPath 222034 222969 +0.4% 1.00x (?)
ObjectiveCBridgeToNSArray 29299 29252 -0.2% 1.00x (?)
ObjectiveCBridgeToNSDictionary 45236 45907 +1.5% 0.99x (?)
ObjectiveCBridgeToNSSet 40309 40241 -0.2% 1.00x (?)
ObjectiveCBridgeToNSString 1269 1270 +0.1% 1.00x
ObserverClosure 2304 2304 +0.0% 1.00x
ObserverForwarderStruct 1130 1135 +0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3820 3814 -0.2% 1.00x (?)
ObserverUnappliedMethod 2692 2736 +1.6% 0.98x
PolymorphicCalls 21 22 +4.8% 0.95x
PopFrontArray 1062 1070 +0.8% 0.99x
PopFrontArrayGeneric 1062 1071 +0.8% 0.99x
PopFrontUnsafePointer 8857 8845 -0.1% 1.00x
PrefixAnyCollection 56 56 +0.0% 1.00x
PrefixAnyCollectionLazy 45108 44999 -0.2% 1.00x (?)
PrefixAnySeqCRangeIter 20732 20750 +0.1% 1.00x
PrefixAnySeqCRangeIterLazy 20730 20754 +0.1% 1.00x
PrefixAnySeqCntRange 50 50 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 50 50 +0.0% 1.00x
PrefixAnySequence 5134 5192 +1.1% 0.99x
PrefixAnySequenceLazy 5214 5169 -0.9% 1.01x
PrefixArray 25 24 -4.0% 1.04x
PrefixArrayLazy 24 24 +0.0% 1.00x
PrefixCountableRange 32 32 +0.0% 1.00x
PrefixCountableRangeLazy 32 32 +0.0% 1.00x
PrefixSequence 1572 1592 +1.3% 0.99x
PrefixSequenceLazy 1515 1516 +0.1% 1.00x
PrefixWhileAnyCollection 96 96 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12471 12470 -0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCntRange 90 90 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 75 75 +0.0% 1.00x
PrefixWhileAnySequence 13974 13995 +0.2% 1.00x (?)
PrefixWhileAnySequenceLazy 1492 1492 +0.0% 1.00x
PrefixWhileArray 62 62 +0.0% 1.00x
PrefixWhileArrayLazy 49 49 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 32 32 +0.0% 1.00x
PrefixWhileSequence 295 296 +0.3% 1.00x
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 769 796 +3.5% 0.97x
ProtocolDispatch2 160 168 +5.0% 0.95x
RC4 159 159 +0.0% 1.00x
RGBHistogram 2416 2401 -0.6% 1.01x
RGBHistogramOfObjects 24490 24421 -0.3% 1.00x (?)
RangeAssignment 300 296 -1.3% 1.01x (?)
RecursiveOwnedParameter 2329 2317 -0.5% 1.01x
ReversedArray 49 49 +0.0% 1.00x
ReversedBidirectional 29052 29057 +0.0% 1.00x (?)
ReversedDictionary 116 116 +0.0% 1.00x
SetExclusiveOr 3037 3057 +0.7% 0.99x (?)
SetExclusiveOr_OfObjects 9577 9536 -0.4% 1.00x (?)
SetIntersect 284 272 -4.2% 1.04x
SetIntersect_OfObjects 1720 1727 +0.4% 1.00x (?)
SetIsSubsetOf 286 286 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 359 +0.0% 1.00x
SetUnion 2800 2849 +1.7% 0.98x (?)
SetUnion_OfObjects 8127 8100 -0.3% 1.00x (?)
SevenBoom 1465 1454 -0.8% 1.01x (?)
Sim2DArray 276 276 +0.0% 1.00x
SortLargeExistentials 8049 8011 -0.5% 1.00x
SortLettersInPlace 1147 1149 +0.2% 1.00x
SortStringsUnicode 7866 7976 +1.4% 0.99x
StackPromo 22479 22447 -0.1% 1.00x (?)
StaticArray 18 18 +0.0% 1.00x
StrComplexWalk 720 715 -0.7% 1.01x
StrToInt 2439 2342 -4.0% 1.04x
StringAdder 0 0 +0.0% 1.00x
StringBuilder 1001 1004 +0.3% 1.00x
StringBuilderLong 916 917 +0.1% 1.00x
StringEdits 109782 109579 -0.2% 1.00x (?)
StringEqualPointerComparison 7327 7335 +0.1% 1.00x (?)
StringFromLongWholeSubstring 11003 11049 +0.4% 1.00x (?)
StringFromLongWholeSubstringGeneric 33 33 +0.0% 1.00x
StringHasPrefixUnicode 14567 14335 -1.6% 1.02x
StringHasSuffixUnicode 61444 61011 -0.7% 1.01x
StringInterpolation 10593 10550 -0.4% 1.00x (?)
StringMatch 7489 7458 -0.4% 1.00x (?)
StringUTF16Builder 1849 1856 +0.4% 1.00x (?)
StringWalk 1272 1322 +3.9% 0.96x
StringWithCString 68807 68727 -0.1% 1.00x
SubstringFromLongString 99 99 +0.0% 1.00x
SuffixAnyCollection 22 23 +4.5% 0.96x
SuffixAnyCollectionLazy 14988 14932 -0.4% 1.00x
SuffixAnySeqCRangeIter 4927 4930 +0.1% 1.00x
SuffixAnySeqCRangeIterLazy 4927 4929 +0.0% 1.00x (?)
SuffixAnySeqCntRange 16 16 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 16 16 +0.0% 1.00x
SuffixAnySequence 6680 6699 +0.3% 1.00x
SuffixArray 8 8 +0.0% 1.00x
SuffixArrayLazy 8 8 +0.0% 1.00x
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 4474 4428 -1.0% 1.01x
SuffixSequenceLazy 4465 4425 -0.9% 1.01x
SuperChars 103588 103860 +0.3% 1.00x (?)
TwoSum 974 970 -0.4% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 257 253 -1.6% 1.02x
Walsh 352 356 +1.1% 0.99x
XorLoop 347 347 +0.0% 1.00x
Added (3)
TEST MIN MAX MEAN MAX_RSS
SubstringComparable 16896 17046 16989 3629056
SubstringEqualString 8356 8400 8380 3615403
SubstringEquatable 33077 35084 33995 3605845

Unoptimized (Onone)

Regression (2)
TEST OLD NEW DELTA SPEEDUP
Chars 50384 54477 +8.1% 0.92x
DropWhileAnySequenceLazy 12372 13222 +6.9% 0.94x
Improvement (2)
TEST OLD NEW DELTA SPEEDUP
StringHasPrefix 1844 1734 -6.0% 1.06x
DropWhileSequenceLazy 11965 11391 -4.8% 1.05x
No Changes (274)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4938 4917 -0.4% 1.00x (?)
AnyHashableWithAClass 84341 84219 -0.1% 1.00x
Array2D 606174 608254 +0.3% 1.00x (?)
ArrayAppend 3671 3799 +3.5% 0.97x
ArrayAppendArrayOfInt 648 650 +0.3% 1.00x
ArrayAppendAscii 60611 60676 +0.1% 1.00x (?)
ArrayAppendFromGeneric 652 652 +0.0% 1.00x
ArrayAppendGenericStructs 1294 1295 +0.1% 1.00x (?)
ArrayAppendLatin1 82945 82913 -0.0% 1.00x (?)
ArrayAppendLazyMap 212544 214196 +0.8% 0.99x (?)
ArrayAppendOptionals 1316 1355 +3.0% 0.97x
ArrayAppendRepeatCol 215604 224586 +4.2% 0.96x
ArrayAppendReserved 3316 3321 +0.2% 1.00x
ArrayAppendSequence 77765 77769 +0.0% 1.00x (?)
ArrayAppendStrings 13687 13781 +0.7% 0.99x
ArrayAppendToFromGeneric 651 652 +0.2% 1.00x (?)
ArrayAppendToGeneric 654 653 -0.2% 1.00x (?)
ArrayAppendUTF16 81939 82443 +0.6% 0.99x (?)
ArrayInClass 6872 6922 +0.7% 0.99x
ArrayLiteral 1742 1741 -0.1% 1.00x (?)
ArrayOfGenericPOD 3090 3090 +0.0% 1.00x
ArrayOfGenericRef 10195 10175 -0.2% 1.00x
ArrayOfPOD 1892 1892 +0.0% 1.00x
ArrayOfRef 9546 9494 -0.5% 1.01x (?)
ArrayPlusEqualArrayOfInt 651 650 -0.2% 1.00x (?)
ArrayPlusEqualFiveElementCollection 294396 295439 +0.4% 1.00x (?)
ArrayPlusEqualSingleElementCollection 294958 290154 -1.6% 1.02x
ArrayPlusEqualThreeElements 10549 10551 +0.0% 1.00x (?)
ArraySubscript 4161 4161 +0.0% 1.00x
ArrayValueProp 3536 3540 +0.1% 1.00x (?)
ArrayValueProp2 18317 19097 +4.3% 0.96x
ArrayValueProp3 3914 3907 -0.2% 1.00x (?)
ArrayValueProp4 3844 3848 +0.1% 1.00x (?)
BitCount 172 166 -3.5% 1.04x
ByteSwap 26 26 +0.0% 1.00x
CStringLongAscii 5437 5364 -1.3% 1.01x
CStringLongNonAscii 2415 2409 -0.2% 1.00x (?)
CStringShortAscii 9548 9485 -0.7% 1.01x (?)
Calculator 1154 1190 +3.1% 0.97x
CaptureProp 111111 110406 -0.6% 1.01x
CharacterLiteralsLarge 10103 10108 +0.0% 1.00x (?)
CharacterLiteralsSmall 994 994 +0.0% 1.00x
ClassArrayGetter 1012 1013 +0.1% 1.00x
DeadArray 115245 117254 +1.7% 0.98x
Dictionary 3057 3047 -0.3% 1.00x (?)
Dictionary2 3507 3502 -0.1% 1.00x (?)
Dictionary2OfObjects 6230 6234 +0.1% 1.00x (?)
Dictionary3 1321 1335 +1.1% 0.99x
Dictionary3OfObjects 2414 2420 +0.2% 1.00x (?)
DictionaryBridge 2710 2699 -0.4% 1.00x (?)
DictionaryLiteral 8280 8463 +2.2% 0.98x
DictionaryOfObjects 6737 6701 -0.5% 1.01x (?)
DictionaryRemove 21057 21766 +3.4% 0.97x
DictionaryRemoveOfObjects 60657 61595 +1.5% 0.98x
DictionarySwap 5499 5481 -0.3% 1.00x (?)
DictionarySwapOfObjects 24020 23987 -0.1% 1.00x (?)
DropFirstAnyCollection 19203 19479 +1.4% 0.99x
DropFirstAnyCollectionLazy 137940 137308 -0.5% 1.00x (?)
DropFirstAnySeqCRangeIter 29444 29820 +1.3% 0.99x
DropFirstAnySeqCRangeIterLazy 29157 29777 +2.1% 0.98x
DropFirstAnySeqCntRange 19307 19232 -0.4% 1.00x
DropFirstAnySeqCntRangeLazy 19309 19481 +0.9% 0.99x
DropFirstAnySequence 12922 12888 -0.3% 1.00x (?)
DropFirstAnySequenceLazy 12897 12900 +0.0% 1.00x (?)
DropFirstArray 6217 6317 +1.6% 0.98x
DropFirstArrayLazy 45417 45501 +0.2% 1.00x
DropFirstCountableRange 339 340 +0.3% 1.00x
DropFirstCountableRangeLazy 39735 39755 +0.1% 1.00x (?)
DropFirstSequence 11731 12166 +3.7% 0.96x
DropFirstSequenceLazy 11727 12084 +3.0% 0.97x (?)
DropLastAnyCollection 6425 6488 +1.0% 0.99x
DropLastAnyCollectionLazy 45622 45835 +0.5% 1.00x (?)
DropLastAnySeqCRangeIter 44060 43830 -0.5% 1.01x
DropLastAnySeqCRangeIterLazy 43812 44329 +1.2% 0.99x
DropLastAnySeqCntRange 6413 6428 +0.2% 1.00x
DropLastAnySeqCntRangeLazy 6427 6481 +0.8% 0.99x (?)
DropLastAnySequence 29136 29561 +1.5% 0.99x
DropLastAnySequenceLazy 29021 29073 +0.2% 1.00x
DropLastArray 2115 2112 -0.1% 1.00x (?)
DropLastArrayLazy 15198 15157 -0.3% 1.00x
DropLastCountableRange 117 118 +0.9% 0.99x
DropLastCountableRangeLazy 13119 13266 +1.1% 0.99x
DropLastSequence 28585 28773 +0.7% 0.99x
DropLastSequenceLazy 29001 28841 -0.6% 1.01x
DropWhileAnyCollection 25312 25145 -0.7% 1.01x
DropWhileAnyCollectionLazy 27529 27509 -0.1% 1.00x
DropWhileAnySeqCRangeIter 31269 31410 +0.5% 1.00x
DropWhileAnySeqCRangeIterLazy 27588 27592 +0.0% 1.00x (?)
DropWhileAnySeqCntRange 25062 25084 +0.1% 1.00x (?)
DropWhileAnySeqCntRangeLazy 27360 27523 +0.6% 0.99x (?)
DropWhileAnySequence 15231 15616 +2.5% 0.98x
DropWhileArray 9833 9937 +1.1% 0.99x
DropWhileArrayLazy 16914 16873 -0.2% 1.00x
DropWhileCountableRange 6293 6237 -0.9% 1.01x
DropWhileCountableRangeLazy 26434 26478 +0.2% 1.00x
DropWhileSequence 14120 14626 +3.6% 0.97x
EqualStringSubstring 11233 11313 +0.7% 0.99x
EqualSubstringString 11202 11249 +0.4% 1.00x (?)
EqualSubstringSubstring 22033 22016 -0.1% 1.00x (?)
EqualSubstringSubstringGenericEquatable 21985 21999 +0.1% 1.00x (?)
ErrorHandling 6754 6679 -1.1% 1.01x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 19242 19155 -0.5% 1.00x
HashTest 18324 18263 -0.3% 1.00x
Histogram 8639 8707 +0.8% 0.99x (?)
Integrate 737 744 +0.9% 0.99x
IterateData 12782 12782 +0.0% 1.00x
Join 1189 1190 +0.1% 1.00x (?)
LazilyFilteredArrays 1715337 1704770 -0.6% 1.01x (?)
LazilyFilteredRange 677827 678316 +0.1% 1.00x (?)
LessSubstringSubstring 21978 21989 +0.1% 1.00x (?)
LessSubstringSubstringGenericComparable 22017 21999 -0.1% 1.00x (?)
LinkedList 43694 43740 +0.1% 1.00x (?)
MapReduce 37928 37717 -0.6% 1.01x
MapReduceAnyCollection 37948 37756 -0.5% 1.01x
MapReduceAnyCollectionShort 50632 50265 -0.7% 1.01x (?)
MapReduceClass 42816 42984 +0.4% 1.00x
MapReduceClassShort 54383 54200 -0.3% 1.00x (?)
MapReduceLazyCollection 32776 32966 +0.6% 0.99x (?)
MapReduceLazyCollectionShort 43856 44677 +1.9% 0.98x
MapReduceLazySequence 25496 25737 +0.9% 0.99x
MapReduceSequence 41880 41594 -0.7% 1.01x (?)
MapReduceShort 50197 49732 -0.9% 1.01x
MapReduceShortString 278 277 -0.4% 1.00x (?)
MapReduceString 2613 2571 -1.6% 1.02x
Memset 43961 43975 +0.0% 1.00x (?)
MonteCarloE 133886 133724 -0.1% 1.00x (?)
MonteCarloPi 52547 52492 -0.1% 1.00x
NSDictionaryCastToSwift 6522 6736 +3.3% 0.97x (?)
NSError 717 709 -1.1% 1.01x (?)
NSStringConversion 1297 1303 +0.5% 1.00x
NopDeinit 198519 193447 -2.6% 1.03x
ObjectAllocation 1478 1469 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25829 25693 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7889 7839 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45489 45607 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39085 39227 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 122608 123544 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 8014 7891 -1.5% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 103513 105553 +2.0% 0.98x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 92538 91105 -1.5% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 68652 68311 -0.5% 1.00x
ObjectiveCBridgeFromNSSetAnyObjectForced 7082 7095 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 76588 76074 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 66199 65969 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSString 4101 4022 -1.9% 1.02x (?)
ObjectiveCBridgeFromNSStringForced 2749 2759 +0.4% 1.00x
ObjectiveCBridgeStubDataAppend 3713 3758 +1.2% 0.99x (?)
ObjectiveCBridgeStubDateAccess 1031 1061 +2.9% 0.97x
ObjectiveCBridgeStubDateMutation 515 515 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29113 29298 +0.6% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 3982 4007 +0.6% 0.99x (?)
ObjectiveCBridgeStubFromNSDateRef 4103 4098 -0.1% 1.00x
ObjectiveCBridgeStubFromNSString 1000 999 -0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 205 215 +4.9% 0.95x
ObjectiveCBridgeStubNSDataAppend 2628 2737 +4.1% 0.96x
ObjectiveCBridgeStubNSDateMutationRef 15421 15228 -1.3% 1.01x (?)
ObjectiveCBridgeStubNSDateRefAccess 1236 1214 -1.8% 1.02x
ObjectiveCBridgeStubToArrayOfNSString 29193 29259 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSDate 15405 14974 -2.8% 1.03x (?)
ObjectiveCBridgeStubToNSDateRef 3399 3415 +0.5% 1.00x (?)
ObjectiveCBridgeStubToNSString 1567 1567 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 150 149 -0.7% 1.01x
ObjectiveCBridgeStubURLAppendPath 234232 224920 -4.0% 1.04x
ObjectiveCBridgeStubURLAppendPathRef 227314 225800 -0.7% 1.01x (?)
ObjectiveCBridgeToNSArray 29144 29256 +0.4% 1.00x (?)
ObjectiveCBridgeToNSDictionary 46086 45497 -1.3% 1.01x (?)
ObjectiveCBridgeToNSSet 40570 40718 +0.4% 1.00x (?)
ObjectiveCBridgeToNSString 1308 1307 -0.1% 1.00x (?)
ObserverClosure 6763 6774 +0.2% 1.00x (?)
ObserverForwarderStruct 4830 4835 +0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 8261 8231 -0.4% 1.00x (?)
ObserverUnappliedMethod 9157 9037 -1.3% 1.01x
OpenClose 394 399 +1.3% 0.99x (?)
Phonebook 22076 22348 +1.2% 0.99x
PolymorphicCalls 5445 5335 -2.0% 1.02x
PopFrontArray 7467 7486 +0.3% 1.00x (?)
PopFrontArrayGeneric 6441 6468 +0.4% 1.00x
PopFrontUnsafePointer 98993 99825 +0.8% 0.99x (?)
PrefixAnyCollection 19276 19419 +0.7% 0.99x (?)
PrefixAnyCollectionLazy 137025 137623 +0.4% 1.00x (?)
PrefixAnySeqCRangeIter 23420 23677 +1.1% 0.99x
PrefixAnySeqCRangeIterLazy 23353 23661 +1.3% 0.99x (?)
PrefixAnySeqCntRange 19346 19197 -0.8% 1.01x
PrefixAnySeqCntRangeLazy 19296 19499 +1.1% 0.99x
PrefixAnySequence 10746 10729 -0.2% 1.00x
PrefixAnySequenceLazy 10833 10737 -0.9% 1.01x
PrefixArray 6319 6317 -0.0% 1.00x
PrefixArrayLazy 45373 45473 +0.2% 1.00x
PrefixCountableRange 339 339 +0.0% 1.00x
PrefixCountableRangeLazy 39235 39170 -0.2% 1.00x
PrefixSequence 9643 9949 +3.2% 0.97x
PrefixSequenceLazy 9720 9825 +1.1% 0.99x
PrefixWhileAnyCollection 36998 36637 -1.0% 1.01x
PrefixWhileAnyCollectionLazy 22495 22899 +1.8% 0.98x
PrefixWhileAnySeqCRangeIter 40813 40695 -0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 22575 22723 +0.7% 0.99x
PrefixWhileAnySeqCntRange 36897 36579 -0.9% 1.01x
PrefixWhileAnySeqCntRangeLazy 22519 22734 +1.0% 0.99x
PrefixWhileAnySequence 29566 29839 +0.9% 0.99x
PrefixWhileAnySequenceLazy 11218 11455 +2.1% 0.98x
PrefixWhileArray 16990 16976 -0.1% 1.00x (?)
PrefixWhileArrayLazy 14683 14684 +0.0% 1.00x (?)
PrefixWhileCountableRange 18051 17869 -1.0% 1.01x (?)
PrefixWhileCountableRangeLazy 22067 22168 +0.5% 1.00x
PrefixWhileSequence 28323 28778 +1.6% 0.98x
PrefixWhileSequenceLazy 10438 10873 +4.2% 0.96x
Prims 10173 10303 +1.3% 0.99x
ProtocolDispatch 7119 7176 +0.8% 0.99x (?)
ProtocolDispatch2 490 493 +0.6% 0.99x
RC4 19313 19044 -1.4% 1.01x
RGBHistogram 33588 33812 +0.7% 0.99x (?)
RGBHistogramOfObjects 113495 113907 +0.4% 1.00x (?)
RangeAssignment 5672 5671 -0.0% 1.00x (?)
RecursiveOwnedParameter 11756 11728 -0.2% 1.00x
ReversedArray 44558 44568 +0.0% 1.00x (?)
ReversedBidirectional 76184 76023 -0.2% 1.00x (?)
ReversedDictionary 28602 28587 -0.1% 1.00x (?)
SetExclusiveOr 21037 21248 +1.0% 0.99x
SetExclusiveOr_OfObjects 49323 49343 +0.0% 1.00x (?)
SetIntersect 10623 10636 +0.1% 1.00x
SetIntersect_OfObjects 12812 12731 -0.6% 1.01x (?)
SetIsSubsetOf 1628 1642 +0.9% 0.99x
SetIsSubsetOf_OfObjects 1610 1590 -1.2% 1.01x
SetUnion 12027 12098 +0.6% 0.99x (?)
SetUnion_OfObjects 34233 34126 -0.3% 1.00x (?)
SevenBoom 1606 1598 -0.5% 1.01x (?)
Sim2DArray 30057 30034 -0.1% 1.00x
SortLargeExistentials 17786 17875 +0.5% 1.00x
SortLettersInPlace 3199 3194 -0.2% 1.00x (?)
SortSortedStrings 1410 1410 +0.0% 1.00x
SortStrings 2441 2452 +0.5% 1.00x
SortStringsUnicode 8959 9016 +0.6% 0.99x
StackPromo 99928 101437 +1.5% 0.99x (?)
StaticArray 4627 4646 +0.4% 1.00x
StrComplexWalk 6883 6893 +0.1% 1.00x (?)
StrToInt 102427 102073 -0.3% 1.00x (?)
StringAdder 51 50 -2.0% 1.02x
StringBuilder 6984 6944 -0.6% 1.01x (?)
StringBuilderLong 1098 1108 +0.9% 0.99x (?)
StringEdits 381412 381717 +0.1% 1.00x (?)
StringEqualPointerComparison 9703 9571 -1.4% 1.01x
StringFromLongWholeSubstring 11076 11246 +1.5% 0.98x
StringFromLongWholeSubstringGeneric 214 211 -1.4% 1.01x (?)
StringHasPrefixUnicode 16563 16510 -0.3% 1.00x (?)
StringHasSuffix 1878 1850 -1.5% 1.02x (?)
StringHasSuffixUnicode 64223 63941 -0.4% 1.00x
StringInterpolation 13606 13822 +1.6% 0.98x (?)
StringMatch 29583 29458 -0.4% 1.00x
StringUTF16Builder 7796 7740 -0.7% 1.01x (?)
StringWalk 12823 12651 -1.3% 1.01x
StringWithCString 68828 68746 -0.1% 1.00x (?)
SubstringFromLongString 115 116 +0.9% 0.99x
SubstringFromLongStringGeneric 206 212 +2.9% 0.97x
SuffixAnyCollection 6441 6493 +0.8% 0.99x (?)
SuffixAnyCollectionLazy 46878 46091 -1.7% 1.02x (?)
SuffixAnySeqCRangeIter 41568 41408 -0.4% 1.00x (?)
SuffixAnySeqCRangeIterLazy 41738 42276 +1.3% 0.99x
SuffixAnySeqCntRange 6413 6412 -0.0% 1.00x (?)
SuffixAnySeqCntRangeLazy 6419 6472 +0.8% 0.99x
SuffixAnySequence 27074 27124 +0.2% 1.00x
SuffixAnySequenceLazy 26922 27128 +0.8% 0.99x
SuffixArray 2116 2115 -0.0% 1.00x
SuffixArrayLazy 15205 15198 -0.0% 1.00x (?)
SuffixCountableRange 117 117 +0.0% 1.00x
SuffixCountableRangeLazy 13107 13151 +0.3% 1.00x (?)
SuffixSequence 26436 26549 +0.4% 1.00x (?)
SuffixSequenceLazy 27009 26750 -1.0% 1.01x
SuperChars 208340 215950 +3.7% 0.96x
TwoSum 4243 4280 +0.9% 0.99x (?)
TypeFlood 168 169 +0.6% 0.99x (?)
UTF8Decode 37125 37246 +0.3% 1.00x
Walsh 11841 11879 +0.3% 1.00x (?)
XorLoop 23717 23707 -0.0% 1.00x
Added (3)
TEST MIN MAX MEAN MAX_RSS
SubstringComparable 19185 19677 19441 4004523
SubstringEqualString 9784 10056 9905 3900757
SubstringEquatable 39197 39939 39594 3938987
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

@airspeedswift
Copy link
Member Author

@swift-ci please smoke test and merge

@airspeedswift
Copy link
Member Author

@swift-ci please smoke benchmark

@airspeedswift
Copy link
Member Author

@swift-ci please smoke test

@airspeedswift airspeedswift merged commit ac18e42 into swiftlang:master Jun 1, 2017
@swift-ci
Copy link
Contributor

swift-ci commented Jun 1, 2017

Build comment file:

Optimized (O)

Regression (7)
TEST OLD NEW DELTA SPEEDUP
PrefixSequenceLazy 1515 2018 +33.2% 0.75x
ProtocolDispatch 2425 3031 +25.0% 0.80x
DropFirstSequenceLazy 2118 2441 +15.3% 0.87x
BitCount 13 14 +7.7% 0.93x (?)
PrefixWhileAnySequenceLazy 1608 1709 +6.3% 0.94x
MapReduceAnyCollection 287 303 +5.6% 0.95x
DropLastSequenceLazy 550 580 +5.5% 0.95x
Improvement (8)
TEST OLD NEW DELTA SPEEDUP
StringHasPrefix 33 16 -51.5% 2.06x
StringHasSuffix 33 16 -51.5% 2.06x
NopDeinit 30200 27443 -9.1% 1.10x
ObjectiveCBridgeStubNSDateRefAccess 346 317 -8.4% 1.09x
DropWhileSequence 1640 1511 -7.9% 1.09x
SuffixAnySequenceLazy 7049 6629 -6.0% 1.06x
OpenClose 54 51 -5.6% 1.06x
SortSortedStrings 930 882 -5.2% 1.05x
No Changes (263)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3025 3022 -0.1% 1.00x (?)
AnyHashableWithAClass 66496 66884 +0.6% 0.99x (?)
Array2D 2026 2022 -0.2% 1.00x (?)
ArrayAppend 772 771 -0.1% 1.00x (?)
ArrayAppendArrayOfInt 597 596 -0.2% 1.00x
ArrayAppendAscii 23234 23245 +0.0% 1.00x (?)
ArrayAppendFromGeneric 596 597 +0.2% 1.00x
ArrayAppendGenericStructs 1241 1232 -0.7% 1.01x (?)
ArrayAppendLatin1 43248 43412 +0.4% 1.00x
ArrayAppendLazyMap 936 935 -0.1% 1.00x (?)
ArrayAppendOptionals 1235 1242 +0.6% 0.99x (?)
ArrayAppendRepeatCol 838 838 +0.0% 1.00x
ArrayAppendReserved 534 534 +0.0% 1.00x
ArrayAppendSequence 945 944 -0.1% 1.00x
ArrayAppendStrings 13599 13696 +0.7% 0.99x (?)
ArrayAppendToFromGeneric 597 597 +0.0% 1.00x
ArrayAppendToGeneric 597 596 -0.2% 1.00x
ArrayAppendUTF16 41066 41260 +0.5% 1.00x
ArrayInClass 61 61 +0.0% 1.00x
ArrayLiteral 1224 1224 +0.0% 1.00x
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 4016 4012 -0.1% 1.00x (?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayOfRef 3891 3886 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 597 597 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4684 4735 +1.1% 0.99x
ArrayPlusEqualSingleElementCollection 772 772 +0.0% 1.00x
ArrayPlusEqualThreeElements 1611 1607 -0.2% 1.00x (?)
ArraySubscript 1475 1476 +0.1% 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
ByteSwap 0 0 +0.0% 1.00x
CStringLongAscii 5153 5165 +0.2% 1.00x (?)
CStringLongNonAscii 2192 2183 -0.4% 1.00x
CStringShortAscii 5631 5627 -0.1% 1.00x (?)
Calculator 36 35 -2.8% 1.03x
CaptureProp 4708 4852 +3.1% 0.97x
CharacterLiteralsLarge 8743 8839 +1.1% 0.99x
CharacterLiteralsSmall 273 273 +0.0% 1.00x
Chars 1898 1910 +0.6% 0.99x
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 186 184 -1.1% 1.01x (?)
Dictionary 595 577 -3.0% 1.03x
Dictionary2 1818 1825 +0.4% 1.00x (?)
Dictionary2OfObjects 3353 3347 -0.2% 1.00x (?)
Dictionary3 466 464 -0.4% 1.00x (?)
Dictionary3OfObjects 898 903 +0.6% 0.99x
DictionaryBridge 2620 2690 +2.7% 0.97x (?)
DictionaryLiteral 1494 1499 +0.3% 1.00x
DictionaryOfObjects 2341 2345 +0.2% 1.00x (?)
DictionaryRemove 2450 2410 -1.6% 1.02x
DictionaryRemoveOfObjects 23276 23415 +0.6% 0.99x
DictionarySwap 429 429 +0.0% 1.00x
DictionarySwapOfObjects 6934 7021 +1.3% 0.99x
DropFirstAnyCollection 56 57 +1.8% 0.98x
DropFirstAnyCollectionLazy 44983 44935 -0.1% 1.00x
DropFirstAnySeqCRangeIter 26531 26560 +0.1% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 26531 26553 +0.1% 1.00x
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 5859 5850 -0.2% 1.00x (?)
DropFirstAnySequenceLazy 5858 5810 -0.8% 1.01x
DropFirstArray 25 25 +0.0% 1.00x
DropFirstArrayLazy 25 24 -4.0% 1.04x
DropFirstCountableRange 32 32 +0.0% 1.00x
DropFirstCountableRangeLazy 32 32 +0.0% 1.00x
DropFirstSequence 2093 2174 +3.9% 0.96x
DropLastAnyCollection 22 22 +0.0% 1.00x
DropLastAnyCollectionLazy 14989 15001 +0.1% 1.00x (?)
DropLastAnySeqCRangeIter 4603 4609 +0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4647 4660 +0.3% 1.00x
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6909 7001 +1.3% 0.99x
DropLastAnySequenceLazy 6731 6599 -2.0% 1.02x
DropLastArray 8 8 +0.0% 1.00x
DropLastArrayLazy 8 8 +0.0% 1.00x
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropLastSequence 550 578 +5.1% 0.95x
DropWhileAnyCollection 69 69 +0.0% 1.00x
DropWhileAnyCollectionLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCRangeIter 21286 21309 +0.1% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCntRange 64 64 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 103 103 +0.0% 1.00x
DropWhileAnySequence 6696 6734 +0.6% 0.99x
DropWhileAnySequenceLazy 2355 2302 -2.3% 1.02x
DropWhileArray 37 37 +0.0% 1.00x
DropWhileArrayLazy 78 78 +0.0% 1.00x
DropWhileCountableRange 36 35 -2.8% 1.03x
DropWhileCountableRangeLazy 68 68 +0.0% 1.00x
DropWhileSequenceLazy 65 65 +0.0% 1.00x
EqualStringSubstring 11172 11273 +0.9% 0.99x
EqualSubstringString 11156 11267 +1.0% 0.99x (?)
EqualSubstringSubstring 21810 22015 +0.9% 0.99x (?)
EqualSubstringSubstringGenericEquatable 22019 22039 +0.1% 1.00x (?)
ErrorHandling 2703 2752 +1.8% 0.98x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3578 3443 -3.8% 1.04x
HashTest 1643 1655 +0.7% 0.99x
Histogram 298 299 +0.3% 1.00x
Integrate 262 262 +0.0% 1.00x
IterateData 756 755 -0.1% 1.00x
Join 382 385 +0.8% 0.99x
LazilyFilteredArrays 64999 65030 +0.0% 1.00x (?)
LazilyFilteredRange 3893 3887 -0.2% 1.00x
LessSubstringSubstring 21901 22142 +1.1% 0.99x
LessSubstringSubstringGenericComparable 21847 22051 +0.9% 0.99x
LinkedList 7043 7045 +0.0% 1.00x (?)
MapReduce 304 300 -1.3% 1.01x
MapReduceAnyCollectionShort 2001 1998 -0.1% 1.00x (?)
MapReduceClass 3064 3065 +0.0% 1.00x (?)
MapReduceClassShort 4504 4497 -0.2% 1.00x
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 45 44 -2.2% 1.02x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 448 451 +0.7% 0.99x (?)
MapReduceShort 1910 1914 +0.2% 1.00x
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 113 113 +0.0% 1.00x
Memset 234 234 +0.0% 1.00x
MonteCarloE 10416 10296 -1.2% 1.01x
MonteCarloPi 44083 44001 -0.2% 1.00x
NSDictionaryCastToSwift 5549 5367 -3.3% 1.03x (?)
NSError 291 291 +0.0% 1.00x
NSStringConversion 740 746 +0.8% 0.99x (?)
ObjectAllocation 179 179 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 23825 23839 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4545 4565 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 44877 45597 +1.6% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37938 38172 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 118748 118613 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5227 5215 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 99675 102265 +2.6% 0.97x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 96313 92063 -4.4% 1.05x
ObjectiveCBridgeFromNSSetAnyObject 64317 65005 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4182 4160 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 72731 72305 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62793 62781 -0.0% 1.00x (?)
ObjectiveCBridgeFromNSString 1406 1415 +0.6% 0.99x
ObjectiveCBridgeFromNSStringForced 2402 2397 -0.2% 1.00x
ObjectiveCBridgeStubDataAppend 3765 3681 -2.2% 1.02x
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29060 29457 +1.4% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 3698 3541 -4.2% 1.04x
ObjectiveCBridgeStubFromNSDateRef 3672 3524 -4.0% 1.04x
ObjectiveCBridgeStubFromNSString 917 906 -1.2% 1.01x (?)
ObjectiveCBridgeStubFromNSStringRef 182 174 -4.4% 1.05x
ObjectiveCBridgeStubNSDataAppend 2364 2261 -4.4% 1.05x
ObjectiveCBridgeStubNSDateMutationRef 12713 13067 +2.8% 0.97x
ObjectiveCBridgeStubToArrayOfNSString 28720 28814 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSDate 14713 14745 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3424 3421 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1516 1516 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 108 110 +1.9% 0.98x
ObjectiveCBridgeStubURLAppendPath 223540 223445 -0.0% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 223884 221866 -0.9% 1.01x (?)
ObjectiveCBridgeToNSArray 29407 29615 +0.7% 0.99x (?)
ObjectiveCBridgeToNSDictionary 45182 46082 +2.0% 0.98x
ObjectiveCBridgeToNSSet 39899 39251 -1.6% 1.02x (?)
ObjectiveCBridgeToNSString 1271 1272 +0.1% 1.00x
ObserverClosure 2304 2286 -0.8% 1.01x
ObserverForwarderStruct 1131 1128 -0.3% 1.00x (?)
ObserverPartiallyAppliedMethod 3818 3822 +0.1% 1.00x (?)
ObserverUnappliedMethod 2656 2651 -0.2% 1.00x (?)
Phonebook 7539 7199 -4.5% 1.05x
PolymorphicCalls 21 22 +4.8% 0.95x
PopFrontArray 1062 1071 +0.8% 0.99x
PopFrontArrayGeneric 1062 1070 +0.8% 0.99x (?)
PopFrontUnsafePointer 8853 8853 +0.0% 1.00x
PrefixAnyCollection 56 56 +0.0% 1.00x
PrefixAnyCollectionLazy 45066 45015 -0.1% 1.00x
PrefixAnySeqCRangeIter 20751 20722 -0.1% 1.00x (?)
PrefixAnySeqCRangeIterLazy 20766 20738 -0.1% 1.00x (?)
PrefixAnySeqCntRange 50 50 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 50 50 +0.0% 1.00x
PrefixAnySequence 5190 5186 -0.1% 1.00x
PrefixAnySequenceLazy 5187 5189 +0.0% 1.00x (?)
PrefixArray 25 24 -4.0% 1.04x
PrefixArrayLazy 24 24 +0.0% 1.00x
PrefixCountableRange 32 32 +0.0% 1.00x
PrefixCountableRangeLazy 32 32 +0.0% 1.00x
PrefixSequence 1571 1571 +0.0% 1.00x
PrefixWhileAnyCollection 96 96 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12692 12680 -0.1% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCntRange 90 90 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 75 75 +0.0% 1.00x
PrefixWhileAnySequence 13989 14261 +1.9% 0.98x
PrefixWhileArray 62 62 +0.0% 1.00x
PrefixWhileArrayLazy 49 49 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 32 32 +0.0% 1.00x
PrefixWhileSequence 295 297 +0.7% 0.99x
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 768 785 +2.2% 0.98x (?)
ProtocolDispatch2 160 168 +5.0% 0.95x
RC4 159 159 +0.0% 1.00x
RGBHistogram 2421 2418 -0.1% 1.00x (?)
RGBHistogramOfObjects 24442 24420 -0.1% 1.00x (?)
RangeAssignment 303 296 -2.3% 1.02x
RecursiveOwnedParameter 2329 2319 -0.4% 1.00x
ReversedArray 49 49 +0.0% 1.00x
ReversedBidirectional 28997 29026 +0.1% 1.00x
ReversedDictionary 117 115 -1.7% 1.02x
SetExclusiveOr 3094 3111 +0.5% 0.99x (?)
SetExclusiveOr_OfObjects 9569 9594 +0.3% 1.00x (?)
SetIntersect 283 274 -3.2% 1.03x
SetIntersect_OfObjects 1720 1729 +0.5% 0.99x (?)
SetIsSubsetOf 286 286 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 359 +0.0% 1.00x
SetUnion 2851 2821 -1.1% 1.01x (?)
SetUnion_OfObjects 8143 8082 -0.7% 1.01x
SevenBoom 1486 1486 +0.0% 1.00x
Sim2DArray 276 276 +0.0% 1.00x
SortLargeExistentials 8080 8012 -0.8% 1.01x
SortLettersInPlace 1148 1150 +0.2% 1.00x (?)
SortStrings 1773 1690 -4.7% 1.05x
SortStringsUnicode 7613 7648 +0.5% 1.00x
StackPromo 22216 22189 -0.1% 1.00x (?)
StaticArray 18 18 +0.0% 1.00x
StrComplexWalk 720 715 -0.7% 1.01x
StrToInt 2426 2374 -2.1% 1.02x
StringAdder 0 0 +0.0% 1.00x
StringBuilder 980 985 +0.5% 0.99x (?)
StringBuilderLong 924 922 -0.2% 1.00x (?)
StringEdits 109813 109678 -0.1% 1.00x (?)
StringEqualPointerComparison 7344 7347 +0.0% 1.00x
StringFromLongWholeSubstring 11029 11096 +0.6% 0.99x (?)
StringFromLongWholeSubstringGeneric 33 33 +0.0% 1.00x
StringHasPrefixUnicode 14832 14418 -2.8% 1.03x
StringHasSuffixUnicode 62379 61849 -0.8% 1.01x
StringInterpolation 10760 10771 +0.1% 1.00x (?)
StringMatch 7592 7475 -1.5% 1.02x (?)
StringUTF16Builder 1860 1844 -0.9% 1.01x (?)
StringWalk 1348 1308 -3.0% 1.03x
StringWithCString 68683 68681 -0.0% 1.00x (?)
SubstringFromLongString 98 99 +1.0% 0.99x (?)
SubstringFromLongStringGeneric 170 170 +0.0% 1.00x
SuffixAnyCollection 22 22 +0.0% 1.00x
SuffixAnyCollectionLazy 14950 14992 +0.3% 1.00x (?)
SuffixAnySeqCRangeIter 4927 4939 +0.2% 1.00x
SuffixAnySeqCRangeIterLazy 4973 4990 +0.3% 1.00x
SuffixAnySeqCntRange 16 16 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 16 16 +0.0% 1.00x
SuffixAnySequence 7012 7250 +3.4% 0.97x
SuffixArray 8 8 +0.0% 1.00x
SuffixArrayLazy 8 8 +0.0% 1.00x
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 4462 4419 -1.0% 1.01x
SuffixSequenceLazy 4466 4439 -0.6% 1.01x
SuperChars 103526 103718 +0.2% 1.00x (?)
TwoSum 975 970 -0.5% 1.01x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 257 254 -1.2% 1.01x
Walsh 352 355 +0.9% 0.99x
XorLoop 347 347 +0.0% 1.00x
Added (3)
TEST MIN MAX MEAN MAX_RSS
SubstringComparable 16845 17087 16929 3622229
SubstringEqualString 8171 8323 8266 3608576
SubstringEquatable 32955 33720 33302 3614037

Unoptimized (Onone)

Regression (1)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubFromNSStringRef 205 216 +5.4% 0.95x
Improvement (5)
TEST OLD NEW DELTA SPEEDUP
TypeFlood 170 157 -7.6% 1.08x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 98216 92209 -6.1% 1.07x
Chars 53854 50759 -5.7% 1.06x
ArrayAppendOptionals 1368 1290 -5.7% 1.06x
PrefixAnySequenceLazy 11434 10816 -5.4% 1.06x
No Changes (272)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4920 4925 +0.1% 1.00x (?)
AnyHashableWithAClass 83802 84164 +0.4% 1.00x
Array2D 608340 608092 -0.0% 1.00x (?)
ArrayAppend 3682 3807 +3.4% 0.97x
ArrayAppendArrayOfInt 649 649 +0.0% 1.00x
ArrayAppendAscii 60634 60821 +0.3% 1.00x (?)
ArrayAppendFromGeneric 653 653 +0.0% 1.00x
ArrayAppendGenericStructs 1310 1292 -1.4% 1.01x (?)
ArrayAppendLatin1 83116 83225 +0.1% 1.00x
ArrayAppendLazyMap 215023 209871 -2.4% 1.02x
ArrayAppendRepeatCol 222156 216899 -2.4% 1.02x
ArrayAppendReserved 3316 3321 +0.2% 1.00x (?)
ArrayAppendSequence 77826 76932 -1.1% 1.01x
ArrayAppendStrings 13790 13745 -0.3% 1.00x
ArrayAppendToFromGeneric 652 653 +0.2% 1.00x (?)
ArrayAppendToGeneric 654 654 +0.0% 1.00x
ArrayAppendUTF16 81728 81740 +0.0% 1.00x (?)
ArrayInClass 6892 6875 -0.2% 1.00x
ArrayLiteral 1746 1748 +0.1% 1.00x
ArrayOfGenericPOD 3070 3071 +0.0% 1.00x (?)
ArrayOfGenericRef 10197 10163 -0.3% 1.00x
ArrayOfPOD 1892 1892 +0.0% 1.00x
ArrayOfRef 9525 9512 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 650 652 +0.3% 1.00x
ArrayPlusEqualFiveElementCollection 295983 296950 +0.3% 1.00x (?)
ArrayPlusEqualSingleElementCollection 294093 292850 -0.4% 1.00x (?)
ArrayPlusEqualThreeElements 10521 10540 +0.2% 1.00x (?)
ArraySubscript 4156 4157 +0.0% 1.00x (?)
ArrayValueProp 3540 3537 -0.1% 1.00x
ArrayValueProp2 18348 18352 +0.0% 1.00x (?)
ArrayValueProp3 3939 3943 +0.1% 1.00x
ArrayValueProp4 3853 3845 -0.2% 1.00x (?)
BitCount 173 165 -4.6% 1.05x
ByteSwap 26 26 +0.0% 1.00x
CStringLongAscii 5440 5442 +0.0% 1.00x (?)
CStringLongNonAscii 2413 2404 -0.4% 1.00x (?)
CStringShortAscii 9543 9505 -0.4% 1.00x (?)
Calculator 1156 1191 +3.0% 0.97x
CaptureProp 110692 110209 -0.4% 1.00x (?)
CharacterLiteralsLarge 9932 9986 +0.5% 0.99x
CharacterLiteralsSmall 994 994 +0.0% 1.00x
ClassArrayGetter 1011 1011 +0.0% 1.00x
DeadArray 115413 113916 -1.3% 1.01x (?)
Dictionary 3011 3076 +2.2% 0.98x
Dictionary2 3516 3526 +0.3% 1.00x (?)
Dictionary2OfObjects 6236 6279 +0.7% 0.99x (?)
Dictionary3 1333 1328 -0.4% 1.00x (?)
Dictionary3OfObjects 2410 2447 +1.5% 0.98x
DictionaryBridge 2770 2702 -2.5% 1.03x (?)
DictionaryLiteral 8209 8248 +0.5% 1.00x (?)
DictionaryOfObjects 6737 6698 -0.6% 1.01x (?)
DictionaryRemove 21265 21509 +1.1% 0.99x
DictionaryRemoveOfObjects 61378 60536 -1.4% 1.01x
DictionarySwap 5411 5505 +1.7% 0.98x
DictionarySwapOfObjects 23840 23812 -0.1% 1.00x (?)
DropFirstAnyCollection 19544 19507 -0.2% 1.00x (?)
DropFirstAnyCollectionLazy 136072 138451 +1.7% 0.98x (?)
DropFirstAnySeqCRangeIter 29610 29488 -0.4% 1.00x
DropFirstAnySeqCRangeIterLazy 29682 29499 -0.6% 1.01x (?)
DropFirstAnySeqCntRange 19264 19401 +0.7% 0.99x
DropFirstAnySeqCntRangeLazy 19336 19337 +0.0% 1.00x (?)
DropFirstAnySequence 12924 13043 +0.9% 0.99x
DropFirstAnySequenceLazy 13214 12838 -2.8% 1.03x
DropFirstArray 6316 6316 +0.0% 1.00x
DropFirstArrayLazy 45419 45593 +0.4% 1.00x
DropFirstCountableRange 338 339 +0.3% 1.00x (?)
DropFirstCountableRangeLazy 38983 39384 +1.0% 0.99x
DropFirstSequence 11771 11897 +1.1% 0.99x
DropFirstSequenceLazy 12100 12077 -0.2% 1.00x
DropLastAnyCollection 6506 6513 +0.1% 1.00x
DropLastAnyCollectionLazy 45346 46329 +2.2% 0.98x (?)
DropLastAnySeqCRangeIter 43702 43855 +0.4% 1.00x (?)
DropLastAnySeqCRangeIterLazy 44161 43933 -0.5% 1.01x (?)
DropLastAnySeqCntRange 6451 6463 +0.2% 1.00x (?)
DropLastAnySeqCntRangeLazy 6437 6425 -0.2% 1.00x
DropLastAnySequence 29409 29077 -1.1% 1.01x
DropLastAnySequenceLazy 29103 29236 +0.5% 1.00x
DropLastArray 2114 2113 -0.0% 1.00x
DropLastArrayLazy 15182 15192 +0.1% 1.00x
DropLastCountableRange 117 118 +0.9% 0.99x
DropLastCountableRangeLazy 12933 13079 +1.1% 0.99x (?)
DropLastSequence 29557 28695 -2.9% 1.03x
DropLastSequenceLazy 28893 28646 -0.9% 1.01x
DropWhileAnyCollection 25003 25142 +0.6% 0.99x (?)
DropWhileAnyCollectionLazy 27446 27334 -0.4% 1.00x
DropWhileAnySeqCRangeIter 31372 31327 -0.1% 1.00x
DropWhileAnySeqCRangeIterLazy 27439 27303 -0.5% 1.00x
DropWhileAnySeqCntRange 24948 24970 +0.1% 1.00x
DropWhileAnySeqCntRangeLazy 27411 27256 -0.6% 1.01x
DropWhileAnySequence 15230 15239 +0.1% 1.00x
DropWhileAnySequenceLazy 12714 12683 -0.2% 1.00x
DropWhileArray 9930 9954 +0.2% 1.00x
DropWhileArrayLazy 16887 17018 +0.8% 0.99x
DropWhileCountableRange 6360 6251 -1.7% 1.02x
DropWhileCountableRangeLazy 26654 26540 -0.4% 1.00x (?)
DropWhileSequence 14516 14366 -1.0% 1.01x
DropWhileSequenceLazy 11275 11456 +1.6% 0.98x (?)
EqualStringSubstring 11246 11248 +0.0% 1.00x (?)
EqualSubstringString 11389 11237 -1.3% 1.01x
EqualSubstringSubstring 21984 21979 -0.0% 1.00x (?)
EqualSubstringSubstringGenericEquatable 22007 22043 +0.2% 1.00x
ErrorHandling 6625 6703 +1.2% 0.99x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 19129 19199 +0.4% 1.00x
HashTest 18227 18469 +1.3% 0.99x (?)
Histogram 8616 8754 +1.6% 0.98x
Integrate 744 739 -0.7% 1.01x (?)
IterateData 12772 12771 -0.0% 1.00x (?)
Join 1192 1195 +0.3% 1.00x
LazilyFilteredArrays 1730169 1718927 -0.6% 1.01x (?)
LazilyFilteredRange 677162 678155 +0.1% 1.00x (?)
LessSubstringSubstring 22246 22003 -1.1% 1.01x
LessSubstringSubstringGenericComparable 22013 22069 +0.3% 1.00x
LinkedList 43848 43858 +0.0% 1.00x
MapReduce 37796 37965 +0.4% 1.00x
MapReduceAnyCollection 37752 37987 +0.6% 0.99x
MapReduceAnyCollectionShort 50277 50743 +0.9% 0.99x
MapReduceClass 43351 43679 +0.8% 0.99x
MapReduceClassShort 54346 54807 +0.8% 0.99x
MapReduceLazyCollection 32774 32866 +0.3% 1.00x
MapReduceLazyCollectionShort 44056 44086 +0.1% 1.00x (?)
MapReduceLazySequence 26010 25349 -2.5% 1.03x
MapReduceSequence 41401 41811 +1.0% 0.99x
MapReduceShort 49502 49881 +0.8% 0.99x (?)
MapReduceShortString 277 276 -0.4% 1.00x (?)
MapReduceString 2584 2588 +0.2% 1.00x
Memset 43984 44008 +0.1% 1.00x
MonteCarloE 133509 134172 +0.5% 1.00x (?)
MonteCarloPi 52563 53436 +1.7% 0.98x
NSDictionaryCastToSwift 6621 6689 +1.0% 0.99x (?)
NSError 705 711 +0.9% 0.99x (?)
NSStringConversion 1294 1307 +1.0% 0.99x
NopDeinit 191423 190530 -0.5% 1.00x (?)
ObjectAllocation 1467 1463 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25817 25418 -1.5% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7900 7909 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45050 45682 +1.4% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39471 39773 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 122752 122863 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7531 7710 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 100806 104801 +4.0% 0.96x (?)
ObjectiveCBridgeFromNSSetAnyObject 67426 67356 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7042 7044 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 76495 76647 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 66235 66593 +0.5% 0.99x (?)
ObjectiveCBridgeFromNSString 4115 4088 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2773 2760 -0.5% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3795 3722 -1.9% 1.02x (?)
ObjectiveCBridgeStubDateAccess 1030 1061 +3.0% 0.97x
ObjectiveCBridgeStubDateMutation 515 515 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29547 29580 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 3983 4008 +0.6% 0.99x (?)
ObjectiveCBridgeStubFromNSDateRef 4103 4098 -0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 967 955 -1.2% 1.01x
ObjectiveCBridgeStubNSDataAppend 2705 2635 -2.6% 1.03x (?)
ObjectiveCBridgeStubNSDateMutationRef 15186 14886 -2.0% 1.02x (?)
ObjectiveCBridgeStubNSDateRefAccess 1233 1215 -1.5% 1.01x
ObjectiveCBridgeStubToArrayOfNSString 28899 29216 +1.1% 0.99x (?)
ObjectiveCBridgeStubToNSDate 15526 15022 -3.2% 1.03x (?)
ObjectiveCBridgeStubToNSDateRef 3414 3379 -1.0% 1.01x
ObjectiveCBridgeStubToNSString 1572 1571 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 149 149 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 227590 223600 -1.8% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 221566 227323 +2.6% 0.97x
ObjectiveCBridgeToNSArray 29538 29186 -1.2% 1.01x (?)
ObjectiveCBridgeToNSDictionary 46389 46289 -0.2% 1.00x (?)
ObjectiveCBridgeToNSSet 40096 40379 +0.7% 0.99x (?)
ObjectiveCBridgeToNSString 1307 1306 -0.1% 1.00x (?)
ObserverClosure 6784 6829 +0.7% 0.99x
ObserverForwarderStruct 4820 4815 -0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 8250 8254 +0.0% 1.00x (?)
ObserverUnappliedMethod 8580 8566 -0.2% 1.00x (?)
OpenClose 397 396 -0.3% 1.00x (?)
Phonebook 22026 22409 +1.7% 0.98x
PolymorphicCalls 5362 5360 -0.0% 1.00x (?)
PopFrontArray 7513 7517 +0.1% 1.00x (?)
PopFrontArrayGeneric 6502 6518 +0.2% 1.00x
PopFrontUnsafePointer 97287 97915 +0.6% 0.99x (?)
PrefixAnyCollection 19498 19511 +0.1% 1.00x
PrefixAnyCollectionLazy 135852 140058 +3.1% 0.97x
PrefixAnySeqCRangeIter 23265 23426 +0.7% 0.99x
PrefixAnySeqCRangeIterLazy 23669 23740 +0.3% 1.00x
PrefixAnySeqCntRange 19201 19395 +1.0% 0.99x
PrefixAnySeqCntRangeLazy 19290 19308 +0.1% 1.00x (?)
PrefixAnySequence 10770 10784 +0.1% 1.00x (?)
PrefixArray 6312 6318 +0.1% 1.00x
PrefixArrayLazy 45386 45581 +0.4% 1.00x
PrefixCountableRange 339 339 +0.0% 1.00x
PrefixCountableRangeLazy 38443 38903 +1.2% 0.99x
PrefixSequence 9597 9726 +1.3% 0.99x
PrefixSequenceLazy 9743 10165 +4.3% 0.96x
PrefixWhileAnyCollection 36323 36689 +1.0% 0.99x
PrefixWhileAnyCollectionLazy 23008 22932 -0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIter 40812 40707 -0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 22695 22536 -0.7% 1.01x (?)
PrefixWhileAnySeqCntRange 36461 36579 +0.3% 1.00x
PrefixWhileAnySeqCntRangeLazy 22701 22679 -0.1% 1.00x (?)
PrefixWhileAnySequence 29821 29726 -0.3% 1.00x (?)
PrefixWhileAnySequenceLazy 11338 11439 +0.9% 0.99x (?)
PrefixWhileArray 16964 17123 +0.9% 0.99x (?)
PrefixWhileArrayLazy 14642 14710 +0.5% 1.00x (?)
PrefixWhileCountableRange 18201 17900 -1.7% 1.02x
PrefixWhileCountableRangeLazy 22214 22051 -0.7% 1.01x (?)
PrefixWhileSequence 28425 28336 -0.3% 1.00x (?)
PrefixWhileSequenceLazy 10512 10593 +0.8% 0.99x
Prims 10254 10212 -0.4% 1.00x (?)
ProtocolDispatch 7124 7015 -1.5% 1.02x (?)
ProtocolDispatch2 493 490 -0.6% 1.01x
RC4 18911 19266 +1.9% 0.98x
RGBHistogram 33732 34096 +1.1% 0.99x (?)
RGBHistogramOfObjects 113578 113382 -0.2% 1.00x (?)
RangeAssignment 5670 5696 +0.5% 1.00x
RecursiveOwnedParameter 11736 11749 +0.1% 1.00x
ReversedArray 45232 46475 +2.7% 0.97x (?)
ReversedBidirectional 76719 76314 -0.5% 1.01x (?)
ReversedDictionary 28539 29508 +3.4% 0.97x
SetExclusiveOr 21428 21209 -1.0% 1.01x
SetExclusiveOr_OfObjects 49424 49917 +1.0% 0.99x
SetIntersect 10695 10852 +1.5% 0.99x (?)
SetIntersect_OfObjects 12859 13070 +1.6% 0.98x
SetIsSubsetOf 1660 1656 -0.2% 1.00x
SetIsSubsetOf_OfObjects 1609 1610 +0.1% 1.00x
SetUnion 12005 12046 +0.3% 1.00x
SetUnion_OfObjects 34203 34299 +0.3% 1.00x (?)
SevenBoom 1604 1610 +0.4% 1.00x (?)
Sim2DArray 30038 30034 -0.0% 1.00x
SortLargeExistentials 17723 17868 +0.8% 0.99x
SortLettersInPlace 3200 3214 +0.4% 1.00x (?)
SortSortedStrings 1402 1408 +0.4% 1.00x (?)
SortStrings 2439 2437 -0.1% 1.00x (?)
SortStringsUnicode 8812 8909 +1.1% 0.99x
StackPromo 99881 99778 -0.1% 1.00x (?)
StaticArray 4570 4660 +2.0% 0.98x
StrComplexWalk 6876 6857 -0.3% 1.00x (?)
StrToInt 101742 101531 -0.2% 1.00x (?)
StringAdder 51 50 -2.0% 1.02x
StringBuilder 6914 6972 +0.8% 0.99x
StringBuilderLong 1102 1095 -0.6% 1.01x (?)
StringEdits 384686 384376 -0.1% 1.00x (?)
StringEqualPointerComparison 9858 9611 -2.5% 1.03x
StringFromLongWholeSubstring 11093 11127 +0.3% 1.00x (?)
StringFromLongWholeSubstringGeneric 210 213 +1.4% 0.99x
StringHasPrefix 1751 1706 -2.6% 1.03x
StringHasPrefixUnicode 16186 16486 +1.9% 0.98x
StringHasSuffix 1849 1818 -1.7% 1.02x
StringHasSuffixUnicode 64216 63869 -0.5% 1.01x
StringInterpolation 13651 13700 +0.4% 1.00x (?)
StringMatch 29288 29350 +0.2% 1.00x (?)
StringUTF16Builder 7783 7863 +1.0% 0.99x
StringWalk 12992 12744 -1.9% 1.02x
StringWithCString 68663 68722 +0.1% 1.00x (?)
SubstringFromLongString 116 116 +0.0% 1.00x
SubstringFromLongStringGeneric 207 206 -0.5% 1.00x
SuffixAnyCollection 6513 6519 +0.1% 1.00x
SuffixAnyCollectionLazy 45764 46168 +0.9% 0.99x (?)
SuffixAnySeqCRangeIter 41582 41535 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 41950 41285 -1.6% 1.02x
SuffixAnySeqCntRange 6437 6470 +0.5% 0.99x (?)
SuffixAnySeqCntRangeLazy 6435 6417 -0.3% 1.00x (?)
SuffixAnySequence 27023 26949 -0.3% 1.00x (?)
SuffixAnySequenceLazy 26851 26831 -0.1% 1.00x (?)
SuffixArray 2112 2113 +0.0% 1.00x
SuffixArrayLazy 15196 15215 +0.1% 1.00x (?)
SuffixCountableRange 117 118 +0.9% 0.99x
SuffixCountableRangeLazy 12909 13029 +0.9% 0.99x
SuffixSequence 26413 26631 +0.8% 0.99x
SuffixSequenceLazy 26727 26451 -1.0% 1.01x
SuperChars 209498 209151 -0.2% 1.00x (?)
TwoSum 4249 4281 +0.8% 0.99x
UTF8Decode 36929 36909 -0.1% 1.00x (?)
Walsh 11866 11894 +0.2% 1.00x
XorLoop 23718 23706 -0.1% 1.00x
Added (3)
TEST MIN MAX MEAN MAX_RSS
SubstringComparable 19298 19437 19358 4000427
SubstringEqualString 9878 11152 10358 3906219
SubstringEquatable 38469 39394 38985 3933525
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

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