Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Reduce code size of the stdlib #10096

Merged
merged 1 commit into from Jun 5, 2017
Merged

Conversation

swiftix
Copy link
Contributor

@swiftix swiftix commented Jun 3, 2017

This should reduce the code size of the stdlib by 1.5%.

This should reduce the code size of the stdlib by 1.5%.
@swiftix
Copy link
Contributor Author

swiftix commented Jun 3, 2017

@swift-ci please smoke benchmark

@swiftix
Copy link
Contributor Author

swiftix commented Jun 3, 2017

@swift-ci please smoke test

@swift-ci
Copy link
Collaborator

swift-ci commented Jun 3, 2017

Build comment file:

Optimized (O)

Regression (20)
TEST OLD NEW DELTA SPEEDUP
ProtocolDispatch 2424 3030 +25.0% 0.80x
PrefixWhileAnySequenceLazy 1492 1846 +23.7% 0.81x
DropWhileAnySequenceLazy 2032 2503 +23.2% 0.81x
Calculator 31 37 +19.4% 0.84x
SuffixAnySequenceLazy 6801 8062 +18.5% 0.84x
SuffixArray 8 9 +12.5% 0.89x
StringMatch 6576 7307 +11.1% 0.90x
Hanoi 3290 3645 +10.8% 0.90x
ObjectiveCBridgeStubNSDateRefAccess 316 348 +10.1% 0.91x
SortSortedStrings 822 902 +9.7% 0.91x
DropWhileSequence 1548 1697 +9.6% 0.91x
DropFirstSequence 2093 2292 +9.5% 0.91x
Phonebook 5970 6464 +8.3% 0.92x
BitCount 13 14 +7.7% 0.93x
PrefixAnySequence 5188 5585 +7.7% 0.93x
PrefixAnySequenceLazy 5193 5588 +7.6% 0.93x
StrToInt 2003 2150 +7.3% 0.93x
IterateData 706 756 +7.1% 0.93x (?)
DropWhileAnySequence 6709 7169 +6.9% 0.94x
SortStrings 1635 1726 +5.6% 0.95x
Improvement (5)
TEST OLD NEW DELTA SPEEDUP
StringHasPrefix 33 16 -51.5% 2.06x
StringHasSuffix 33 16 -51.5% 2.06x
Chars 944 821 -13.0% 1.15x
SuffixCountableRangeLazy 11 10 -9.1% 1.10x
NopDeinit 28939 27428 -5.2% 1.06x
No Changes (256)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3117 3109 -0.3% 1.00x (?)
AnyHashableWithAClass 69210 70664 +2.1% 0.98x
Array2D 2032 2045 +0.6% 0.99x
ArrayAppend 774 773 -0.1% 1.00x
ArrayAppendArrayOfInt 597 597 +0.0% 1.00x
ArrayAppendAscii 22640 22710 +0.3% 1.00x (?)
ArrayAppendFromGeneric 597 597 +0.0% 1.00x
ArrayAppendGenericStructs 1220 1236 +1.3% 0.99x (?)
ArrayAppendLatin1 43461 43282 -0.4% 1.00x
ArrayAppendLazyMap 937 937 +0.0% 1.00x
ArrayAppendOptionals 1231 1220 -0.9% 1.01x
ArrayAppendRepeatCol 838 838 +0.0% 1.00x
ArrayAppendReserved 533 533 +0.0% 1.00x
ArrayAppendSequence 949 947 -0.2% 1.00x (?)
ArrayAppendStrings 13669 13650 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 597 597 +0.0% 1.00x
ArrayAppendToGeneric 597 597 +0.0% 1.00x
ArrayAppendUTF16 40948 41045 +0.2% 1.00x (?)
ArrayInClass 61 61 +0.0% 1.00x
ArrayLiteral 1228 1228 +0.0% 1.00x
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 3994 4013 +0.5% 1.00x (?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayOfRef 3898 3892 -0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 598 597 -0.2% 1.00x
ArrayPlusEqualFiveElementCollection 4702 4730 +0.6% 0.99x (?)
ArrayPlusEqualSingleElementCollection 774 776 +0.3% 1.00x
ArrayPlusEqualThreeElements 1633 1619 -0.9% 1.01x (?)
ArraySubscript 1495 1505 +0.7% 0.99x
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 5043 4977 -1.3% 1.01x
CStringLongNonAscii 2152 2165 +0.6% 0.99x
CStringShortAscii 5629 5615 -0.2% 1.00x (?)
CaptureProp 4562 4477 -1.9% 1.02x
CharacterLiteralsLarge 6220 6335 +1.8% 0.98x
CharacterLiteralsSmall 404 403 -0.2% 1.00x
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 182 186 +2.2% 0.98x (?)
Dictionary 543 551 +1.5% 0.99x
Dictionary2 1817 1816 -0.1% 1.00x (?)
Dictionary2OfObjects 3344 3350 +0.2% 1.00x
Dictionary3 439 444 +1.1% 0.99x (?)
Dictionary3OfObjects 890 888 -0.2% 1.00x (?)
DictionaryBridge 3035 3006 -1.0% 1.01x
DictionaryLiteral 1486 1485 -0.1% 1.00x (?)
DictionaryOfObjects 2318 2318 +0.0% 1.00x
DictionaryRemove 2388 2504 +4.9% 0.95x
DictionaryRemoveOfObjects 23313 23395 +0.4% 1.00x
DictionarySwap 430 433 +0.7% 0.99x
DictionarySwapOfObjects 7025 6970 -0.8% 1.01x (?)
DropFirstAnyCollection 56 56 +0.0% 1.00x
DropFirstAnyCollectionLazy 45010 44945 -0.1% 1.00x
DropFirstAnySeqCRangeIter 27085 26686 -1.5% 1.01x
DropFirstAnySeqCRangeIterLazy 27086 26691 -1.5% 1.01x
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 6033 6210 +2.9% 0.97x (?)
DropFirstAnySequenceLazy 6025 6214 +3.1% 0.97x
DropFirstArray 24 25 +4.2% 0.96x
DropFirstArrayLazy 24 25 +4.2% 0.96x
DropFirstCountableRange 32 32 +0.0% 1.00x
DropFirstCountableRangeLazy 32 32 +0.0% 1.00x
DropFirstSequenceLazy 2118 2118 +0.0% 1.00x
DropLastAnyCollection 22 22 +0.0% 1.00x
DropLastAnyCollectionLazy 14999 14998 -0.0% 1.00x (?)
DropLastAnySeqCRangeIter 4599 4593 -0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4589 4590 +0.0% 1.00x (?)
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6629 6839 +3.2% 0.97x (?)
DropLastAnySequenceLazy 6778 7015 +3.5% 0.97x
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 589 566 -3.9% 1.04x
DropLastSequenceLazy 586 565 -3.6% 1.04x
DropWhileAnyCollection 70 69 -1.4% 1.01x
DropWhileAnyCollectionLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCRangeIter 21940 21473 -2.1% 1.02x
DropWhileAnySeqCRangeIterLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCntRange 64 64 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 103 103 +0.0% 1.00x
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 522 523 +0.2% 1.00x
EqualSubstringString 521 522 +0.2% 1.00x (?)
EqualSubstringSubstring 520 522 +0.4% 1.00x
EqualSubstringSubstringGenericEquatable 522 524 +0.4% 1.00x (?)
ErrorHandling 3043 3034 -0.3% 1.00x (?)
GlobalClass 0 0 +0.0% 1.00x
HashTest 1739 1741 +0.1% 1.00x (?)
Histogram 298 300 +0.7% 0.99x
Integrate 262 262 +0.0% 1.00x
Join 423 424 +0.2% 1.00x
LazilyFilteredArrays 64851 64703 -0.2% 1.00x (?)
LazilyFilteredRange 3902 3890 -0.3% 1.00x
LessSubstringSubstring 520 522 +0.4% 1.00x
LessSubstringSubstringGenericComparable 520 521 +0.2% 1.00x
LinkedList 7043 7044 +0.0% 1.00x (?)
MapReduce 302 305 +1.0% 0.99x
MapReduceAnyCollection 289 302 +4.5% 0.96x (?)
MapReduceAnyCollectionShort 2003 2003 +0.0% 1.00x
MapReduceClass 3056 3052 -0.1% 1.00x (?)
MapReduceClassShort 4518 4497 -0.5% 1.00x (?)
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 45 44 -2.2% 1.02x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 464 464 +0.0% 1.00x
MapReduceShort 1920 1908 -0.6% 1.01x
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 113 113 +0.0% 1.00x
Memset 234 235 +0.4% 1.00x (?)
MonteCarloE 10318 10337 +0.2% 1.00x
MonteCarloPi 44001 44043 +0.1% 1.00x
NSDictionaryCastToSwift 5556 5547 -0.2% 1.00x (?)
NSError 289 291 +0.7% 0.99x
NSStringConversion 732 745 +1.8% 0.98x
ObjectAllocation 179 179 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 23477 24186 +3.0% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4493 4461 -0.7% 1.01x
ObjectiveCBridgeFromNSArrayAnyObjectToString 43964 44138 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37867 37905 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 119268 119329 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5245 5228 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 99858 95377 -4.5% 1.05x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 93603 92480 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 64580 64974 +0.6% 0.99x
ObjectiveCBridgeFromNSSetAnyObjectForced 4212 4207 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 73227 72644 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62463 62629 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSString 1416 1427 +0.8% 0.99x
ObjectiveCBridgeFromNSStringForced 2365 2378 +0.5% 0.99x
ObjectiveCBridgeStubDataAppend 3700 3709 +0.2% 1.00x (?)
ObjectiveCBridgeStubDateAccess 182 181 -0.5% 1.01x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29378 29687 +1.1% 0.99x
ObjectiveCBridgeStubFromNSDate 3759 3719 -1.1% 1.01x (?)
ObjectiveCBridgeStubFromNSDateRef 3581 3581 +0.0% 1.00x
ObjectiveCBridgeStubFromNSString 925 915 -1.1% 1.01x
ObjectiveCBridgeStubFromNSStringRef 181 174 -3.9% 1.04x
ObjectiveCBridgeStubNSDataAppend 2269 2318 +2.2% 0.98x (?)
ObjectiveCBridgeStubNSDateMutationRef 12767 12758 -0.1% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 28521 28195 -1.1% 1.01x (?)
ObjectiveCBridgeStubToNSDate 14952 14969 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3443 3403 -1.2% 1.01x
ObjectiveCBridgeStubToNSString 1517 1520 +0.2% 1.00x
ObjectiveCBridgeStubToNSStringRef 110 108 -1.8% 1.02x
ObjectiveCBridgeStubURLAppendPath 225420 220329 -2.3% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 223884 227824 +1.8% 0.98x
ObjectiveCBridgeToNSArray 29219 29284 +0.2% 1.00x (?)
ObjectiveCBridgeToNSDictionary 49008 49749 +1.5% 0.99x
ObjectiveCBridgeToNSSet 42078 41938 -0.3% 1.00x (?)
ObjectiveCBridgeToNSString 1269 1269 +0.0% 1.00x
ObserverClosure 2342 2364 +0.9% 0.99x (?)
ObserverForwarderStruct 1127 1123 -0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3850 3833 -0.4% 1.00x
ObserverUnappliedMethod 2658 2635 -0.9% 1.01x
OpenClose 51 51 +0.0% 1.00x
PolymorphicCalls 21 22 +4.8% 0.95x
PopFrontArray 1063 1071 +0.8% 0.99x (?)
PopFrontArrayGeneric 1062 1071 +0.8% 0.99x
PopFrontUnsafePointer 8849 8847 -0.0% 1.00x
PrefixAnyCollection 56 56 +0.0% 1.00x
PrefixAnyCollectionLazy 45121 45120 -0.0% 1.00x (?)
PrefixAnySeqCRangeIter 21187 20721 -2.2% 1.02x
PrefixAnySeqCRangeIterLazy 21173 20706 -2.2% 1.02x
PrefixAnySeqCntRange 50 50 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 50 50 +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 1577 +0.4% 1.00x
PrefixSequenceLazy 1515 1516 +0.1% 1.00x
PrefixWhileAnyCollection 96 96 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12446 12452 +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 14141 14110 -0.2% 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 300 302 +0.7% 0.99x
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 778 788 +1.3% 0.99x
ProtocolDispatch2 163 169 +3.7% 0.96x
RC4 159 159 +0.0% 1.00x
RGBHistogram 2356 2361 +0.2% 1.00x (?)
RGBHistogramOfObjects 24412 24390 -0.1% 1.00x (?)
RangeAssignment 296 295 -0.3% 1.00x (?)
RecursiveOwnedParameter 2324 2332 +0.3% 1.00x
ReversedArray 49 49 +0.0% 1.00x
ReversedBidirectional 28974 28907 -0.2% 1.00x
ReversedDictionary 114 116 +1.8% 0.98x
SetExclusiveOr 3056 3074 +0.6% 0.99x (?)
SetExclusiveOr_OfObjects 9547 9555 +0.1% 1.00x (?)
SetIntersect 282 271 -3.9% 1.04x
SetIntersect_OfObjects 1720 1720 +0.0% 1.00x
SetIsSubsetOf 286 286 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 359 +0.0% 1.00x
SetUnion 2778 2806 +1.0% 0.99x (?)
SetUnion_OfObjects 8048 8155 +1.3% 0.99x
SevenBoom 1482 1478 -0.3% 1.00x (?)
Sim2DArray 276 276 +0.0% 1.00x
SortLargeExistentials 7818 7856 +0.5% 1.00x (?)
SortLettersInPlace 1146 1147 +0.1% 1.00x (?)
SortStringsUnicode 21996 22171 +0.8% 0.99x
StackPromo 22204 22199 -0.0% 1.00x (?)
StaticArray 18 18 +0.0% 1.00x
StrComplexWalk 720 720 +0.0% 1.00x
StringAdder 0 0 +0.0% 1.00x
StringBuilder 1273 1273 +0.0% 1.00x
StringBuilderLong 963 964 +0.1% 1.00x (?)
StringEdits 107949 108287 +0.3% 1.00x (?)
StringEqualPointerComparison 333 333 +0.0% 1.00x
StringFromLongWholeSubstring 10225 10268 +0.4% 1.00x (?)
StringFromLongWholeSubstringGeneric 22 22 +0.0% 1.00x
StringHasPrefixUnicode 41618 41449 -0.4% 1.00x
StringHasSuffixUnicode 89854 89654 -0.2% 1.00x (?)
StringInterpolation 11152 11175 +0.2% 1.00x (?)
StringUTF16Builder 2133 2125 -0.4% 1.00x (?)
StringWalk 1264 1308 +3.5% 0.97x
StringWithCString 120384 120170 -0.2% 1.00x (?)
SubstringComparable 3705 3709 +0.1% 1.00x (?)
SubstringEqualString 3410 3412 +0.1% 1.00x (?)
SubstringEquatable 7386 7377 -0.1% 1.00x (?)
SubstringFromLongString 99 99 +0.0% 1.00x
SubstringFromLongStringGeneric 169 170 +0.6% 0.99x
SuffixAnyCollection 22 22 +0.0% 1.00x
SuffixAnyCollectionLazy 14958 14933 -0.2% 1.00x
SuffixAnySeqCRangeIter 4921 4905 -0.3% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4913 4907 -0.1% 1.00x (?)
SuffixAnySeqCntRange 16 16 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 16 16 +0.0% 1.00x
SuffixAnySequence 6929 7004 +1.1% 0.99x
SuffixArrayLazy 8 8 +0.0% 1.00x
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixSequence 4404 4466 +1.4% 0.99x
SuffixSequenceLazy 4407 4464 +1.3% 0.99x
SuperChars 158455 158461 +0.0% 1.00x (?)
TwoSum 964 975 +1.1% 0.99x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 255 257 +0.8% 0.99x
Walsh 352 356 +1.1% 0.99x
XorLoop 347 347 +0.0% 1.00x

Unoptimized (Onone)

Improvement (4)
TEST OLD NEW DELTA SPEEDUP
Calculator 1183 1079 -8.8% 1.10x
OpenClose 440 414 -5.9% 1.06x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7967 7570 -5.0% 1.05x (?)
Prims 10761 10242 -4.8% 1.05x
No Changes (277)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4920 4901 -0.4% 1.00x
AnyHashableWithAClass 84481 85375 +1.1% 0.99x
Array2D 607975 607712 -0.0% 1.00x (?)
ArrayAppend 3481 3582 +2.9% 0.97x
ArrayAppendArrayOfInt 649 650 +0.2% 1.00x (?)
ArrayAppendAscii 60327 60322 -0.0% 1.00x (?)
ArrayAppendFromGeneric 653 652 -0.2% 1.00x
ArrayAppendGenericStructs 1283 1309 +2.0% 0.98x
ArrayAppendLatin1 82047 82739 +0.8% 0.99x
ArrayAppendLazyMap 211663 213758 +1.0% 0.99x (?)
ArrayAppendOptionals 1297 1330 +2.5% 0.98x (?)
ArrayAppendRepeatCol 215965 218118 +1.0% 0.99x
ArrayAppendReserved 3333 3259 -2.2% 1.02x
ArrayAppendSequence 77711 80009 +3.0% 0.97x
ArrayAppendStrings 13712 13741 +0.2% 1.00x (?)
ArrayAppendToFromGeneric 651 651 +0.0% 1.00x
ArrayAppendToGeneric 653 653 +0.0% 1.00x
ArrayAppendUTF16 81550 81155 -0.5% 1.00x
ArrayInClass 6881 6880 -0.0% 1.00x (?)
ArrayLiteral 1741 1743 +0.1% 1.00x (?)
ArrayOfGenericPOD 2987 2990 +0.1% 1.00x
ArrayOfGenericRef 10219 10197 -0.2% 1.00x
ArrayOfPOD 1832 1892 +3.3% 0.97x
ArrayOfRef 9886 9545 -3.4% 1.04x
ArrayPlusEqualArrayOfInt 652 650 -0.3% 1.00x
ArrayPlusEqualFiveElementCollection 292137 300275 +2.8% 0.97x (?)
ArrayPlusEqualSingleElementCollection 298913 296551 -0.8% 1.01x (?)
ArrayPlusEqualThreeElements 10226 10251 +0.2% 1.00x (?)
ArraySubscript 4176 4156 -0.5% 1.00x (?)
ArrayValueProp 3546 3557 +0.3% 1.00x (?)
ArrayValueProp2 18366 18373 +0.0% 1.00x (?)
ArrayValueProp3 3909 3923 +0.4% 1.00x (?)
ArrayValueProp4 3831 3829 -0.1% 1.00x (?)
BitCount 166 174 +4.8% 0.95x
ByteSwap 27 28 +3.7% 0.96x
CStringLongAscii 5195 5249 +1.0% 0.99x (?)
CStringLongNonAscii 2384 2395 +0.5% 1.00x (?)
CStringShortAscii 9474 9488 +0.1% 1.00x (?)
CaptureProp 119415 117765 -1.4% 1.01x
CharacterLiteralsLarge 6358 6371 +0.2% 1.00x (?)
CharacterLiteralsSmall 654 640 -2.1% 1.02x
Chars 51224 49382 -3.6% 1.04x
ClassArrayGetter 1013 1013 +0.0% 1.00x
DeadArray 121320 122352 +0.9% 0.99x (?)
Dictionary 3013 3023 +0.3% 1.00x (?)
Dictionary2 3488 3490 +0.1% 1.00x (?)
Dictionary2OfObjects 6246 6250 +0.1% 1.00x (?)
Dictionary3 1318 1315 -0.2% 1.00x (?)
Dictionary3OfObjects 2391 2407 +0.7% 0.99x (?)
DictionaryBridge 3130 3115 -0.5% 1.00x (?)
DictionaryLiteral 8327 8368 +0.5% 1.00x (?)
DictionaryOfObjects 6670 6615 -0.8% 1.01x (?)
DictionaryRemove 21364 21381 +0.1% 1.00x (?)
DictionaryRemoveOfObjects 60636 60981 +0.6% 0.99x (?)
DictionarySwap 5546 5507 -0.7% 1.01x
DictionarySwapOfObjects 23823 23872 +0.2% 1.00x (?)
DropFirstAnyCollection 19452 19061 -2.0% 1.02x
DropFirstAnyCollectionLazy 135906 139629 +2.7% 0.97x
DropFirstAnySeqCRangeIter 29447 28980 -1.6% 1.02x
DropFirstAnySeqCRangeIterLazy 29437 28980 -1.6% 1.02x
DropFirstAnySeqCntRange 19560 19307 -1.3% 1.01x (?)
DropFirstAnySeqCntRangeLazy 19595 19140 -2.3% 1.02x
DropFirstAnySequence 12958 12946 -0.1% 1.00x (?)
DropFirstAnySequenceLazy 12992 12910 -0.6% 1.01x
DropFirstArray 6310 6191 -1.9% 1.02x
DropFirstArrayLazy 44903 44958 +0.1% 1.00x (?)
DropFirstCountableRange 337 339 +0.6% 0.99x
DropFirstCountableRangeLazy 38788 38751 -0.1% 1.00x (?)
DropFirstSequence 12430 12441 +0.1% 1.00x
DropFirstSequenceLazy 11897 11914 +0.1% 1.00x
DropLastAnyCollection 6495 6369 -1.9% 1.02x
DropLastAnyCollectionLazy 45593 46238 +1.4% 0.99x
DropLastAnySeqCRangeIter 44261 44728 +1.1% 0.99x (?)
DropLastAnySeqCRangeIterLazy 44257 45816 +3.5% 0.97x
DropLastAnySeqCntRange 6522 6420 -1.6% 1.02x
DropLastAnySeqCntRangeLazy 6535 6392 -2.2% 1.02x
DropLastAnySequence 29237 29248 +0.0% 1.00x (?)
DropLastAnySequenceLazy 29022 29002 -0.1% 1.00x (?)
DropLastArray 2109 2073 -1.7% 1.02x
DropLastArrayLazy 15004 15004 +0.0% 1.00x
DropLastCountableRange 117 118 +0.9% 0.99x
DropLastCountableRangeLazy 12882 12885 +0.0% 1.00x (?)
DropLastSequence 28659 28650 -0.0% 1.00x (?)
DropLastSequenceLazy 28635 28640 +0.0% 1.00x (?)
DropWhileAnyCollection 25371 24867 -2.0% 1.02x
DropWhileAnyCollectionLazy 27501 27596 +0.3% 1.00x (?)
DropWhileAnySeqCRangeIter 31459 31325 -0.4% 1.00x
DropWhileAnySeqCRangeIterLazy 27719 27519 -0.7% 1.01x
DropWhileAnySeqCntRange 25402 24930 -1.9% 1.02x
DropWhileAnySeqCntRangeLazy 27538 27740 +0.7% 0.99x
DropWhileAnySequence 15361 15337 -0.2% 1.00x
DropWhileAnySequenceLazy 12457 12483 +0.2% 1.00x
DropWhileArray 9820 9792 -0.3% 1.00x
DropWhileArrayLazy 16801 16828 +0.2% 1.00x
DropWhileCountableRange 6134 6064 -1.1% 1.01x
DropWhileCountableRangeLazy 26558 26095 -1.7% 1.02x
DropWhileSequence 14231 14198 -0.2% 1.00x (?)
DropWhileSequenceLazy 11246 11317 +0.6% 0.99x
EqualStringSubstring 847 829 -2.1% 1.02x
EqualSubstringString 829 836 +0.8% 0.99x (?)
EqualSubstringSubstring 924 924 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 580 587 +1.2% 0.99x (?)
ErrorHandling 6881 6886 +0.1% 1.00x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 19512 19123 -2.0% 1.02x
HashTest 18410 18400 -0.1% 1.00x (?)
Histogram 8587 8688 +1.2% 0.99x (?)
Integrate 737 736 -0.1% 1.00x (?)
IterateData 12826 12833 +0.1% 1.00x
Join 1249 1248 -0.1% 1.00x (?)
LazilyFilteredArrays 1692297 1693115 +0.0% 1.00x (?)
LazilyFilteredRange 689842 681029 -1.3% 1.01x
LessSubstringSubstring 931 923 -0.9% 1.01x
LessSubstringSubstringGenericComparable 579 584 +0.9% 0.99x (?)
LinkedList 43840 43881 +0.1% 1.00x
MapReduce 37462 37636 +0.5% 1.00x
MapReduceAnyCollection 37478 37585 +0.3% 1.00x
MapReduceAnyCollectionShort 49814 49892 +0.2% 1.00x (?)
MapReduceClass 42954 42919 -0.1% 1.00x (?)
MapReduceClassShort 53789 54183 +0.7% 0.99x (?)
MapReduceLazyCollection 32773 32750 -0.1% 1.00x (?)
MapReduceLazyCollectionShort 43678 44530 +2.0% 0.98x
MapReduceLazySequence 25477 25575 +0.4% 1.00x (?)
MapReduceSequence 41220 41195 -0.1% 1.00x
MapReduceShort 49710 49561 -0.3% 1.00x (?)
MapReduceShortString 272 275 +1.1% 0.99x (?)
MapReduceString 2548 2570 +0.9% 0.99x
Memset 43922 43932 +0.0% 1.00x (?)
MonteCarloE 132872 132698 -0.1% 1.00x
MonteCarloPi 52635 52559 -0.1% 1.00x
NSDictionaryCastToSwift 6735 6669 -1.0% 1.01x (?)
NSError 708 708 +0.0% 1.00x
NSStringConversion 1276 1292 +1.3% 0.99x
NopDeinit 190560 185205 -2.8% 1.03x
ObjectAllocation 1467 1458 -0.6% 1.01x
ObjectiveCBridgeFromNSArrayAnyObject 25660 25702 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7823 7810 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45784 44706 -2.4% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38361 38615 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 123096 123456 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 101511 103733 +2.2% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 93942 96880 +3.1% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObject 68204 67498 -1.0% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7177 7183 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 76366 76994 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 65919 65679 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSString 4014 4018 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2707 2730 +0.8% 0.99x
ObjectiveCBridgeStubDataAppend 3774 3967 +5.1% 0.95x (?)
ObjectiveCBridgeStubDateAccess 1031 1026 -0.5% 1.00x
ObjectiveCBridgeStubDateMutation 485 488 +0.6% 0.99x
ObjectiveCBridgeStubFromArrayOfNSString 29768 29216 -1.9% 1.02x
ObjectiveCBridgeStubFromNSDate 4038 4079 +1.0% 0.99x
ObjectiveCBridgeStubFromNSDateRef 4048 3976 -1.8% 1.02x
ObjectiveCBridgeStubFromNSString 970 944 -2.7% 1.03x
ObjectiveCBridgeStubFromNSStringRef 202 201 -0.5% 1.00x (?)
ObjectiveCBridgeStubNSDataAppend 2677 2657 -0.7% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 15922 15609 -2.0% 1.02x (?)
ObjectiveCBridgeStubNSDateRefAccess 1203 1211 +0.7% 0.99x
ObjectiveCBridgeStubToArrayOfNSString 28523 28935 +1.4% 0.99x
ObjectiveCBridgeStubToNSDate 15819 15360 -2.9% 1.03x (?)
ObjectiveCBridgeStubToNSDateRef 3390 3397 +0.2% 1.00x
ObjectiveCBridgeStubToNSString 1564 1566 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 149 149 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 228494 225014 -1.5% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 225935 232089 +2.7% 0.97x (?)
ObjectiveCBridgeToNSArray 29476 29273 -0.7% 1.01x
ObjectiveCBridgeToNSDictionary 49141 49774 +1.3% 0.99x (?)
ObjectiveCBridgeToNSSet 42755 42553 -0.5% 1.00x (?)
ObjectiveCBridgeToNSString 1303 1302 -0.1% 1.00x (?)
ObserverClosure 6778 6776 -0.0% 1.00x (?)
ObserverForwarderStruct 4817 4813 -0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 8256 8255 -0.0% 1.00x (?)
ObserverUnappliedMethod 8576 8611 +0.4% 1.00x
Phonebook 21821 21680 -0.6% 1.01x (?)
PolymorphicCalls 5505 5397 -2.0% 1.02x
PopFrontArray 7507 7536 +0.4% 1.00x
PopFrontArrayGeneric 6530 6589 +0.9% 0.99x
PopFrontUnsafePointer 97098 98744 +1.7% 0.98x
PrefixAnyCollection 19435 19056 -2.0% 1.02x
PrefixAnyCollectionLazy 136876 138262 +1.0% 0.99x
PrefixAnySeqCRangeIter 23543 23316 -1.0% 1.01x
PrefixAnySeqCRangeIterLazy 23425 23119 -1.3% 1.01x
PrefixAnySeqCntRange 19465 19199 -1.4% 1.01x
PrefixAnySeqCntRangeLazy 19596 19136 -2.3% 1.02x
PrefixAnySequence 10913 10977 +0.6% 0.99x (?)
PrefixAnySequenceLazy 10835 10854 +0.2% 1.00x
PrefixArray 6228 6254 +0.4% 1.00x
PrefixArrayLazy 44919 45022 +0.2% 1.00x (?)
PrefixCountableRange 339 337 -0.6% 1.01x
PrefixCountableRangeLazy 38832 38750 -0.2% 1.00x (?)
PrefixSequence 9762 9754 -0.1% 1.00x
PrefixSequenceLazy 9766 9739 -0.3% 1.00x
PrefixWhileAnyCollection 37091 36113 -2.6% 1.03x
PrefixWhileAnyCollectionLazy 22758 22502 -1.1% 1.01x
PrefixWhileAnySeqCRangeIter 41140 41322 +0.4% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 22791 22938 +0.6% 0.99x
PrefixWhileAnySeqCntRange 37296 36420 -2.3% 1.02x
PrefixWhileAnySeqCntRangeLazy 22690 22595 -0.4% 1.00x
PrefixWhileAnySequence 29634 29533 -0.3% 1.00x
PrefixWhileAnySequenceLazy 11400 11185 -1.9% 1.02x
PrefixWhileArray 16855 16793 -0.4% 1.00x
PrefixWhileArrayLazy 14619 14687 +0.5% 1.00x
PrefixWhileCountableRange 17661 17368 -1.7% 1.02x
PrefixWhileCountableRangeLazy 22054 21641 -1.9% 1.02x
PrefixWhileSequence 28283 28341 +0.2% 1.00x (?)
PrefixWhileSequenceLazy 10543 10526 -0.2% 1.00x
ProtocolDispatch 6962 6948 -0.2% 1.00x (?)
ProtocolDispatch2 489 490 +0.2% 1.00x
RC4 19448 19479 +0.2% 1.00x (?)
RGBHistogram 33857 33687 -0.5% 1.01x (?)
RGBHistogramOfObjects 113160 113175 +0.0% 1.00x (?)
RangeAssignment 5560 5706 +2.6% 0.97x
RecursiveOwnedParameter 11683 11725 +0.4% 1.00x
ReversedArray 44077 43928 -0.3% 1.00x (?)
ReversedBidirectional 76216 76164 -0.1% 1.00x (?)
ReversedDictionary 28804 28639 -0.6% 1.01x
SetExclusiveOr 21131 21200 +0.3% 1.00x
SetExclusiveOr_OfObjects 49237 49001 -0.5% 1.00x
SetIntersect 10885 10897 +0.1% 1.00x
SetIntersect_OfObjects 12693 12750 +0.4% 1.00x
SetIsSubsetOf 1678 1674 -0.2% 1.00x (?)
SetIsSubsetOf_OfObjects 1626 1645 +1.2% 0.99x
SetUnion 11929 12078 +1.2% 0.99x
SetUnion_OfObjects 34251 34273 +0.1% 1.00x (?)
SevenBoom 1611 1601 -0.6% 1.01x (?)
Sim2DArray 30023 30017 -0.0% 1.00x
SortLargeExistentials 17886 17868 -0.1% 1.00x (?)
SortLettersInPlace 3233 3242 +0.3% 1.00x
SortSortedStrings 1430 1429 -0.1% 1.00x (?)
SortStrings 2462 2504 +1.7% 0.98x
SortStringsUnicode 23634 23410 -0.9% 1.01x (?)
StackPromo 100086 101243 +1.2% 0.99x (?)
StaticArray 4563 4538 -0.5% 1.01x
StrComplexWalk 6957 6975 +0.3% 1.00x (?)
StrToInt 97219 96339 -0.9% 1.01x
StringAdder 46 48 +4.3% 0.96x
StringBuilder 7238 7202 -0.5% 1.00x (?)
StringBuilderLong 1123 1135 +1.1% 0.99x (?)
StringEdits 380871 376019 -1.3% 1.01x (?)
StringEqualPointerComparison 2460 2414 -1.9% 1.02x
StringFromLongWholeSubstring 10201 10205 +0.0% 1.00x (?)
StringFromLongWholeSubstringGeneric 199 207 +4.0% 0.96x (?)
StringHasPrefix 1713 1760 +2.7% 0.97x
StringHasPrefixUnicode 43652 42934 -1.6% 1.02x (?)
StringHasSuffix 1778 1850 +4.0% 0.96x
StringHasSuffixUnicode 92101 91496 -0.7% 1.01x (?)
StringInterpolation 14267 13948 -2.2% 1.02x (?)
StringMatch 29900 29903 +0.0% 1.00x (?)
StringUTF16Builder 8093 8038 -0.7% 1.01x (?)
StringWalk 13237 13023 -1.6% 1.02x (?)
StringWithCString 120393 120173 -0.2% 1.00x
SubstringComparable 6253 6283 +0.5% 1.00x (?)
SubstringEqualString 9377 8945 -4.6% 1.05x
SubstringEquatable 12697 12806 +0.9% 0.99x
SubstringFromLongString 115 116 +0.9% 0.99x
SubstringFromLongStringGeneric 213 216 +1.4% 0.99x
SuffixAnyCollection 6498 6369 -2.0% 1.02x
SuffixAnyCollectionLazy 45291 47038 +3.9% 0.96x
SuffixAnySeqCRangeIter 42211 42167 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 41920 42452 +1.3% 0.99x
SuffixAnySeqCntRange 6502 6382 -1.8% 1.02x (?)
SuffixAnySeqCntRangeLazy 6549 6395 -2.4% 1.02x
SuffixAnySequence 27109 26833 -1.0% 1.01x
SuffixAnySequenceLazy 26898 26806 -0.3% 1.00x
SuffixArray 2083 2085 +0.1% 1.00x
SuffixArrayLazy 14965 15001 +0.2% 1.00x
SuffixCountableRange 117 117 +0.0% 1.00x
SuffixCountableRangeLazy 12883 12916 +0.3% 1.00x (?)
SuffixSequence 26514 26496 -0.1% 1.00x (?)
SuffixSequenceLazy 26447 26426 -0.1% 1.00x (?)
SuperChars 295202 298261 +1.0% 0.99x
TwoSum 4294 4357 +1.5% 0.99x
TypeFlood 169 175 +3.6% 0.97x (?)
UTF8Decode 37533 36975 -1.5% 1.02x
Walsh 11912 11942 +0.3% 1.00x (?)
XorLoop 23709 23707 -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

@swiftix
Copy link
Contributor Author

swiftix commented Jun 4, 2017

@swift-ci please benchmark

@swift-ci
Copy link
Collaborator

swift-ci commented Jun 4, 2017

Build comment file:

Optimized (O)

Regression (4)
TEST OLD NEW DELTA SPEEDUP
StringHasPrefix 16 33 +106.2% 0.48x
StringHasSuffix 16 33 +106.2% 0.48x
ObjectiveCBridgeStubNSDateRefAccess 317 374 +18.0% 0.85x
OpenClose 48 51 +6.2% 0.94x
Improvement (8)
TEST OLD NEW DELTA SPEEDUP
BitCount 14 12 -14.3% 1.17x (?)
Chars 942 822 -12.7% 1.15x
SuffixCountableRangeLazy 11 10 -9.1% 1.10x
MapReduce 331 301 -9.1% 1.10x
NopDeinit 29849 27435 -8.1% 1.09x
IterateData 757 708 -6.5% 1.07x
CaptureProp 4851 4551 -6.2% 1.07x
PrefixWhileSequence 317 300 -5.4% 1.06x
No Changes (269)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3055 3057 +0.1% 1.00x (?)
AnyHashableWithAClass 69023 66980 -3.0% 1.03x
Array2D 2023 2026 +0.1% 1.00x (?)
ArrayAppend 774 774 +0.0% 1.00x
ArrayAppendArrayOfInt 597 597 +0.0% 1.00x
ArrayAppendAscii 22543 22602 +0.3% 1.00x (?)
ArrayAppendFromGeneric 596 597 +0.2% 1.00x (?)
ArrayAppendGenericStructs 1222 1224 +0.2% 1.00x (?)
ArrayAppendLatin1 43311 43447 +0.3% 1.00x
ArrayAppendLazyMap 934 933 -0.1% 1.00x (?)
ArrayAppendOptionals 1218 1222 +0.3% 1.00x (?)
ArrayAppendRepeatCol 837 837 +0.0% 1.00x
ArrayAppendReserved 532 531 -0.2% 1.00x (?)
ArrayAppendSequence 947 948 +0.1% 1.00x (?)
ArrayAppendStrings 13670 13666 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 596 596 +0.0% 1.00x
ArrayAppendToGeneric 596 596 +0.0% 1.00x
ArrayAppendUTF16 40499 40879 +0.9% 0.99x (?)
ArrayInClass 61 61 +0.0% 1.00x
ArrayLiteral 1231 1233 +0.2% 1.00x (?)
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 4002 4003 +0.0% 1.00x (?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayOfRef 3883 3884 +0.0% 1.00x (?)
ArrayPlusEqualArrayOfInt 596 596 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4669 4637 -0.7% 1.01x (?)
ArrayPlusEqualSingleElementCollection 774 773 -0.1% 1.00x (?)
ArrayPlusEqualThreeElements 1581 1585 +0.3% 1.00x (?)
ArraySubscript 1491 1496 +0.3% 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 5088 5235 +2.9% 0.97x
CStringLongNonAscii 2273 2313 +1.8% 0.98x (?)
CStringShortAscii 5761 5683 -1.4% 1.01x (?)
Calculator 35 34 -2.9% 1.03x
CharacterLiteralsLarge 6095 6096 +0.0% 1.00x (?)
CharacterLiteralsSmall 403 402 -0.2% 1.00x
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 182 186 +2.2% 0.98x (?)
Dictionary 545 553 +1.5% 0.99x (?)
Dictionary2 1824 1816 -0.4% 1.00x (?)
Dictionary2OfObjects 3318 3323 +0.2% 1.00x (?)
Dictionary3 439 440 +0.2% 1.00x (?)
Dictionary3OfObjects 880 885 +0.6% 0.99x (?)
DictionaryBridge 2976 2987 +0.4% 1.00x (?)
DictionaryLiteral 1486 1483 -0.2% 1.00x (?)
DictionaryOfObjects 2315 2315 +0.0% 1.00x
DictionaryRemove 2439 2400 -1.6% 1.02x (?)
DictionaryRemoveOfObjects 23358 23423 +0.3% 1.00x (?)
DictionarySwap 429 429 +0.0% 1.00x
DictionarySwapOfObjects 6915 6932 +0.2% 1.00x (?)
DropFirstAnyCollection 56 56 +0.0% 1.00x
DropFirstAnyCollectionLazy 44992 44965 -0.1% 1.00x (?)
DropFirstAnySeqCRangeIter 27195 26417 -2.9% 1.03x
DropFirstAnySeqCRangeIterLazy 27197 26410 -2.9% 1.03x (?)
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 5883 5902 +0.3% 1.00x
DropFirstAnySequenceLazy 5873 5893 +0.3% 1.00x (?)
DropFirstArray 25 24 -4.0% 1.04x
DropFirstArrayLazy 24 24 +0.0% 1.00x
DropFirstCountableRange 32 32 +0.0% 1.00x
DropFirstCountableRangeLazy 32 32 +0.0% 1.00x
DropFirstSequence 2093 2093 +0.0% 1.00x
DropFirstSequenceLazy 2077 2116 +1.9% 0.98x (?)
DropLastAnyCollection 22 22 +0.0% 1.00x
DropLastAnyCollectionLazy 15019 15018 -0.0% 1.00x (?)
DropLastAnySeqCRangeIter 4591 4590 -0.0% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4590 4590 +0.0% 1.00x
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6734 6603 -1.9% 1.02x (?)
DropLastAnySequenceLazy 6522 6533 +0.2% 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
DropLastSequence 588 583 -0.9% 1.01x (?)
DropLastSequenceLazy 588 583 -0.9% 1.01x (?)
DropWhileAnyCollection 69 69 +0.0% 1.00x
DropWhileAnyCollectionLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCRangeIter 21872 22701 +3.8% 0.96x (?)
DropWhileAnySeqCRangeIterLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCntRange 64 64 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 103 103 +0.0% 1.00x
DropWhileAnySequence 6607 6609 +0.0% 1.00x (?)
DropWhileAnySequenceLazy 2032 2032 +0.0% 1.00x
DropWhileArray 37 37 +0.0% 1.00x
DropWhileArrayLazy 78 78 +0.0% 1.00x
DropWhileCountableRange 35 36 +2.9% 0.97x
DropWhileCountableRangeLazy 68 68 +0.0% 1.00x
DropWhileSequence 1547 1548 +0.1% 1.00x (?)
DropWhileSequenceLazy 65 65 +0.0% 1.00x
EqualStringSubstring 524 523 -0.2% 1.00x (?)
EqualSubstringString 523 523 +0.0% 1.00x
EqualSubstringSubstring 522 524 +0.4% 1.00x (?)
EqualSubstringSubstringGenericEquatable 525 525 +0.0% 1.00x
ErrorHandling 2919 2802 -4.0% 1.04x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3432 3441 +0.3% 1.00x (?)
HashTest 1680 1677 -0.2% 1.00x (?)
Histogram 300 298 -0.7% 1.01x (?)
Integrate 262 262 +0.0% 1.00x
Join 378 375 -0.8% 1.01x (?)
LazilyFilteredArrays 64634 64909 +0.4% 1.00x (?)
LazilyFilteredRange 3887 3885 -0.1% 1.00x (?)
LessSubstringSubstring 522 522 +0.0% 1.00x
LessSubstringSubstringGenericComparable 523 522 -0.2% 1.00x (?)
LinkedList 7044 7043 -0.0% 1.00x (?)
MapReduceAnyCollection 302 303 +0.3% 1.00x (?)
MapReduceAnyCollectionShort 2009 2018 +0.4% 1.00x (?)
MapReduceClass 3058 3047 -0.4% 1.00x (?)
MapReduceClassShort 4526 4621 +2.1% 0.98x
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 45 44 -2.2% 1.02x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 465 464 -0.2% 1.00x (?)
MapReduceShort 1915 1910 -0.3% 1.00x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 114 113 -0.9% 1.01x (?)
Memset 234 234 +0.0% 1.00x
MonteCarloE 10191 10420 +2.2% 0.98x
MonteCarloPi 43919 43994 +0.2% 1.00x (?)
NSDictionaryCastToSwift 5456 5511 +1.0% 0.99x (?)
NSError 292 292 +0.0% 1.00x
NSStringConversion 724 738 +1.9% 0.98x (?)
ObjectAllocation 181 182 +0.6% 0.99x
ObjectiveCBridgeFromNSArrayAnyObject 23366 23473 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4509 4476 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43931 43944 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37924 37708 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 118250 118629 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5169 5234 +1.3% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 98857 96106 -2.8% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 89473 88787 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 64442 64396 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4164 4188 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 72041 72421 +0.5% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62311 62764 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSString 1441 1410 -2.2% 1.02x (?)
ObjectiveCBridgeFromNSStringForced 2389 2342 -2.0% 1.02x (?)
ObjectiveCBridgeStubDataAppend 3753 3726 -0.7% 1.01x (?)
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29323 28511 -2.8% 1.03x (?)
ObjectiveCBridgeStubFromNSDate 3696 3849 +4.1% 0.96x (?)
ObjectiveCBridgeStubFromNSDateRef 3584 3733 +4.2% 0.96x
ObjectiveCBridgeStubFromNSString 915 923 +0.9% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 174 181 +4.0% 0.96x
ObjectiveCBridgeStubNSDataAppend 2249 2355 +4.7% 0.95x (?)
ObjectiveCBridgeStubNSDateMutationRef 12819 12446 -2.9% 1.03x (?)
ObjectiveCBridgeStubToArrayOfNSString 28611 28520 -0.3% 1.00x (?)
ObjectiveCBridgeStubToNSDate 13647 13646 -0.0% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3424 3422 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1513 1513 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 110 110 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 227067 226965 -0.0% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 229032 228535 -0.2% 1.00x (?)
ObjectiveCBridgeToNSArray 28961 28955 -0.0% 1.00x (?)
ObjectiveCBridgeToNSDictionary 48753 49111 +0.7% 0.99x (?)
ObjectiveCBridgeToNSSet 42414 42295 -0.3% 1.00x (?)
ObjectiveCBridgeToNSString 1270 1274 +0.3% 1.00x (?)
ObserverClosure 2315 2297 -0.8% 1.01x (?)
ObserverForwarderStruct 1123 1123 +0.0% 1.00x
ObserverPartiallyAppliedMethod 3786 3772 -0.4% 1.00x (?)
ObserverUnappliedMethod 2674 2683 +0.3% 1.00x (?)
Phonebook 6209 6227 +0.3% 1.00x (?)
PolymorphicCalls 22 22 +0.0% 1.00x
PopFrontArray 1077 1077 +0.0% 1.00x
PopFrontArrayGeneric 1071 1071 +0.0% 1.00x
PopFrontUnsafePointer 8855 8842 -0.1% 1.00x (?)
PrefixAnyCollection 56 56 +0.0% 1.00x
PrefixAnyCollectionLazy 45066 45005 -0.1% 1.00x (?)
PrefixAnySeqCRangeIter 21402 21662 +1.2% 0.99x (?)
PrefixAnySeqCRangeIterLazy 21400 21657 +1.2% 0.99x (?)
PrefixAnySeqCntRange 50 50 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 50 50 +0.0% 1.00x
PrefixAnySequence 5224 5248 +0.5% 1.00x
PrefixAnySequenceLazy 5235 5238 +0.1% 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 1574 +0.2% 1.00x
PrefixSequenceLazy 1515 1515 +0.0% 1.00x
PrefixWhileAnyCollection 96 96 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12455 12455 +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 13961 14024 +0.5% 1.00x (?)
PrefixWhileAnySequenceLazy 1491 1492 +0.1% 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
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 776 797 +2.7% 0.97x
ProtocolDispatch 2727 2727 +0.0% 1.00x
ProtocolDispatch2 167 160 -4.2% 1.04x
RC4 160 158 -1.2% 1.01x (?)
RGBHistogram 2347 2346 -0.0% 1.00x (?)
RGBHistogramOfObjects 24391 24383 -0.0% 1.00x (?)
RangeAssignment 307 295 -3.9% 1.04x (?)
RecursiveOwnedParameter 2314 2325 +0.5% 1.00x
ReversedArray 49 49 +0.0% 1.00x
ReversedBidirectional 29151 29157 +0.0% 1.00x (?)
ReversedDictionary 114 113 -0.9% 1.01x (?)
SetExclusiveOr 2983 2986 +0.1% 1.00x (?)
SetExclusiveOr_OfObjects 9567 9566 -0.0% 1.00x (?)
SetIntersect 281 270 -3.9% 1.04x
SetIntersect_OfObjects 1725 1725 +0.0% 1.00x
SetIsSubsetOf 286 286 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 359 +0.0% 1.00x
SetUnion 2692 2715 +0.9% 0.99x (?)
SetUnion_OfObjects 8080 8015 -0.8% 1.01x (?)
SevenBoom 1466 1460 -0.4% 1.00x (?)
Sim2DArray 276 276 +0.0% 1.00x
SortLargeExistentials 7824 7876 +0.7% 0.99x
SortLettersInPlace 1146 1145 -0.1% 1.00x (?)
SortSortedStrings 868 896 +3.2% 0.97x
SortStrings 1670 1700 +1.8% 0.98x
SortStringsUnicode 22260 22269 +0.0% 1.00x (?)
StackPromo 22268 22629 +1.6% 0.98x
StaticArray 18 18 +0.0% 1.00x
StrComplexWalk 720 720 +0.0% 1.00x
StrToInt 2064 2022 -2.0% 1.02x
StringAdder 0 0 +0.0% 1.00x
StringBuilder 1024 1030 +0.6% 0.99x (?)
StringBuilderLong 950 926 -2.5% 1.03x (?)
StringEdits 105520 105364 -0.1% 1.00x (?)
StringEqualPointerComparison 333 333 +0.0% 1.00x
StringFromLongWholeSubstring 10223 10232 +0.1% 1.00x (?)
StringFromLongWholeSubstringGeneric 22 22 +0.0% 1.00x
StringHasPrefixUnicode 41909 41823 -0.2% 1.00x (?)
StringHasSuffixUnicode 89876 89768 -0.1% 1.00x (?)
StringInterpolation 10749 10662 -0.8% 1.01x (?)
StringMatch 7163 6929 -3.3% 1.03x
StringUTF16Builder 1935 1933 -0.1% 1.00x (?)
StringWalk 1277 1219 -4.5% 1.05x
StringWithCString 68017 68674 +1.0% 0.99x
SubstringComparable 3748 3762 +0.4% 1.00x (?)
SubstringEqualString 3482 3475 -0.2% 1.00x (?)
SubstringEquatable 7436 7410 -0.3% 1.00x (?)
SubstringFromLongString 100 100 +0.0% 1.00x
SubstringFromLongStringGeneric 177 177 +0.0% 1.00x
SuffixAnyCollection 22 22 +0.0% 1.00x
SuffixAnyCollectionLazy 15010 15015 +0.0% 1.00x (?)
SuffixAnySeqCRangeIter 4908 4926 +0.4% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4914 4921 +0.1% 1.00x (?)
SuffixAnySeqCntRange 16 16 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 16 16 +0.0% 1.00x
SuffixAnySequence 6710 6667 -0.6% 1.01x (?)
SuffixAnySequenceLazy 6577 6577 +0.0% 1.00x
SuffixArray 8 8 +0.0% 1.00x
SuffixArrayLazy 8 8 +0.0% 1.00x
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixSequence 4427 4447 +0.5% 1.00x (?)
SuffixSequenceLazy 4427 4447 +0.5% 1.00x (?)
SuperChars 161519 159014 -1.6% 1.02x (?)
TwoSum 970 966 -0.4% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 260 253 -2.7% 1.03x
Walsh 356 352 -1.1% 1.01x (?)
XorLoop 347 347 +0.0% 1.00x

Unoptimized (Onone)

Improvement (3)
TEST OLD NEW DELTA SPEEDUP
ArrayOfGenericPOD 3160 2991 -5.3% 1.06x
TypeFlood 171 162 -5.3% 1.06x (?)
ArrayAppendReserved 3419 3241 -5.2% 1.05x
No Changes (278)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4911 4907 -0.1% 1.00x (?)
AnyHashableWithAClass 84533 84021 -0.6% 1.01x (?)
Array2D 606442 608861 +0.4% 1.00x (?)
ArrayAppend 3574 3574 +0.0% 1.00x
ArrayAppendArrayOfInt 650 649 -0.2% 1.00x (?)
ArrayAppendAscii 60228 61869 +2.7% 0.97x (?)
ArrayAppendFromGeneric 652 651 -0.2% 1.00x (?)
ArrayAppendGenericStructs 1291 1298 +0.5% 0.99x (?)
ArrayAppendLatin1 85843 84232 -1.9% 1.02x
ArrayAppendLazyMap 210059 218009 +3.8% 0.96x
ArrayAppendOptionals 1315 1301 -1.1% 1.01x (?)
ArrayAppendRepeatCol 214172 217006 +1.3% 0.99x (?)
ArrayAppendSequence 76276 76099 -0.2% 1.00x
ArrayAppendStrings 13760 13750 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 652 653 +0.2% 1.00x (?)
ArrayAppendToGeneric 654 654 +0.0% 1.00x
ArrayAppendUTF16 83573 82305 -1.5% 1.02x (?)
ArrayInClass 6885 6886 +0.0% 1.00x (?)
ArrayLiteral 1736 1736 +0.0% 1.00x
ArrayOfGenericRef 10196 10213 +0.2% 1.00x (?)
ArrayOfPOD 1832 1892 +3.3% 0.97x
ArrayOfRef 9576 9635 +0.6% 0.99x (?)
ArrayPlusEqualArrayOfInt 651 651 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 293047 292171 -0.3% 1.00x (?)
ArrayPlusEqualSingleElementCollection 292773 289012 -1.3% 1.01x (?)
ArrayPlusEqualThreeElements 10373 10296 -0.7% 1.01x (?)
ArraySubscript 4179 4149 -0.7% 1.01x
ArrayValueProp 3522 3533 +0.3% 1.00x
ArrayValueProp2 18407 18307 -0.5% 1.01x
ArrayValueProp3 3912 3900 -0.3% 1.00x (?)
ArrayValueProp4 3832 3823 -0.2% 1.00x (?)
BitCount 173 174 +0.6% 0.99x
ByteSwap 26 27 +3.8% 0.96x
CStringLongAscii 5210 5404 +3.7% 0.96x (?)
CStringLongNonAscii 2474 2533 +2.4% 0.98x (?)
CStringShortAscii 9384 9432 +0.5% 0.99x (?)
Calculator 1165 1176 +0.9% 0.99x
CaptureProp 109380 110059 +0.6% 0.99x
CharacterLiteralsLarge 6259 6246 -0.2% 1.00x (?)
CharacterLiteralsSmall 705 717 +1.7% 0.98x
Chars 49885 49716 -0.3% 1.00x (?)
ClassArrayGetter 1015 1015 +0.0% 1.00x
DeadArray 113657 114531 +0.8% 0.99x (?)
Dictionary 2979 3020 +1.4% 0.99x (?)
Dictionary2 3501 3505 +0.1% 1.00x (?)
Dictionary2OfObjects 6200 6203 +0.0% 1.00x (?)
Dictionary3 1298 1302 +0.3% 1.00x (?)
Dictionary3OfObjects 2393 2399 +0.3% 1.00x (?)
DictionaryBridge 3064 3044 -0.7% 1.01x (?)
DictionaryLiteral 8231 8234 +0.0% 1.00x (?)
DictionaryOfObjects 6616 6679 +1.0% 0.99x (?)
DictionaryRemove 21731 21612 -0.5% 1.01x
DictionaryRemoveOfObjects 60761 60216 -0.9% 1.01x (?)
DictionarySwap 5721 5694 -0.5% 1.00x
DictionarySwapOfObjects 24009 23804 -0.9% 1.01x (?)
DropFirstAnyCollection 19573 19211 -1.8% 1.02x
DropFirstAnyCollectionLazy 138631 135308 -2.4% 1.02x (?)
DropFirstAnySeqCRangeIter 30106 29107 -3.3% 1.03x
DropFirstAnySeqCRangeIterLazy 30190 29182 -3.3% 1.03x
DropFirstAnySeqCntRange 19524 19206 -1.6% 1.02x
DropFirstAnySeqCntRangeLazy 19417 19087 -1.7% 1.02x (?)
DropFirstAnySequence 13009 13001 -0.1% 1.00x (?)
DropFirstAnySequenceLazy 13883 13731 -1.1% 1.01x
DropFirstArray 6545 6298 -3.8% 1.04x
DropFirstArrayLazy 44672 44716 +0.1% 1.00x (?)
DropFirstCountableRange 337 340 +0.9% 0.99x
DropFirstCountableRangeLazy 39229 38834 -1.0% 1.01x (?)
DropFirstSequence 11880 11890 +0.1% 1.00x (?)
DropFirstSequenceLazy 12289 12237 -0.4% 1.00x
DropLastAnyCollection 6547 6450 -1.5% 1.02x
DropLastAnyCollectionLazy 45685 45060 -1.4% 1.01x (?)
DropLastAnySeqCRangeIter 44476 44211 -0.6% 1.01x (?)
DropLastAnySeqCRangeIterLazy 44734 43903 -1.9% 1.02x (?)
DropLastAnySeqCntRange 6509 6417 -1.4% 1.01x
DropLastAnySeqCntRangeLazy 6492 6371 -1.9% 1.02x
DropLastAnySequence 29707 29057 -2.2% 1.02x (?)
DropLastAnySequenceLazy 29125 29171 +0.2% 1.00x (?)
DropLastArray 2188 2104 -3.8% 1.04x
DropLastArrayLazy 14937 14887 -0.3% 1.00x (?)
DropLastCountableRange 117 118 +0.9% 0.99x
DropLastCountableRangeLazy 13004 12932 -0.6% 1.01x
DropLastSequence 29263 29083 -0.6% 1.01x (?)
DropLastSequenceLazy 28961 29258 +1.0% 0.99x (?)
DropWhileAnyCollection 25262 24741 -2.1% 1.02x
DropWhileAnyCollectionLazy 28173 27486 -2.4% 1.02x
DropWhileAnySeqCRangeIter 32140 31543 -1.9% 1.02x (?)
DropWhileAnySeqCRangeIterLazy 27652 27058 -2.1% 1.02x
DropWhileAnySeqCntRange 25314 24936 -1.5% 1.02x (?)
DropWhileAnySeqCntRangeLazy 28103 27260 -3.0% 1.03x
DropWhileAnySequence 15342 15350 +0.1% 1.00x (?)
DropWhileAnySequenceLazy 12489 12456 -0.3% 1.00x
DropWhileArray 10077 9792 -2.8% 1.03x
DropWhileArrayLazy 16790 16922 +0.8% 0.99x
DropWhileCountableRange 6165 6103 -1.0% 1.01x
DropWhileCountableRangeLazy 27061 26309 -2.8% 1.03x (?)
DropWhileSequence 14974 14999 +0.2% 1.00x
DropWhileSequenceLazy 11240 11219 -0.2% 1.00x (?)
EqualStringSubstring 831 827 -0.5% 1.00x (?)
EqualSubstringString 831 832 +0.1% 1.00x (?)
EqualSubstringSubstring 931 921 -1.1% 1.01x (?)
EqualSubstringSubstringGenericEquatable 591 579 -2.0% 1.02x (?)
ErrorHandling 6691 6751 +0.9% 0.99x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 19292 19254 -0.2% 1.00x (?)
HashTest 18448 18391 -0.3% 1.00x
Histogram 8619 8612 -0.1% 1.00x (?)
Integrate 738 734 -0.5% 1.01x (?)
IterateData 12839 12931 +0.7% 0.99x (?)
Join 1183 1186 +0.3% 1.00x (?)
LazilyFilteredArrays 1693019 1685724 -0.4% 1.00x (?)
LazilyFilteredRange 687558 674420 -1.9% 1.02x
LessSubstringSubstring 933 931 -0.2% 1.00x (?)
LessSubstringSubstringGenericComparable 584 588 +0.7% 0.99x (?)
LinkedList 43901 43869 -0.1% 1.00x
MapReduce 37674 37677 +0.0% 1.00x (?)
MapReduceAnyCollection 37660 37609 -0.1% 1.00x (?)
MapReduceAnyCollectionShort 50037 50138 +0.2% 1.00x (?)
MapReduceClass 43026 43124 +0.2% 1.00x
MapReduceClassShort 54540 54185 -0.7% 1.01x (?)
MapReduceLazyCollection 32644 32670 +0.1% 1.00x (?)
MapReduceLazyCollectionShort 43724 43794 +0.2% 1.00x (?)
MapReduceLazySequence 25727 25831 +0.4% 1.00x (?)
MapReduceSequence 41640 41413 -0.5% 1.01x (?)
MapReduceShort 49487 49618 +0.3% 1.00x (?)
MapReduceShortString 278 277 -0.4% 1.00x (?)
MapReduceString 2561 2556 -0.2% 1.00x (?)
Memset 43989 43990 +0.0% 1.00x (?)
MonteCarloE 132157 132571 +0.3% 1.00x (?)
MonteCarloPi 52378 52474 +0.2% 1.00x
NSDictionaryCastToSwift 6649 6647 -0.0% 1.00x (?)
NSError 710 704 -0.8% 1.01x (?)
NSStringConversion 1323 1307 -1.2% 1.01x
NopDeinit 188078 194278 +3.3% 0.97x
ObjectAllocation 1469 1476 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25674 25579 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7825 7798 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45328 45116 -0.5% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38978 38978 +0.0% 1.00x
ObjectiveCBridgeFromNSDictionaryAnyObject 122549 122525 -0.0% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7400 7468 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 97966 101590 +3.7% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 93573 92963 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 67529 67586 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7161 7007 -2.2% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 75782 76268 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 65966 66348 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSString 4025 4107 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSStringForced 2724 2752 +1.0% 0.99x
ObjectiveCBridgeStubDataAppend 3698 3723 +0.7% 0.99x (?)
ObjectiveCBridgeStubDateAccess 1031 1032 +0.1% 1.00x
ObjectiveCBridgeStubDateMutation 485 507 +4.5% 0.96x
ObjectiveCBridgeStubFromArrayOfNSString 29658 28548 -3.7% 1.04x (?)
ObjectiveCBridgeStubFromNSDate 4047 4109 +1.5% 0.98x
ObjectiveCBridgeStubFromNSDateRef 4074 3935 -3.4% 1.04x
ObjectiveCBridgeStubFromNSString 919 965 +5.0% 0.95x
ObjectiveCBridgeStubFromNSStringRef 207 201 -2.9% 1.03x
ObjectiveCBridgeStubNSDataAppend 2677 2652 -0.9% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 15134 15716 +3.8% 0.96x (?)
ObjectiveCBridgeStubNSDateRefAccess 1215 1219 +0.3% 1.00x
ObjectiveCBridgeStubToArrayOfNSString 28712 28723 +0.0% 1.00x (?)
ObjectiveCBridgeStubToNSDate 15182 14920 -1.7% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3356 3390 +1.0% 0.99x (?)
ObjectiveCBridgeStubToNSString 1567 1567 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 149 149 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 234561 231451 -1.3% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 232962 227542 -2.3% 1.02x (?)
ObjectiveCBridgeToNSArray 29410 29540 +0.4% 1.00x (?)
ObjectiveCBridgeToNSDictionary 49463 49163 -0.6% 1.01x (?)
ObjectiveCBridgeToNSSet 42774 42643 -0.3% 1.00x (?)
ObjectiveCBridgeToNSString 1309 1309 +0.0% 1.00x
ObserverClosure 6766 6765 -0.0% 1.00x (?)
ObserverForwarderStruct 4815 4812 -0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 8262 8259 -0.0% 1.00x (?)
ObserverUnappliedMethod 8553 8576 +0.3% 1.00x (?)
OpenClose 394 394 +0.0% 1.00x
Phonebook 21593 21928 +1.6% 0.98x
PolymorphicCalls 5398 5498 +1.9% 0.98x
PopFrontArray 7344 7461 +1.6% 0.98x
PopFrontArrayGeneric 6414 6487 +1.1% 0.99x
PopFrontUnsafePointer 97038 98534 +1.5% 0.98x
PrefixAnyCollection 19680 19248 -2.2% 1.02x (?)
PrefixAnyCollectionLazy 139020 135146 -2.8% 1.03x
PrefixAnySeqCRangeIter 24200 23440 -3.1% 1.03x
PrefixAnySeqCRangeIterLazy 23818 23136 -2.9% 1.03x (?)
PrefixAnySeqCntRange 19496 19147 -1.8% 1.02x
PrefixAnySeqCntRangeLazy 19433 19088 -1.8% 1.02x (?)
PrefixAnySequence 10859 10826 -0.3% 1.00x
PrefixAnySequenceLazy 11173 11187 +0.1% 1.00x
PrefixArray 6544 6297 -3.8% 1.04x
PrefixArrayLazy 44643 44739 +0.2% 1.00x (?)
PrefixCountableRange 338 337 -0.3% 1.00x (?)
PrefixCountableRangeLazy 39187 38837 -0.9% 1.01x (?)
PrefixSequence 9772 9775 +0.0% 1.00x (?)
PrefixSequenceLazy 10019 10003 -0.2% 1.00x (?)
PrefixWhileAnyCollection 36685 36299 -1.1% 1.01x (?)
PrefixWhileAnyCollectionLazy 23351 22884 -2.0% 1.02x (?)
PrefixWhileAnySeqCRangeIter 41284 40755 -1.3% 1.01x (?)
PrefixWhileAnySeqCRangeIterLazy 23141 22655 -2.1% 1.02x
PrefixWhileAnySeqCntRange 36745 36182 -1.5% 1.02x (?)
PrefixWhileAnySeqCntRangeLazy 23565 22877 -2.9% 1.03x (?)
PrefixWhileAnySequence 29524 29494 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 11488 11474 -0.1% 1.00x (?)
PrefixWhileArray 17056 16826 -1.3% 1.01x
PrefixWhileArrayLazy 14811 14743 -0.5% 1.00x (?)
PrefixWhileCountableRange 17687 17545 -0.8% 1.01x (?)
PrefixWhileCountableRangeLazy 22202 21507 -3.1% 1.03x
PrefixWhileSequence 28416 28372 -0.2% 1.00x (?)
PrefixWhileSequenceLazy 10433 10442 +0.1% 1.00x (?)
Prims 10251 10347 +0.9% 0.99x (?)
ProtocolDispatch 6989 6970 -0.3% 1.00x
ProtocolDispatch2 490 490 +0.0% 1.00x
RC4 20057 19684 -1.9% 1.02x
RGBHistogram 34051 33591 -1.4% 1.01x (?)
RGBHistogramOfObjects 113232 113108 -0.1% 1.00x (?)
RangeAssignment 5693 5675 -0.3% 1.00x (?)
RecursiveOwnedParameter 11669 11684 +0.1% 1.00x
ReversedArray 44027 45269 +2.8% 0.97x
ReversedBidirectional 78068 75997 -2.7% 1.03x (?)
ReversedDictionary 28430 28623 +0.7% 0.99x (?)
SetExclusiveOr 21447 21296 -0.7% 1.01x
SetExclusiveOr_OfObjects 49087 49360 +0.6% 0.99x
SetIntersect 10786 10885 +0.9% 0.99x (?)
SetIntersect_OfObjects 12678 12746 +0.5% 0.99x
SetIsSubsetOf 1638 1641 +0.2% 1.00x (?)
SetIsSubsetOf_OfObjects 1585 1589 +0.3% 1.00x
SetUnion 12533 12388 -1.2% 1.01x
SetUnion_OfObjects 34235 34319 +0.2% 1.00x
SevenBoom 1593 1597 +0.3% 1.00x (?)
Sim2DArray 30021 30016 -0.0% 1.00x (?)
SortLargeExistentials 17780 17830 +0.3% 1.00x (?)
SortLettersInPlace 3210 3211 +0.0% 1.00x (?)
SortSortedStrings 1415 1422 +0.5% 1.00x (?)
SortStrings 2445 2472 +1.1% 0.99x
SortStringsUnicode 23584 23896 +1.3% 0.99x (?)
StackPromo 100276 100981 +0.7% 0.99x (?)
StaticArray 4568 4562 -0.1% 1.00x (?)
StrComplexWalk 6864 6875 +0.2% 1.00x (?)
StrToInt 96715 96849 +0.1% 1.00x (?)
StringAdder 46 48 +4.3% 0.96x
StringBuilder 6911 6921 +0.1% 1.00x (?)
StringBuilderLong 1104 1107 +0.3% 1.00x (?)
StringEdits 380086 372069 -2.1% 1.02x (?)
StringEqualPointerComparison 2516 2423 -3.7% 1.04x
StringFromLongWholeSubstring 10105 10113 +0.1% 1.00x (?)
StringFromLongWholeSubstringGeneric 199 199 +0.0% 1.00x
StringHasPrefix 1729 1691 -2.2% 1.02x
StringHasPrefixUnicode 43077 43018 -0.1% 1.00x (?)
StringHasSuffix 1823 1819 -0.2% 1.00x (?)
StringHasSuffixUnicode 91649 91348 -0.3% 1.00x (?)
StringInterpolation 13794 13879 +0.6% 0.99x (?)
StringMatch 29565 29251 -1.1% 1.01x
StringUTF16Builder 7791 7767 -0.3% 1.00x (?)
StringWalk 12982 13211 +1.8% 0.98x
StringWithCString 68000 68650 +1.0% 0.99x
SubstringComparable 6282 6262 -0.3% 1.00x (?)
SubstringEqualString 8958 8938 -0.2% 1.00x (?)
SubstringEquatable 12929 12864 -0.5% 1.01x (?)
SubstringFromLongString 116 115 -0.9% 1.01x
SubstringFromLongStringGeneric 209 207 -1.0% 1.01x
SuffixAnyCollection 6549 6427 -1.9% 1.02x
SuffixAnyCollectionLazy 46232 45090 -2.5% 1.03x
SuffixAnySeqCRangeIter 42235 41934 -0.7% 1.01x (?)
SuffixAnySeqCRangeIterLazy 42160 41779 -0.9% 1.01x (?)
SuffixAnySeqCntRange 6510 6419 -1.4% 1.01x
SuffixAnySeqCntRangeLazy 6491 6378 -1.7% 1.02x
SuffixAnySequence 27292 27238 -0.2% 1.00x (?)
SuffixAnySequenceLazy 27172 27347 +0.6% 0.99x (?)
SuffixArray 2189 2108 -3.7% 1.04x
SuffixArrayLazy 14927 14890 -0.2% 1.00x
SuffixCountableRange 117 118 +0.9% 0.99x
SuffixCountableRangeLazy 12996 12935 -0.5% 1.00x (?)
SuffixSequence 26921 27422 +1.9% 0.98x (?)
SuffixSequenceLazy 27067 26687 -1.4% 1.01x (?)
SuperChars 297948 297111 -0.3% 1.00x (?)
TwoSum 4294 4308 +0.3% 1.00x
UTF8Decode 37032 37047 +0.0% 1.00x
Walsh 11990 11960 -0.3% 1.00x (?)
XorLoop 23706 23707 +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

@dabrahams
Copy link
Collaborator

@swiftix These numbers look good! StringHasPrefix and StringHasSuffix, like most other tests dominated by intrinsics like memcmp, fluctuate wildly and are probably meaningless.

@swiftix swiftix merged commit 0f78872 into apple:master Jun 5, 2017
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.

None yet

3 participants