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

[stdlib] String index interchange, etc. #9806

Merged
merged 14 commits into from Jul 7, 2017
Merged

[stdlib] String index interchange, etc. #9806

merged 14 commits into from Jul 7, 2017

Conversation

dabrahams
Copy link
Collaborator

@dabrahams dabrahams commented May 20, 2017

No description provided.

@dabrahams
Copy link
Collaborator Author

@swift-ci Please test source compatibility

@swift-ci
Copy link
Collaborator

Build comment file:

Optimized (O)

Regression (6)
TEST OLD NEW DELTA SPEEDUP
StringHasPrefix 16 33 +106.2% 0.48x
StringHasSuffix 16 33 +106.2% 0.48x
StringFromLongWholeSubstring 15594 19842 +27.2% 0.79x
BitCount 12 14 +16.7% 0.86x (?)
IterateData 706 755 +6.9% 0.94x
Calculator 31 33 +6.5% 0.94x
Improvement (9)
TEST OLD NEW DELTA SPEEDUP
SubstringFromLongString 158 10 -93.7% 15.80x
SubstringFromLongStringGeneric 340 77 -77.4% 4.42x
StringFromLongWholeSubstringGeneric 218 133 -39.0% 1.64x
StringWithCString 189695 137287 -27.6% 1.38x
DictionaryRemove 2781 2430 -12.6% 1.14x
ObjectiveCBridgeStubNSDateRefAccess 344 315 -8.4% 1.09x
ArrayAppendAscii 24031 22072 -8.2% 1.09x
StringMatch 9059 8373 -7.6% 1.08x
NopDeinit 28948 27429 -5.2% 1.06x
No Changes (257)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2959 2975 +0.5% 0.99x (?)
AnyHashableWithAClass 66850 66887 +0.1% 1.00x (?)
Array2D 2010 2024 +0.7% 0.99x (?)
ArrayAppend 767 769 +0.3% 1.00x (?)
ArrayAppendArrayOfInt 596 597 +0.2% 1.00x (?)
ArrayAppendFromGeneric 596 596 +0.0% 1.00x
ArrayAppendGenericStructs 1222 1219 -0.2% 1.00x (?)
ArrayAppendLatin1 43284 43253 -0.1% 1.00x (?)
ArrayAppendLazyMap 934 932 -0.2% 1.00x (?)
ArrayAppendOptionals 1222 1228 +0.5% 1.00x (?)
ArrayAppendRepeatCol 837 837 +0.0% 1.00x
ArrayAppendReserved 532 533 +0.2% 1.00x (?)
ArrayAppendSequence 944 941 -0.3% 1.00x (?)
ArrayAppendStrings 13644 13619 -0.2% 1.00x (?)
ArrayAppendToFromGeneric 596 596 +0.0% 1.00x
ArrayAppendToGeneric 596 596 +0.0% 1.00x
ArrayAppendUTF16 41307 41015 -0.7% 1.01x
ArrayInClass 61 61 +0.0% 1.00x
ArrayLiteral 1235 1234 -0.1% 1.00x (?)
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 3987 3992 +0.1% 1.00x (?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayOfRef 3886 3898 +0.3% 1.00x (?)
ArrayPlusEqualArrayOfInt 596 596 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4645 4700 +1.2% 0.99x (?)
ArrayPlusEqualSingleElementCollection 769 769 +0.0% 1.00x
ArrayPlusEqualThreeElements 1585 1586 +0.1% 1.00x (?)
ArraySubscript 1470 1468 -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 5437 5207 -4.2% 1.04x (?)
CStringLongNonAscii 2356 2295 -2.6% 1.03x
CStringShortAscii 5764 5739 -0.4% 1.00x (?)
CaptureProp 4551 4600 +1.1% 0.99x
CharacterLiteralsLarge 8738 8857 +1.4% 0.99x (?)
CharacterLiteralsSmall 311 310 -0.3% 1.00x (?)
Chars 1937 1903 -1.8% 1.02x
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 182 186 +2.2% 0.98x (?)
Dictionary 573 580 +1.2% 0.99x
Dictionary2 1819 1812 -0.4% 1.00x (?)
Dictionary2OfObjects 3341 3336 -0.1% 1.00x (?)
Dictionary3 471 471 +0.0% 1.00x
Dictionary3OfObjects 899 899 +0.0% 1.00x
DictionaryBridge 2616 2622 +0.2% 1.00x (?)
DictionaryLiteral 1485 1491 +0.4% 1.00x (?)
DictionaryOfObjects 2335 2329 -0.3% 1.00x (?)
DictionaryRemoveOfObjects 23445 23393 -0.2% 1.00x (?)
DictionarySwap 429 429 +0.0% 1.00x
DictionarySwapOfObjects 6888 6937 +0.7% 0.99x (?)
DropFirstAnyCollection 56 56 +0.0% 1.00x
DropFirstAnyCollectionLazy 44855 44855 +0.0% 1.00x
DropFirstAnySeqCRangeIter 27520 27496 -0.1% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 27517 27506 -0.0% 1.00x (?)
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 7021 6771 -3.6% 1.04x
DropFirstAnySequenceLazy 7022 6749 -3.9% 1.04x
DropFirstArray 25 24 -4.0% 1.04x
DropFirstArrayLazy 24 25 +4.2% 0.96x
DropFirstCountableRange 32 32 +0.0% 1.00x
DropFirstCountableRangeLazy 32 32 +0.0% 1.00x
DropFirstSequence 3065 3065 +0.0% 1.00x
DropFirstSequenceLazy 3028 3029 +0.0% 1.00x (?)
DropLastAnyCollection 22 22 +0.0% 1.00x
DropLastAnyCollectionLazy 15044 14990 -0.4% 1.00x (?)
DropLastAnySeqCRangeIter 4649 4602 -1.0% 1.01x
DropLastAnySeqCRangeIterLazy 4649 4602 -1.0% 1.01x
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6778 6638 -2.1% 1.02x (?)
DropLastAnySequenceLazy 6593 6522 -1.1% 1.01x (?)
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 553 576 +4.2% 0.96x
DropLastSequenceLazy 552 576 +4.3% 0.96x
DropWhileAnyCollection 69 69 +0.0% 1.00x
DropWhileAnyCollectionLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCRangeIter 21860 22036 +0.8% 0.99x (?)
DropWhileAnySeqCRangeIterLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCntRange 64 64 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 103 103 +0.0% 1.00x
DropWhileAnySequence 7600 7600 +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 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 68 68 +0.0% 1.00x
DropWhileSequence 3030 3123 +3.1% 0.97x
DropWhileSequenceLazy 65 65 +0.0% 1.00x
ErrorHandling 2984 2978 -0.2% 1.00x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3273 3426 +4.7% 0.96x
HashTest 1763 1752 -0.6% 1.01x (?)
Histogram 298 299 +0.3% 1.00x (?)
Integrate 262 262 +0.0% 1.00x
Join 450 452 +0.4% 1.00x (?)
LazilyFilteredArrays 64812 64901 +0.1% 1.00x (?)
LazilyFilteredRange 3885 3884 -0.0% 1.00x (?)
LinkedList 7101 7116 +0.2% 1.00x
MapReduce 305 305 +0.0% 1.00x
MapReduceAnyCollection 305 305 +0.0% 1.00x
MapReduceAnyCollectionShort 2016 2017 +0.0% 1.00x (?)
MapReduceClass 3075 3060 -0.5% 1.00x (?)
MapReduceClassShort 4529 4552 +0.5% 0.99x (?)
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 44 45 +2.3% 0.98x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 449 449 +0.0% 1.00x
MapReduceShort 1916 1919 +0.2% 1.00x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 114 112 -1.8% 1.02x (?)
Memset 234 234 +0.0% 1.00x
MonteCarloE 10119 10060 -0.6% 1.01x (?)
MonteCarloPi 44079 43984 -0.2% 1.00x
NSDictionaryCastToSwift 5578 5424 -2.8% 1.03x (?)
NSError 291 290 -0.3% 1.00x (?)
NSStringConversion 750 740 -1.3% 1.01x (?)
ObjectAllocation 180 181 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObject 23355 23991 +2.7% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4489 4463 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43630 43955 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37478 37707 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 117820 117474 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5174 5140 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 95033 95259 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 89030 88057 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 64007 64019 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4159 4166 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 71288 71520 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62094 62400 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSString 1406 1446 +2.8% 0.97x (?)
ObjectiveCBridgeFromNSStringForced 2352 2355 +0.1% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3707 3684 -0.6% 1.01x (?)
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 28943 28899 -0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 3582 3665 +2.3% 0.98x (?)
ObjectiveCBridgeStubFromNSDateRef 3673 3563 -3.0% 1.03x
ObjectiveCBridgeStubFromNSString 911 940 +3.2% 0.97x
ObjectiveCBridgeStubFromNSStringRef 177 174 -1.7% 1.02x
ObjectiveCBridgeStubNSDataAppend 2280 2262 -0.8% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 12020 12468 +3.7% 0.96x (?)
ObjectiveCBridgeStubToArrayOfNSString 28439 28311 -0.5% 1.00x (?)
ObjectiveCBridgeStubToNSDate 14458 14366 -0.6% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3387 3439 +1.5% 0.98x (?)
ObjectiveCBridgeStubToNSString 1517 1509 -0.5% 1.01x (?)
ObjectiveCBridgeStubToNSStringRef 108 110 +1.9% 0.98x (?)
ObjectiveCBridgeStubURLAppendPath 226199 224984 -0.5% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 226922 226056 -0.4% 1.00x (?)
ObjectiveCBridgeToNSArray 28702 28374 -1.1% 1.01x (?)
ObjectiveCBridgeToNSDictionary 45302 44824 -1.1% 1.01x (?)
ObjectiveCBridgeToNSSet 39235 39667 +1.1% 0.99x (?)
ObjectiveCBridgeToNSString 1271 1272 +0.1% 1.00x (?)
ObserverClosure 2282 2281 -0.0% 1.00x (?)
ObserverForwarderStruct 1123 1120 -0.3% 1.00x (?)
ObserverPartiallyAppliedMethod 3790 3779 -0.3% 1.00x (?)
ObserverUnappliedMethod 2660 2696 +1.4% 0.99x (?)
OpenClose 51 51 +0.0% 1.00x
Phonebook 8004 8225 +2.8% 0.97x (?)
PolymorphicCalls 21 22 +4.8% 0.95x
PopFrontArray 1094 1101 +0.6% 0.99x
PopFrontArrayGeneric 1094 1102 +0.7% 0.99x (?)
PopFrontUnsafePointer 8965 8968 +0.0% 1.00x (?)
PrefixAnyCollection 56 56 +0.0% 1.00x
PrefixAnyCollectionLazy 45155 44875 -0.6% 1.01x (?)
PrefixAnySeqCRangeIter 21496 21515 +0.1% 1.00x (?)
PrefixAnySeqCRangeIterLazy 21494 21650 +0.7% 0.99x (?)
PrefixAnySeqCntRange 50 50 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 50 50 +0.0% 1.00x
PrefixAnySequence 6252 6085 -2.7% 1.03x (?)
PrefixAnySequenceLazy 6261 6102 -2.5% 1.03x (?)
PrefixArray 24 25 +4.2% 0.96x
PrefixArrayLazy 24 24 +0.0% 1.00x
PrefixCountableRange 32 32 +0.0% 1.00x
PrefixCountableRangeLazy 32 32 +0.0% 1.00x
PrefixSequence 2528 2658 +5.1% 0.95x
PrefixSequenceLazy 2617 2617 +0.0% 1.00x
PrefixWhileAnyCollection 96 96 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12474 12477 +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 14195 14015 -1.3% 1.01x (?)
PrefixWhileAnySequenceLazy 1492 1491 -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
PrefixWhileSequence 293 294 +0.3% 1.00x (?)
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 771 781 +1.3% 0.99x (?)
ProtocolDispatch 2727 2727 +0.0% 1.00x
ProtocolDispatch2 169 161 -4.7% 1.05x
RC4 160 160 +0.0% 1.00x
RGBHistogram 2394 2404 +0.4% 1.00x (?)
RGBHistogramOfObjects 24005 24015 +0.0% 1.00x (?)
RangeAssignment 300 298 -0.7% 1.01x (?)
RecursiveOwnedParameter 2321 2318 -0.1% 1.00x (?)
ReversedArray 49 49 +0.0% 1.00x
ReversedBidirectional 29162 29034 -0.4% 1.00x (?)
ReversedDictionary 119 116 -2.5% 1.03x (?)
SetExclusiveOr 3046 3059 +0.4% 1.00x (?)
SetExclusiveOr_OfObjects 9652 9583 -0.7% 1.01x (?)
SetIntersect 281 272 -3.2% 1.03x
SetIntersect_OfObjects 1721 1723 +0.1% 1.00x (?)
SetIsSubsetOf 286 286 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 359 +0.0% 1.00x
SetUnion 2719 2801 +3.0% 0.97x (?)
SetUnion_OfObjects 8123 7999 -1.5% 1.02x (?)
SevenBoom 1471 1467 -0.3% 1.00x (?)
Sim2DArray 276 276 +0.0% 1.00x
SortLargeExistentials 8026 8061 +0.4% 1.00x (?)
SortLettersInPlace 1146 1145 -0.1% 1.00x (?)
SortSortedStrings 829 865 +4.3% 0.96x
SortStrings 1611 1664 +3.3% 0.97x (?)
SortStringsUnicode 7689 7723 +0.4% 1.00x (?)
StackPromo 22358 22488 +0.6% 0.99x (?)
StaticArray 21 21 +0.0% 1.00x
StrComplexWalk 719 719 +0.0% 1.00x
StrToInt 2350 2450 +4.3% 0.96x
StringAdder 0 0 +0.0% 1.00x
StringBuilder 1387 1378 -0.6% 1.01x
StringBuilderLong 978 961 -1.7% 1.02x (?)
StringEdits 215565 212250 -1.5% 1.02x
StringEqualPointerComparison 7375 7366 -0.1% 1.00x
StringHasPrefixUnicode 14554 14599 +0.3% 1.00x (?)
StringHasSuffixUnicode 61679 61991 +0.5% 0.99x
StringInterpolation 11297 11098 -1.8% 1.02x (?)
StringUTF16Builder 2219 2219 +0.0% 1.00x
StringWalk 1291 1270 -1.6% 1.02x
SuffixAnyCollection 22 22 +0.0% 1.00x
SuffixAnyCollectionLazy 14998 14950 -0.3% 1.00x (?)
SuffixAnySeqCRangeIter 4973 4927 -0.9% 1.01x (?)
SuffixAnySeqCRangeIterLazy 4974 4927 -0.9% 1.01x
SuffixAnySeqCntRange 16 16 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 16 16 +0.0% 1.00x
SuffixAnySequence 6691 6712 +0.3% 1.00x (?)
SuffixAnySequenceLazy 6616 6555 -0.9% 1.01x (?)
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 4429 4416 -0.3% 1.00x (?)
SuffixSequenceLazy 4415 4413 -0.0% 1.00x (?)
SuperChars 102891 103527 +0.6% 0.99x (?)
TwoSum 968 970 +0.2% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 257 257 +0.0% 1.00x
Walsh 350 350 +0.0% 1.00x
XorLoop 347 347 +0.0% 1.00x
**Unoptimized (Onone)**
Regression (4)
TEST OLD NEW DELTA SPEEDUP
StringFromLongWholeSubstring 15703 19737 +25.7% 0.80x
SuperChars 212749 252638 +18.7% 0.84x
Chars 52164 59230 +13.5% 0.88x
StringWalk 4120 4520 +9.7% 0.91x
Improvement (8)
TEST OLD NEW DELTA SPEEDUP
SubstringFromLongString 178 13 -92.7% 13.69x
SubstringFromLongStringGeneric 394 109 -72.3% 3.61x
StringFromLongWholeSubstringGeneric 269 151 -43.9% 1.78x
StringWithCString 189795 137375 -27.6% 1.38x (?)
ArrayAppendReserved 3546 3315 -6.5% 1.07x
CStringLongAscii 5620 5282 -6.0% 1.06x
PrefixArray 6431 6071 -5.6% 1.06x
ArrayOfGenericPOD 3245 3066 -5.5% 1.06x
No Changes (260)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4922 4982 +1.2% 0.99x (?)
AnyHashableWithAClass 84424 84256 -0.2% 1.00x
Array2D 608443 608213 -0.0% 1.00x (?)
ArrayAppend 3785 3670 -3.0% 1.03x
ArrayAppendArrayOfInt 649 650 +0.2% 1.00x (?)
ArrayAppendAscii 60523 61399 +1.4% 0.99x
ArrayAppendFromGeneric 652 653 +0.2% 1.00x (?)
ArrayAppendGenericStructs 1286 1305 +1.5% 0.99x (?)
ArrayAppendLatin1 82652 85674 +3.7% 0.96x
ArrayAppendLazyMap 212902 215042 +1.0% 0.99x
ArrayAppendOptionals 1293 1289 -0.3% 1.00x (?)
ArrayAppendRepeatCol 219800 213562 -2.8% 1.03x
ArrayAppendSequence 76954 77266 +0.4% 1.00x
ArrayAppendStrings 13709 13715 +0.0% 1.00x (?)
ArrayAppendToFromGeneric 652 652 +0.0% 1.00x
ArrayAppendToGeneric 652 654 +0.3% 1.00x (?)
ArrayAppendUTF16 81573 83467 +2.3% 0.98x
ArrayInClass 4734 4734 +0.0% 1.00x
ArrayLiteral 1740 1743 +0.2% 1.00x
ArrayOfGenericRef 9565 9584 +0.2% 1.00x (?)
ArrayOfPOD 1832 1832 +0.0% 1.00x
ArrayOfRef 8743 8764 +0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 650 651 +0.2% 1.00x (?)
ArrayPlusEqualFiveElementCollection 293673 295896 +0.8% 0.99x (?)
ArrayPlusEqualSingleElementCollection 293318 291207 -0.7% 1.01x (?)
ArrayPlusEqualThreeElements 10581 10689 +1.0% 0.99x (?)
ArraySubscript 4164 4193 +0.7% 0.99x (?)
ArrayValueProp 3531 3532 +0.0% 1.00x (?)
ArrayValueProp2 18592 18448 -0.8% 1.01x
ArrayValueProp3 3926 3914 -0.3% 1.00x (?)
ArrayValueProp4 3829 3824 -0.1% 1.00x (?)
BitCount 174 180 +3.4% 0.97x
ByteSwap 28 27 -3.6% 1.04x
CStringLongNonAscii 2452 2388 -2.6% 1.03x
CStringShortAscii 9521 9556 +0.4% 1.00x (?)
Calculator 1132 1147 +1.3% 0.99x
CaptureProp 108538 106264 -2.1% 1.02x
CharacterLiteralsLarge 10092 10354 +2.6% 0.97x
CharacterLiteralsSmall 1002 1002 +0.0% 1.00x
ClassArrayGetter 929 929 +0.0% 1.00x
DeadArray 121328 121365 +0.0% 1.00x (?)
Dictionary 3069 3089 +0.7% 0.99x (?)
Dictionary2 3516 3482 -1.0% 1.01x
Dictionary2OfObjects 5812 5798 -0.2% 1.00x (?)
Dictionary3 1358 1355 -0.2% 1.00x (?)
Dictionary3OfObjects 2237 2249 +0.5% 0.99x (?)
DictionaryBridge 2738 2693 -1.6% 1.02x (?)
DictionaryLiteral 8209 8232 +0.3% 1.00x (?)
DictionaryOfObjects 5947 5975 +0.5% 1.00x (?)
DictionaryRemove 21406 21652 +1.1% 0.99x
DictionaryRemoveOfObjects 55298 54917 -0.7% 1.01x (?)
DictionarySwap 5649 5456 -3.4% 1.04x
DictionarySwapOfObjects 19902 19681 -1.1% 1.01x (?)
DropFirstAnyCollection 19466 19259 -1.1% 1.01x
DropFirstAnyCollectionLazy 137533 138527 +0.7% 0.99x (?)
DropFirstAnySeqCRangeIter 30088 29965 -0.4% 1.00x
DropFirstAnySeqCRangeIterLazy 30384 29850 -1.8% 1.02x
DropFirstAnySeqCntRange 19385 19298 -0.4% 1.00x
DropFirstAnySeqCntRangeLazy 19493 19221 -1.4% 1.01x (?)
DropFirstAnySequence 13919 13944 +0.2% 1.00x (?)
DropFirstAnySequenceLazy 14131 14024 -0.8% 1.01x (?)
DropFirstArray 6435 6209 -3.5% 1.04x
DropFirstArrayLazy 46031 45383 -1.4% 1.01x (?)
DropFirstCountableRange 339 337 -0.6% 1.01x
DropFirstCountableRangeLazy 38617 38394 -0.6% 1.01x (?)
DropFirstSequence 12852 12840 -0.1% 1.00x (?)
DropFirstSequenceLazy 12985 12882 -0.8% 1.01x
DropLastAnyCollection 6512 6417 -1.5% 1.01x (?)
DropLastAnyCollectionLazy 45486 46306 +1.8% 0.98x (?)
DropLastAnySeqCRangeIter 43923 43966 +0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 43707 44028 +0.7% 0.99x (?)
DropLastAnySeqCntRange 6510 6416 -1.4% 1.01x
DropLastAnySeqCntRangeLazy 6536 6399 -2.1% 1.02x
DropLastAnySequence 29222 29232 +0.0% 1.00x (?)
DropLastAnySequenceLazy 29025 29002 -0.1% 1.00x (?)
DropLastArray 2156 2077 -3.7% 1.04x
DropLastArrayLazy 15400 15141 -1.7% 1.02x
DropLastCountableRange 117 117 +0.0% 1.00x
DropLastCountableRangeLazy 12872 12755 -0.9% 1.01x (?)
DropLastSequence 28741 28589 -0.5% 1.01x
DropLastSequenceLazy 28657 29133 +1.7% 0.98x
DropWhileAnyCollection 25200 25026 -0.7% 1.01x
DropWhileAnyCollectionLazy 27963 27241 -2.6% 1.03x
DropWhileAnySeqCRangeIter 32303 32317 +0.0% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 27412 27239 -0.6% 1.01x (?)
DropWhileAnySeqCntRange 25196 24883 -1.2% 1.01x (?)
DropWhileAnySeqCntRangeLazy 27674 27302 -1.3% 1.01x (?)
DropWhileAnySequence 16019 16354 +2.1% 0.98x
DropWhileAnySequenceLazy 12430 12642 +1.7% 0.98x
DropWhileArray 9947 9782 -1.7% 1.02x
DropWhileArrayLazy 17093 16903 -1.1% 1.01x
DropWhileCountableRange 6126 6157 +0.5% 0.99x (?)
DropWhileCountableRangeLazy 26332 26383 +0.2% 1.00x (?)
DropWhileSequence 14935 15056 +0.8% 0.99x
DropWhileSequenceLazy 11215 11217 +0.0% 1.00x (?)
ErrorHandling 6999 7115 +1.7% 0.98x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 17517 17450 -0.4% 1.00x
HashTest 14931 15123 +1.3% 0.99x
Histogram 8702 8687 -0.2% 1.00x (?)
Integrate 398 398 +0.0% 1.00x
IterateData 12809 12794 -0.1% 1.00x (?)
Join 1273 1276 +0.2% 1.00x (?)
LazilyFilteredArrays 1698007 1695436 -0.2% 1.00x (?)
LazilyFilteredRange 689002 680756 -1.2% 1.01x
LinkedList 33138 33176 +0.1% 1.00x
MapReduce 37822 37896 +0.2% 1.00x (?)
MapReduceAnyCollection 37777 37597 -0.5% 1.00x
MapReduceAnyCollectionShort 50266 50268 +0.0% 1.00x (?)
MapReduceClass 42879 43657 +1.8% 0.98x
MapReduceClassShort 53958 54008 +0.1% 1.00x (?)
MapReduceLazyCollection 32567 32756 +0.6% 0.99x
MapReduceLazyCollectionShort 44157 43868 -0.7% 1.01x (?)
MapReduceLazySequence 26357 25424 -3.5% 1.04x
MapReduceSequence 41546 41330 -0.5% 1.01x
MapReduceShort 49810 50044 +0.5% 1.00x (?)
MapReduceShortString 277 277 +0.0% 1.00x
MapReduceString 2563 2580 +0.7% 0.99x
Memset 43987 43988 +0.0% 1.00x (?)
MonteCarloE 110084 109984 -0.1% 1.00x
MonteCarloPi 53149 53228 +0.1% 1.00x
NSDictionaryCastToSwift 6673 6733 +0.9% 0.99x (?)
NSError 701 707 +0.9% 0.99x (?)
NSStringConversion 1334 1307 -2.0% 1.02x (?)
NopDeinit 54811 54818 +0.0% 1.00x (?)
ObjectAllocation 1383 1375 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25634 25928 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7753 7768 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45364 44984 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38838 38949 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 121211 122499 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7981 7827 -1.9% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 102615 102987 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 93088 90990 -2.3% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 67541 67283 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7085 6998 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 76028 75740 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 66964 66015 -1.4% 1.01x (?)
ObjectiveCBridgeFromNSString 4038 4049 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2713 2716 +0.1% 1.00x
ObjectiveCBridgeStubDataAppend 3761 3921 +4.3% 0.96x (?)
ObjectiveCBridgeStubDateAccess 1017 1002 -1.5% 1.01x
ObjectiveCBridgeStubDateMutation 520 515 -1.0% 1.01x
ObjectiveCBridgeStubFromArrayOfNSString 29081 29270 +0.6% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 4123 4154 +0.8% 0.99x
ObjectiveCBridgeStubFromNSDateRef 4038 3976 -1.5% 1.02x
ObjectiveCBridgeStubFromNSString 930 970 +4.3% 0.96x
ObjectiveCBridgeStubFromNSStringRef 208 213 +2.4% 0.98x
ObjectiveCBridgeStubNSDataAppend 2754 2646 -3.9% 1.04x (?)
ObjectiveCBridgeStubNSDateMutationRef 15516 15107 -2.6% 1.03x (?)
ObjectiveCBridgeStubNSDateRefAccess 1210 1209 -0.1% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 28706 29355 +2.3% 0.98x (?)
ObjectiveCBridgeStubToNSDate 15266 15115 -1.0% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3326 3374 +1.4% 0.99x (?)
ObjectiveCBridgeStubToNSString 1571 1573 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 149 149 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 233771 225897 -3.4% 1.03x (?)
ObjectiveCBridgeStubURLAppendPathRef 227505 228133 +0.3% 1.00x (?)
ObjectiveCBridgeToNSArray 29357 29300 -0.2% 1.00x (?)
ObjectiveCBridgeToNSDictionary 45535 45802 +0.6% 0.99x (?)
ObjectiveCBridgeToNSSet 39930 39697 -0.6% 1.01x (?)
ObjectiveCBridgeToNSString 1307 1309 +0.2% 1.00x
ObserverClosure 6630 6630 +0.0% 1.00x
ObserverForwarderStruct 4699 4684 -0.3% 1.00x (?)
ObserverPartiallyAppliedMethod 8121 8089 -0.4% 1.00x
ObserverUnappliedMethod 8400 8369 -0.4% 1.00x (?)
OpenClose 393 394 +0.3% 1.00x
Phonebook 24433 24794 +1.5% 0.99x
PolymorphicCalls 2878 2899 +0.7% 0.99x
PopFrontArray 7382 7442 +0.8% 0.99x
PopFrontArrayGeneric 6361 6396 +0.6% 0.99x
PopFrontUnsafePointer 97013 97482 +0.5% 1.00x (?)
PrefixAnyCollection 19512 19185 -1.7% 1.02x
PrefixAnyCollectionLazy 138433 139328 +0.6% 0.99x (?)
PrefixAnySeqCRangeIter 23999 24544 +2.3% 0.98x
PrefixAnySeqCRangeIterLazy 24173 24282 +0.5% 1.00x (?)
PrefixAnySeqCntRange 19394 19297 -0.5% 1.01x (?)
PrefixAnySeqCntRangeLazy 19501 19241 -1.3% 1.01x (?)
PrefixAnySequence 11740 11600 -1.2% 1.01x (?)
PrefixAnySequenceLazy 11791 11707 -0.7% 1.01x
PrefixArrayLazy 46062 45381 -1.5% 1.02x
PrefixCountableRange 339 337 -0.6% 1.01x
PrefixCountableRangeLazy 38879 38402 -1.2% 1.01x (?)
PrefixSequence 10841 10757 -0.8% 1.01x (?)
PrefixSequenceLazy 11006 10868 -1.3% 1.01x (?)
PrefixWhileAnyCollection 36626 36429 -0.5% 1.01x (?)
PrefixWhileAnyCollectionLazy 22736 22400 -1.5% 1.01x
PrefixWhileAnySeqCRangeIter 41309 41676 +0.9% 0.99x (?)
PrefixWhileAnySeqCRangeIterLazy 22844 22374 -2.1% 1.02x (?)
PrefixWhileAnySeqCntRange 36702 36421 -0.8% 1.01x
PrefixWhileAnySeqCntRangeLazy 22541 22781 +1.1% 0.99x (?)
PrefixWhileAnySequence 29612 29485 -0.4% 1.00x (?)
PrefixWhileAnySequenceLazy 11701 11557 -1.2% 1.01x
PrefixWhileArray 16844 16817 -0.2% 1.00x (?)
PrefixWhileArrayLazy 15021 14686 -2.2% 1.02x
PrefixWhileCountableRange 17643 17555 -0.5% 1.01x
PrefixWhileCountableRangeLazy 21748 21890 +0.7% 0.99x (?)
PrefixWhileSequence 28607 28522 -0.3% 1.00x (?)
PrefixWhileSequenceLazy 10439 10601 +1.6% 0.98x
Prims 9578 9601 +0.2% 1.00x (?)
ProtocolDispatch 6953 7025 +1.0% 0.99x (?)
ProtocolDispatch2 493 493 +0.0% 1.00x
RC4 19064 19698 +3.3% 0.97x
RGBHistogram 33774 34175 +1.2% 0.99x (?)
RGBHistogramOfObjects 98886 99235 +0.4% 1.00x (?)
RangeAssignment 5760 5773 +0.2% 1.00x (?)
RecursiveOwnedParameter 9569 9626 +0.6% 0.99x
ReversedArray 43840 45021 +2.7% 0.97x
ReversedBidirectional 75503 75942 +0.6% 0.99x
ReversedDictionary 26517 26553 +0.1% 1.00x (?)
SetExclusiveOr 21397 21086 -1.5% 1.01x
SetExclusiveOr_OfObjects 41199 41157 -0.1% 1.00x (?)
SetIntersect 10806 10614 -1.8% 1.02x
SetIntersect_OfObjects 11186 11281 +0.8% 0.99x
SetIsSubsetOf 1640 1614 -1.6% 1.02x
SetIsSubsetOf_OfObjects 1523 1518 -0.3% 1.00x
SetUnion 12334 12241 -0.8% 1.01x
SetUnion_OfObjects 29610 29596 -0.0% 1.00x (?)
SevenBoom 1600 1596 -0.2% 1.00x (?)
Sim2DArray 30035 30032 -0.0% 1.00x (?)
SortLargeExistentials 17685 17805 +0.7% 0.99x (?)
SortLettersInPlace 2858 2851 -0.2% 1.00x (?)
SortSortedStrings 1407 1409 +0.1% 1.00x
SortStrings 2466 2490 +1.0% 0.99x
SortStringsUnicode 8990 8826 -1.8% 1.02x
StackPromo 100150 100745 +0.6% 0.99x (?)
StaticArray 4645 4648 +0.1% 1.00x (?)
StrComplexWalk 6953 6944 -0.1% 1.00x (?)
StrToInt 97084 99044 +2.0% 0.98x (?)
StringAdder 49 48 -2.0% 1.02x
StringBuilder 7359 7455 +1.3% 0.99x (?)
StringBuilderLong 1134 1123 -1.0% 1.01x (?)
StringEdits 502697 504906 +0.4% 1.00x (?)
StringEqualPointerComparison 9579 9627 +0.5% 1.00x (?)
StringHasPrefix 1798 1765 -1.8% 1.02x
StringHasPrefixUnicode 16371 16286 -0.5% 1.01x
StringHasSuffix 1931 1991 +3.1% 0.97x (?)
StringHasSuffixUnicode 64007 63667 -0.5% 1.01x
StringInterpolation 14236 14359 +0.9% 0.99x (?)
StringMatch 31287 31455 +0.5% 0.99x
StringUTF16Builder 8203 8332 +1.6% 0.98x
SuffixAnyCollection 6513 6424 -1.4% 1.01x
SuffixAnyCollectionLazy 45660 45764 +0.2% 1.00x (?)
SuffixAnySeqCRangeIter 41633 41477 -0.4% 1.00x (?)
SuffixAnySeqCRangeIterLazy 41248 41785 +1.3% 0.99x
SuffixAnySeqCntRange 6477 6433 -0.7% 1.01x
SuffixAnySeqCntRangeLazy 6515 6398 -1.8% 1.02x
SuffixAnySequence 26954 26992 +0.1% 1.00x (?)
SuffixAnySequenceLazy 26853 26882 +0.1% 1.00x (?)
SuffixArray 2123 2079 -2.1% 1.02x
SuffixArrayLazy 15407 15146 -1.7% 1.02x (?)
SuffixCountableRange 118 117 -0.8% 1.01x
SuffixCountableRangeLazy 12920 12779 -1.1% 1.01x (?)
SuffixSequence 26571 26447 -0.5% 1.00x
SuffixSequenceLazy 26775 26818 +0.2% 1.00x (?)
TwoSum 4383 4282 -2.3% 1.02x
TypeFlood 165 164 -0.6% 1.01x (?)
UTF8Decode 37404 36976 -1.1% 1.01x
Walsh 11907 11865 -0.4% 1.00x
XorLoop 23707 23705 -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 Author

Wow, some of those speedups are really surprising.

@dabrahams
Copy link
Collaborator Author

@swift-ci Please smoke benchmark

@dabrahams
Copy link
Collaborator Author

@swift-ci Please test source compatibility

@palimondo
Copy link
Collaborator

All those "Hearts <3 ♥︎ 💘" and "Café 🍵"s will be lost in time, like tears in rain?

@dabrahams
Copy link
Collaborator Author

@palimondo Gonna assume that's a joke that went over my head. If it's not, please try to explain.

@palimondo
Copy link
Collaborator

That was a Blade Runner reference... and I was wondering if the removed documentation that was demonstrating use of Index with the "Hearts <3 ♥︎ 💘" and "Café 🍵"s would reappear in the new String.Index later, or was removed for good.

@swift-ci
Copy link
Collaborator

Build comment file:

Build failed before running benchmark.


@dabrahams
Copy link
Collaborator Author

Oh, removed for good because these types and therefore overloads are collapsing with others. However I believe the same strings exist on the overloads with which they are collapsing, unless @natecook1000 was exceptionally, gratuitously creative ;-)

@dabrahams
Copy link
Collaborator Author

I take it back; @natecook1000 was creative with good reason and many of them do drop; He'll have to rewrite the docs for these things anyway.

@dabrahams
Copy link
Collaborator Author

@swift-ci Please test source compatibility

@swift-ci
Copy link
Collaborator

Build comment file:

Build failed before running benchmark.


@dabrahams
Copy link
Collaborator Author

@swift-ci Please test

@dabrahams
Copy link
Collaborator Author

@swift-ci Please benchmark

@dabrahams
Copy link
Collaborator Author

@swift-ci Please test source compatibility

@swift-ci
Copy link
Collaborator

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 5bcb52b
Test requested by - @dabrahams

@dabrahams
Copy link
Collaborator Author

dabrahams commented May 21, 2017

Uh, right. The linux failure is because I took away some SPI that Foundation was using for the Linux case only. It's easy to bring back but I want to let the other tests finish so I didn't push it here.

@swift-ci
Copy link
Collaborator

Build comment file:

Optimized (O)

Regression (18)
TEST OLD NEW DELTA SPEEDUP
ArrayAppendUTF16 41355 222629 +438.3% 0.19x
ArrayAppendLatin1 43287 230802 +433.2% 0.19x
CStringLongNonAscii 2359 9168 +288.6% 0.26x
StringHasPrefix 16 33 +106.2% 0.48x
StringHasSuffix 16 33 +106.2% 0.48x
CStringLongAscii 5434 10809 +98.9% 0.50x
StringWithCString 189702 310233 +63.5% 0.61x
ArrayAppendAscii 24030 39102 +62.7% 0.61x
MapReduceString 114 148 +29.8% 0.77x
MapReduceShortString 21 27 +28.6% 0.78x
StringFromLongWholeSubstring 15598 19428 +24.6% 0.80x
BitCount 12 14 +16.7% 0.86x (?)
SuffixCountableRangeLazy 10 11 +10.0% 0.91x
ObjectiveCBridgeStubNSDateRefAccess 345 373 +8.1% 0.92x
IterateData 706 759 +7.5% 0.93x
Calculator 31 33 +6.5% 0.94x
OpenClose 51 54 +5.9% 0.94x
Phonebook 8009 8442 +5.4% 0.95x
Improvement (4)
TEST OLD NEW DELTA SPEEDUP
SubstringFromLongString 158 10 -93.7% 15.80x
SubstringFromLongStringGeneric 340 75 -77.9% 4.53x
StringFromLongWholeSubstringGeneric 218 132 -39.4% 1.65x
NopDeinit 28943 22884 -20.9% 1.26x
No Changes (250)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2957 2978 +0.7% 0.99x (?)
AnyHashableWithAClass 66836 67092 +0.4% 1.00x (?)
Array2D 2024 2042 +0.9% 0.99x (?)
ArrayAppend 768 769 +0.1% 1.00x (?)
ArrayAppendArrayOfInt 597 596 -0.2% 1.00x (?)
ArrayAppendFromGeneric 596 597 +0.2% 1.00x (?)
ArrayAppendGenericStructs 1220 1226 +0.5% 1.00x (?)
ArrayAppendLazyMap 928 934 +0.6% 0.99x (?)
ArrayAppendOptionals 1223 1239 +1.3% 0.99x (?)
ArrayAppendRepeatCol 837 838 +0.1% 1.00x (?)
ArrayAppendReserved 531 532 +0.2% 1.00x (?)
ArrayAppendSequence 944 944 +0.0% 1.00x
ArrayAppendStrings 13631 13618 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 596 596 +0.0% 1.00x
ArrayAppendToGeneric 596 596 +0.0% 1.00x
ArrayInClass 61 61 +0.0% 1.00x
ArrayLiteral 1233 1227 -0.5% 1.00x (?)
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 3987 3990 +0.1% 1.00x (?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayOfRef 3906 3904 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 596 596 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4716 4665 -1.1% 1.01x (?)
ArrayPlusEqualSingleElementCollection 768 769 +0.1% 1.00x (?)
ArrayPlusEqualThreeElements 1582 1582 +0.0% 1.00x
ArraySubscript 1471 1474 +0.2% 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
CStringShortAscii 5768 6071 +5.3% 0.95x
CaptureProp 4551 4599 +1.1% 0.99x
CharacterLiteralsLarge 8755 8897 +1.6% 0.98x (?)
CharacterLiteralsSmall 310 311 +0.3% 1.00x (?)
Chars 1936 1985 +2.5% 0.98x
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 182 186 +2.2% 0.98x (?)
Dictionary 573 588 +2.6% 0.97x
Dictionary2 1819 1828 +0.5% 1.00x (?)
Dictionary2OfObjects 3343 3346 +0.1% 1.00x (?)
Dictionary3 471 461 -2.1% 1.02x
Dictionary3OfObjects 899 901 +0.2% 1.00x (?)
DictionaryBridge 2616 2639 +0.9% 0.99x (?)
DictionaryLiteral 1485 1488 +0.2% 1.00x (?)
DictionaryOfObjects 2336 2331 -0.2% 1.00x (?)
DictionaryRemove 2772 2774 +0.1% 1.00x (?)
DictionaryRemoveOfObjects 23426 23437 +0.0% 1.00x (?)
DictionarySwap 429 429 +0.0% 1.00x
DictionarySwapOfObjects 6872 6880 +0.1% 1.00x (?)
DropFirstAnyCollection 56 56 +0.0% 1.00x
DropFirstAnyCollectionLazy 44973 44745 -0.5% 1.01x
DropFirstAnySeqCRangeIter 27520 27034 -1.8% 1.02x (?)
DropFirstAnySeqCRangeIterLazy 27519 27025 -1.8% 1.02x (?)
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 7021 6710 -4.4% 1.05x
DropFirstAnySequenceLazy 7022 6739 -4.0% 1.04x
DropFirstArray 25 25 +0.0% 1.00x
DropFirstArrayLazy 24 24 +0.0% 1.00x
DropFirstCountableRange 32 32 +0.0% 1.00x
DropFirstCountableRangeLazy 32 32 +0.0% 1.00x
DropFirstSequence 3065 3066 +0.0% 1.00x (?)
DropFirstSequenceLazy 3028 3029 +0.0% 1.00x (?)
DropLastAnyCollection 22 22 +0.0% 1.00x
DropLastAnyCollectionLazy 15027 14903 -0.8% 1.01x (?)
DropLastAnySeqCRangeIter 4649 4615 -0.7% 1.01x
DropLastAnySeqCRangeIterLazy 4649 4615 -0.7% 1.01x (?)
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6820 6834 +0.2% 1.00x
DropLastAnySequenceLazy 6544 6531 -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 552 542 -1.8% 1.02x (?)
DropLastSequenceLazy 553 542 -2.0% 1.02x
DropWhileAnyCollection 70 69 -1.4% 1.01x
DropWhileAnyCollectionLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCRangeIter 21860 21669 -0.9% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCntRange 64 64 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 103 103 +0.0% 1.00x
DropWhileAnySequence 7603 7599 -0.1% 1.00x (?)
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 3030 3031 +0.0% 1.00x (?)
DropWhileSequenceLazy 65 65 +0.0% 1.00x
ErrorHandling 2980 2985 +0.2% 1.00x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3252 3382 +4.0% 0.96x
HashTest 1765 1729 -2.0% 1.02x (?)
Histogram 298 298 +0.0% 1.00x
Integrate 262 273 +4.2% 0.96x
Join 450 451 +0.2% 1.00x (?)
LazilyFilteredArrays 64860 65116 +0.4% 1.00x (?)
LazilyFilteredRange 3887 3883 -0.1% 1.00x (?)
LinkedList 7101 7101 +0.0% 1.00x
MapReduce 305 306 +0.3% 1.00x (?)
MapReduceAnyCollection 306 305 -0.3% 1.00x (?)
MapReduceAnyCollectionShort 2018 2009 -0.4% 1.00x (?)
MapReduceClass 3069 3063 -0.2% 1.00x (?)
MapReduceClassShort 4530 4551 +0.5% 1.00x (?)
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 44 45 +2.3% 0.98x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 450 448 -0.4% 1.00x (?)
MapReduceShort 1917 1909 -0.4% 1.00x (?)
Memset 234 234 +0.0% 1.00x
MonteCarloE 10122 10080 -0.4% 1.00x (?)
MonteCarloPi 44076 43994 -0.2% 1.00x (?)
NSDictionaryCastToSwift 5544 5456 -1.6% 1.02x (?)
NSError 291 290 -0.3% 1.00x (?)
NSStringConversion 750 744 -0.8% 1.01x (?)
ObjectAllocation 180 179 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 23376 23767 +1.7% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4489 4477 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43460 43475 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37709 37562 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 117616 117227 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5168 5158 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 94445 94822 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 89693 89406 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 63792 64102 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4160 4143 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 71250 71696 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62002 62715 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSString 1406 1414 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSStringForced 2354 2312 -1.8% 1.02x (?)
ObjectiveCBridgeStubDataAppend 3781 3713 -1.8% 1.02x (?)
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 28983 28743 -0.8% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 3582 3734 +4.2% 0.96x
ObjectiveCBridgeStubFromNSDateRef 3672 3760 +2.4% 0.98x (?)
ObjectiveCBridgeStubFromNSString 908 940 +3.5% 0.97x
ObjectiveCBridgeStubFromNSStringRef 177 181 +2.3% 0.98x
ObjectiveCBridgeStubNSDataAppend 2298 2345 +2.0% 0.98x (?)
ObjectiveCBridgeStubNSDateMutationRef 12279 12539 +2.1% 0.98x (?)
ObjectiveCBridgeStubToArrayOfNSString 28731 28836 +0.4% 1.00x (?)
ObjectiveCBridgeStubToNSDate 14577 14333 -1.7% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3394 3395 +0.0% 1.00x (?)
ObjectiveCBridgeStubToNSString 1517 1518 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 108 110 +1.9% 0.98x (?)
ObjectiveCBridgeStubURLAppendPath 227588 223954 -1.6% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 228442 221868 -2.9% 1.03x (?)
ObjectiveCBridgeToNSArray 28567 28935 +1.3% 0.99x (?)
ObjectiveCBridgeToNSDictionary 45173 45345 +0.4% 1.00x (?)
ObjectiveCBridgeToNSSet 39347 39597 +0.6% 0.99x (?)
ObjectiveCBridgeToNSString 1271 1272 +0.1% 1.00x (?)
ObserverClosure 2281 2287 +0.3% 1.00x (?)
ObserverForwarderStruct 1128 1124 -0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3784 3829 +1.2% 0.99x (?)
ObserverUnappliedMethod 2662 2674 +0.5% 1.00x (?)
PolymorphicCalls 21 21 +0.0% 1.00x
PopFrontArray 1094 1094 +0.0% 1.00x
PopFrontArrayGeneric 1094 1095 +0.1% 1.00x (?)
PopFrontUnsafePointer 8966 8961 -0.1% 1.00x (?)
PrefixAnyCollection 56 56 +0.0% 1.00x
PrefixAnyCollectionLazy 45091 44749 -0.8% 1.01x (?)
PrefixAnySeqCRangeIter 21495 21326 -0.8% 1.01x (?)
PrefixAnySeqCRangeIterLazy 21494 21326 -0.8% 1.01x (?)
PrefixAnySeqCntRange 50 50 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 50 50 +0.0% 1.00x
PrefixAnySequence 6251 6125 -2.0% 1.02x (?)
PrefixAnySequenceLazy 6259 6111 -2.4% 1.02x (?)
PrefixArray 24 24 +0.0% 1.00x
PrefixArrayLazy 24 24 +0.0% 1.00x
PrefixCountableRange 32 32 +0.0% 1.00x
PrefixCountableRangeLazy 32 32 +0.0% 1.00x
PrefixSequence 2532 2531 -0.0% 1.00x (?)
PrefixSequenceLazy 2617 2617 +0.0% 1.00x
PrefixWhileAnyCollection 96 96 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12475 12481 +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 14197 14054 -1.0% 1.01x (?)
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 294 292 -0.7% 1.01x (?)
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 769 765 -0.5% 1.01x (?)
ProtocolDispatch 2727 2727 +0.0% 1.00x
ProtocolDispatch2 169 170 +0.6% 0.99x (?)
RC4 160 160 +0.0% 1.00x
RGBHistogram 2396 2394 -0.1% 1.00x (?)
RGBHistogramOfObjects 24033 24019 -0.1% 1.00x (?)
RangeAssignment 299 301 +0.7% 0.99x (?)
RecursiveOwnedParameter 2325 2325 +0.0% 1.00x
ReversedArray 49 49 +0.0% 1.00x
ReversedBidirectional 29158 29105 -0.2% 1.00x (?)
ReversedDictionary 118 114 -3.4% 1.04x (?)
SetExclusiveOr 3019 3082 +2.1% 0.98x (?)
SetExclusiveOr_OfObjects 9651 9579 -0.7% 1.01x (?)
SetIntersect 281 280 -0.4% 1.00x (?)
SetIntersect_OfObjects 1723 1719 -0.2% 1.00x (?)
SetIsSubsetOf 286 286 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 359 +0.0% 1.00x
SetUnion 2726 2779 +1.9% 0.98x (?)
SetUnion_OfObjects 8103 7923 -2.2% 1.02x (?)
SevenBoom 1463 1459 -0.3% 1.00x (?)
Sim2DArray 276 276 +0.0% 1.00x
SortLargeExistentials 8025 7946 -1.0% 1.01x
SortLettersInPlace 1146 1146 +0.0% 1.00x
SortSortedStrings 830 869 +4.7% 0.96x
SortStrings 1610 1676 +4.1% 0.96x
SortStringsUnicode 7690 7811 +1.6% 0.98x (?)
StackPromo 22525 22555 +0.1% 1.00x (?)
StaticArray 21 21 +0.0% 1.00x
StrComplexWalk 719 719 +0.0% 1.00x
StrToInt 2349 2272 -3.3% 1.03x
StringAdder 0 0 +0.0% 1.00x
StringBuilder 1386 1344 -3.0% 1.03x
StringBuilderLong 978 934 -4.5% 1.05x
StringEdits 215419 214495 -0.4% 1.00x (?)
StringEqualPointerComparison 7375 7329 -0.6% 1.01x
StringHasPrefixUnicode 14555 14511 -0.3% 1.00x (?)
StringHasSuffixUnicode 61678 61539 -0.2% 1.00x (?)
StringInterpolation 11190 11193 +0.0% 1.00x (?)
StringMatch 9054 9332 +3.1% 0.97x (?)
StringUTF16Builder 2216 2159 -2.6% 1.03x
StringWalk 1291 1275 -1.2% 1.01x
SuffixAnyCollection 22 22 +0.0% 1.00x
SuffixAnyCollectionLazy 14993 14864 -0.9% 1.01x
SuffixAnySeqCRangeIter 4973 4939 -0.7% 1.01x (?)
SuffixAnySeqCRangeIterLazy 4973 4939 -0.7% 1.01x (?)
SuffixAnySeqCntRange 16 16 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 16 16 +0.0% 1.00x
SuffixAnySequence 6697 6666 -0.5% 1.00x (?)
SuffixAnySequenceLazy 6617 6544 -1.1% 1.01x
SuffixArray 8 8 +0.0% 1.00x
SuffixArrayLazy 8 8 +0.0% 1.00x
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixSequence 4427 4415 -0.3% 1.00x (?)
SuffixSequenceLazy 4415 4412 -0.1% 1.00x (?)
SuperChars 102892 103671 +0.8% 0.99x (?)
TwoSum 969 962 -0.7% 1.01x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 257 253 -1.6% 1.02x
Walsh 351 356 +1.4% 0.99x
XorLoop 347 347 +0.0% 1.00x
**Unoptimized (Onone)**
Regression (9)
TEST OLD NEW DELTA SPEEDUP
CStringLongNonAscii 2448 9259 +278.2% 0.26x
ArrayAppendLatin1 82628 250081 +202.7% 0.33x
ArrayAppendUTF16 81579 240848 +195.2% 0.34x
CStringLongAscii 5575 10763 +93.1% 0.52x
StringWithCString 189738 310258 +63.5% 0.61x
StringFromLongWholeSubstring 15719 19672 +25.1% 0.80x
ArrayAppendAscii 60545 67771 +11.9% 0.89x
ArrayAppendGenericStructs 1291 1373 +6.4% 0.94x
ObjectiveCBridgeStubFromNSString 933 983 +5.4% 0.95x
Improvement (9)
TEST OLD NEW DELTA SPEEDUP
SubstringFromLongString 178 13 -92.7% 13.69x
SubstringFromLongStringGeneric 394 109 -72.3% 3.61x
StringFromLongWholeSubstringGeneric 270 151 -44.1% 1.79x
StringAdder 49 43 -12.2% 1.14x
NopDeinit 54797 49681 -9.3% 1.10x
ObjectiveCBridgeStubDateMutation 527 485 -8.0% 1.09x
SuffixCountableRangeLazy 12914 12224 -5.3% 1.06x (?)
DropLastCountableRangeLazy 12880 12195 -5.3% 1.06x
PrefixCountableRangeLazy 38989 37123 -4.8% 1.05x (?)
No Changes (254)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4917 4919 +0.0% 1.00x (?)
AnyHashableWithAClass 84410 83969 -0.5% 1.01x
Array2D 608658 607498 -0.2% 1.00x (?)
ArrayAppend 3786 3677 -2.9% 1.03x
ArrayAppendArrayOfInt 650 651 +0.2% 1.00x
ArrayAppendFromGeneric 652 654 +0.3% 1.00x (?)
ArrayAppendLazyMap 212992 212289 -0.3% 1.00x
ArrayAppendOptionals 1361 1338 -1.7% 1.02x (?)
ArrayAppendRepeatCol 218669 213445 -2.4% 1.02x
ArrayAppendReserved 3543 3429 -3.2% 1.03x
ArrayAppendSequence 76950 74064 -3.8% 1.04x
ArrayAppendStrings 13809 13684 -0.9% 1.01x (?)
ArrayAppendToFromGeneric 652 653 +0.2% 1.00x
ArrayAppendToGeneric 653 654 +0.2% 1.00x (?)
ArrayInClass 4734 4734 +0.0% 1.00x
ArrayLiteral 1737 1744 +0.4% 1.00x
ArrayOfGenericPOD 3243 3246 +0.1% 1.00x (?)
ArrayOfGenericRef 9585 9574 -0.1% 1.00x (?)
ArrayOfPOD 1832 1832 +0.0% 1.00x
ArrayOfRef 8755 8764 +0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 650 651 +0.2% 1.00x (?)
ArrayPlusEqualFiveElementCollection 294522 294444 -0.0% 1.00x (?)
ArrayPlusEqualSingleElementCollection 292727 292657 -0.0% 1.00x (?)
ArrayPlusEqualThreeElements 10542 10646 +1.0% 0.99x (?)
ArraySubscript 4170 4178 +0.2% 1.00x (?)
ArrayValueProp 3528 3535 +0.2% 1.00x (?)
ArrayValueProp2 18600 18330 -1.5% 1.01x
ArrayValueProp3 3914 3916 +0.1% 1.00x (?)
ArrayValueProp4 3839 3841 +0.1% 1.00x (?)
BitCount 174 174 +0.0% 1.00x
ByteSwap 28 28 +0.0% 1.00x
CStringShortAscii 9555 9821 +2.8% 0.97x
Calculator 1133 1115 -1.6% 1.02x
CaptureProp 108460 107824 -0.6% 1.01x
CharacterLiteralsLarge 10067 10109 +0.4% 1.00x (?)
CharacterLiteralsSmall 1002 1002 +0.0% 1.00x
Chars 52163 51494 -1.3% 1.01x
ClassArrayGetter 929 930 +0.1% 1.00x
DeadArray 121971 121347 -0.5% 1.01x (?)
Dictionary 3069 3094 +0.8% 0.99x (?)
Dictionary2 3501 3544 +1.2% 0.99x
Dictionary2OfObjects 5805 5811 +0.1% 1.00x (?)
Dictionary3 1354 1322 -2.4% 1.02x (?)
Dictionary3OfObjects 2231 2205 -1.2% 1.01x (?)
DictionaryBridge 2689 2698 +0.3% 1.00x (?)
DictionaryLiteral 8236 8286 +0.6% 0.99x
DictionaryOfObjects 5942 5964 +0.4% 1.00x (?)
DictionaryRemove 21376 21071 -1.4% 1.01x
DictionaryRemoveOfObjects 55643 54875 -1.4% 1.01x (?)
DictionarySwap 5640 5465 -3.1% 1.03x (?)
DictionarySwapOfObjects 19863 19893 +0.2% 1.00x (?)
DropFirstAnyCollection 19491 18813 -3.5% 1.04x
DropFirstAnyCollectionLazy 139278 139254 -0.0% 1.00x (?)
DropFirstAnySeqCRangeIter 30073 29008 -3.5% 1.04x
DropFirstAnySeqCRangeIterLazy 30381 29370 -3.3% 1.03x
DropFirstAnySeqCntRange 19387 18896 -2.5% 1.03x
DropFirstAnySeqCntRangeLazy 19494 18948 -2.8% 1.03x
DropFirstAnySequence 13943 13989 +0.3% 1.00x
DropFirstAnySequenceLazy 14128 14275 +1.0% 0.99x (?)
DropFirstArray 6436 6187 -3.9% 1.04x
DropFirstArrayLazy 46659 45159 -3.2% 1.03x (?)
DropFirstCountableRange 340 336 -1.2% 1.01x
DropFirstCountableRangeLazy 38576 37096 -3.8% 1.04x
DropFirstSequence 12834 12930 +0.7% 0.99x
DropFirstSequenceLazy 12953 13078 +1.0% 0.99x
DropLastAnyCollection 6513 6263 -3.8% 1.04x (?)
DropLastAnyCollectionLazy 45693 45563 -0.3% 1.00x (?)
DropLastAnySeqCRangeIter 43836 43218 -1.4% 1.01x (?)
DropLastAnySeqCRangeIterLazy 43639 43066 -1.3% 1.01x
DropLastAnySeqCntRange 6511 6305 -3.2% 1.03x
DropLastAnySeqCntRangeLazy 6534 6285 -3.8% 1.04x
DropLastAnySequence 29219 29119 -0.3% 1.00x (?)
DropLastAnySequenceLazy 29046 29011 -0.1% 1.00x (?)
DropLastArray 2156 2073 -3.8% 1.04x
DropLastArrayLazy 15410 15070 -2.2% 1.02x
DropLastCountableRange 117 117 +0.0% 1.00x
DropLastSequence 28745 28739 -0.0% 1.00x (?)
DropLastSequenceLazy 28802 28998 +0.7% 0.99x (?)
DropWhileAnyCollection 25198 24342 -3.4% 1.04x (?)
DropWhileAnyCollectionLazy 27989 26931 -3.8% 1.04x (?)
DropWhileAnySeqCRangeIter 32310 31426 -2.7% 1.03x
DropWhileAnySeqCRangeIterLazy 27413 27048 -1.3% 1.01x
DropWhileAnySeqCntRange 25189 24349 -3.3% 1.03x
DropWhileAnySeqCntRangeLazy 27676 27234 -1.6% 1.02x
DropWhileAnySequence 16072 16260 +1.2% 0.99x
DropWhileAnySequenceLazy 12424 12387 -0.3% 1.00x
DropWhileArray 9951 9772 -1.8% 1.02x
DropWhileArrayLazy 17089 16858 -1.4% 1.01x
DropWhileCountableRange 6121 5991 -2.1% 1.02x
DropWhileCountableRangeLazy 26333 25867 -1.8% 1.02x
DropWhileSequence 14937 15051 +0.8% 0.99x
DropWhileSequenceLazy 11208 11342 +1.2% 0.99x
ErrorHandling 7060 7003 -0.8% 1.01x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 17581 17453 -0.7% 1.01x
HashTest 14947 15006 +0.4% 1.00x (?)
Histogram 8700 8725 +0.3% 1.00x (?)
Integrate 399 399 +0.0% 1.00x
IterateData 12788 12742 -0.4% 1.00x (?)
Join 1272 1273 +0.1% 1.00x (?)
LazilyFilteredArrays 1698578 1700288 +0.1% 1.00x (?)
LazilyFilteredRange 688715 668158 -3.0% 1.03x
LinkedList 33133 33137 +0.0% 1.00x (?)
MapReduce 37806 37731 -0.2% 1.00x (?)
MapReduceAnyCollection 37773 37775 +0.0% 1.00x (?)
MapReduceAnyCollectionShort 50317 50224 -0.2% 1.00x (?)
MapReduceClass 42887 43127 +0.6% 0.99x
MapReduceClassShort 54134 54270 +0.3% 1.00x (?)
MapReduceLazyCollection 32566 32774 +0.6% 0.99x
MapReduceLazyCollectionShort 44166 44390 +0.5% 0.99x (?)
MapReduceLazySequence 26431 25452 -3.7% 1.04x
MapReduceSequence 41558 41290 -0.6% 1.01x
MapReduceShort 49831 50068 +0.5% 1.00x (?)
MapReduceShortString 276 275 -0.4% 1.00x (?)
MapReduceString 2562 2613 +2.0% 0.98x
Memset 44004 43990 -0.0% 1.00x (?)
MonteCarloE 110026 108108 -1.7% 1.02x
MonteCarloPi 53157 53210 +0.1% 1.00x (?)
NSDictionaryCastToSwift 6630 6582 -0.7% 1.01x (?)
NSError 713 707 -0.8% 1.01x (?)
NSStringConversion 1336 1290 -3.4% 1.04x
ObjectAllocation 1393 1374 -1.4% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25521 25766 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7754 7757 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45069 45168 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38829 38438 -1.0% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 120514 122175 +1.4% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7605 7889 +3.7% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 100331 101544 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 92809 92217 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 67613 67505 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7116 6946 -2.4% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 75950 76854 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 65382 66954 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSString 4038 4076 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSStringForced 2711 2688 -0.8% 1.01x
ObjectiveCBridgeStubDataAppend 3730 3905 +4.7% 0.96x
ObjectiveCBridgeStubDateAccess 1020 1002 -1.8% 1.02x
ObjectiveCBridgeStubFromArrayOfNSString 29161 29480 +1.1% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 4123 4091 -0.8% 1.01x
ObjectiveCBridgeStubFromNSDateRef 4037 4097 +1.5% 0.99x
ObjectiveCBridgeStubFromNSStringRef 208 205 -1.4% 1.01x
ObjectiveCBridgeStubNSDataAppend 2690 2676 -0.5% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 15297 14711 -3.8% 1.04x (?)
ObjectiveCBridgeStubNSDateRefAccess 1210 1209 -0.1% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 29505 29453 -0.2% 1.00x (?)
ObjectiveCBridgeStubToNSDate 14937 15341 +2.7% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3389 3392 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1571 1574 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 149 149 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 231497 228655 -1.2% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 228816 233194 +1.9% 0.98x (?)
ObjectiveCBridgeToNSArray 29242 29234 -0.0% 1.00x (?)
ObjectiveCBridgeToNSDictionary 45410 45769 +0.8% 0.99x (?)
ObjectiveCBridgeToNSSet 39527 40042 +1.3% 0.99x (?)
ObjectiveCBridgeToNSString 1302 1308 +0.5% 1.00x
ObserverClosure 6626 6626 +0.0% 1.00x
ObserverForwarderStruct 4695 4680 -0.3% 1.00x
ObserverPartiallyAppliedMethod 8139 8107 -0.4% 1.00x (?)
ObserverUnappliedMethod 8403 8400 -0.0% 1.00x (?)
OpenClose 393 393 +0.0% 1.00x
Phonebook 24434 24558 +0.5% 0.99x (?)
PolymorphicCalls 2885 2852 -1.1% 1.01x
PopFrontArray 7385 7529 +1.9% 0.98x
PopFrontArrayGeneric 6360 6444 +1.3% 0.99x
PopFrontUnsafePointer 97034 97198 +0.2% 1.00x (?)
PrefixAnyCollection 19513 18774 -3.8% 1.04x
PrefixAnyCollectionLazy 137326 137101 -0.2% 1.00x (?)
PrefixAnySeqCRangeIter 24001 23347 -2.7% 1.03x
PrefixAnySeqCRangeIterLazy 24163 23615 -2.3% 1.02x
PrefixAnySeqCntRange 19393 18909 -2.5% 1.03x (?)
PrefixAnySeqCntRangeLazy 19508 18981 -2.7% 1.03x
PrefixAnySequence 11757 11842 +0.7% 0.99x (?)
PrefixAnySequenceLazy 11797 11859 +0.5% 0.99x
PrefixArray 6429 6195 -3.6% 1.04x
PrefixArrayLazy 46099 45176 -2.0% 1.02x
PrefixCountableRange 339 336 -0.9% 1.01x (?)
PrefixSequence 10789 10765 -0.2% 1.00x (?)
PrefixSequenceLazy 10894 11055 +1.5% 0.99x
PrefixWhileAnyCollection 36628 35627 -2.7% 1.03x
PrefixWhileAnyCollectionLazy 22778 22208 -2.5% 1.03x
PrefixWhileAnySeqCRangeIter 41320 40415 -2.2% 1.02x
PrefixWhileAnySeqCRangeIterLazy 22843 22449 -1.7% 1.02x
PrefixWhileAnySeqCntRange 36700 35563 -3.1% 1.03x (?)
PrefixWhileAnySeqCntRangeLazy 22513 22615 +0.5% 1.00x (?)
PrefixWhileAnySequence 29587 29526 -0.2% 1.00x (?)
PrefixWhileAnySequenceLazy 11634 11689 +0.5% 1.00x (?)
PrefixWhileArray 16892 16870 -0.1% 1.00x (?)
PrefixWhileArrayLazy 15002 14688 -2.1% 1.02x (?)
PrefixWhileCountableRange 17644 17117 -3.0% 1.03x
PrefixWhileCountableRangeLazy 21738 21351 -1.8% 1.02x (?)
PrefixWhileSequence 28604 28335 -0.9% 1.01x
PrefixWhileSequenceLazy 10443 10433 -0.1% 1.00x (?)
Prims 9585 9578 -0.1% 1.00x (?)
ProtocolDispatch 7004 6987 -0.2% 1.00x (?)
ProtocolDispatch2 493 492 -0.2% 1.00x
RC4 19075 19217 +0.7% 0.99x
RGBHistogram 33792 33942 +0.4% 1.00x (?)
RGBHistogramOfObjects 99237 99779 +0.5% 0.99x
RangeAssignment 5762 5739 -0.4% 1.00x (?)
RecursiveOwnedParameter 9572 9658 +0.9% 0.99x
ReversedArray 44603 43890 -1.6% 1.02x (?)
ReversedBidirectional 75352 74799 -0.7% 1.01x (?)
ReversedDictionary 26535 26683 +0.6% 0.99x
SetExclusiveOr 21407 21201 -1.0% 1.01x
SetExclusiveOr_OfObjects 41186 41222 +0.1% 1.00x (?)
SetIntersect 10802 10638 -1.5% 1.02x
SetIntersect_OfObjects 11186 11140 -0.4% 1.00x (?)
SetIsSubsetOf 1639 1621 -1.1% 1.01x
SetIsSubsetOf_OfObjects 1527 1522 -0.3% 1.00x
SetUnion 12314 12216 -0.8% 1.01x
SetUnion_OfObjects 29632 29709 +0.3% 1.00x
SevenBoom 1602 1591 -0.7% 1.01x (?)
Sim2DArray 30039 30017 -0.1% 1.00x
SortLargeExistentials 17686 17784 +0.6% 0.99x (?)
SortLettersInPlace 2858 2857 -0.0% 1.00x (?)
SortSortedStrings 1407 1405 -0.1% 1.00x
SortStrings 2468 2488 +0.8% 0.99x
SortStringsUnicode 8985 8828 -1.7% 1.02x
StackPromo 100592 99847 -0.7% 1.01x (?)
StaticArray 4646 4564 -1.8% 1.02x
StrComplexWalk 6947 6972 +0.4% 1.00x
StrToInt 97154 97847 +0.7% 0.99x (?)
StringBuilder 7350 7232 -1.6% 1.02x
StringBuilderLong 1135 1090 -4.0% 1.04x (?)
StringEdits 500171 509513 +1.9% 0.98x (?)
StringEqualPointerComparison 9578 9790 +2.2% 0.98x
StringHasPrefix 1798 1727 -3.9% 1.04x
StringHasPrefixUnicode 16356 15810 -3.3% 1.03x
StringHasSuffix 1931 1873 -3.0% 1.03x
StringHasSuffixUnicode 64000 63423 -0.9% 1.01x
StringInterpolation 14311 14400 +0.6% 0.99x (?)
StringMatch 31279 31980 +2.2% 0.98x
StringUTF16Builder 8217 8221 +0.0% 1.00x (?)
StringWalk 4135 4109 -0.6% 1.01x (?)
SuffixAnyCollection 6510 6251 -4.0% 1.04x
SuffixAnyCollectionLazy 45900 45751 -0.3% 1.00x (?)
SuffixAnySeqCRangeIter 41644 40924 -1.7% 1.02x (?)
SuffixAnySeqCRangeIterLazy 41203 40573 -1.5% 1.02x
SuffixAnySeqCntRange 6477 6343 -2.1% 1.02x
SuffixAnySeqCntRangeLazy 6514 6272 -3.7% 1.04x
SuffixAnySequence 26937 26933 -0.0% 1.00x (?)
SuffixAnySequenceLazy 26861 26848 -0.0% 1.00x (?)
SuffixArray 2124 2070 -2.5% 1.03x
SuffixArrayLazy 15412 15074 -2.2% 1.02x (?)
SuffixCountableRange 118 117 -0.8% 1.01x
SuffixSequence 26559 26548 -0.0% 1.00x (?)
SuffixSequenceLazy 26571 26783 +0.8% 0.99x (?)
SuperChars 212916 212874 -0.0% 1.00x (?)
TwoSum 4380 4312 -1.6% 1.02x
TypeFlood 172 171 -0.6% 1.01x (?)
UTF8Decode 37327 36941 -1.0% 1.01x
Walsh 11938 12003 +0.5% 0.99x
XorLoop 23706 23705 -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

@@ -38,8 +39,11 @@ extension String.Index : Comparable {
extension String.Index {
internal typealias _Self = String.Index

public init(encodedOffset o: Int) {
_compoundOffset = UInt64(o << _Self._strideBits)
/// Creates a new index at the specified UTF-16 offset.
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

FYI, I aim to decouple this stuff from UTF-16 eventually. That is really meant to be a code unit offset in some arbitrary encoding. I'd have labeled it utf16Offset otherwise.

@dabrahams
Copy link
Collaborator Author

@swift-ci Please benchmark

@dabrahams
Copy link
Collaborator Author

@swift-ci Please test

@swift-ci
Copy link
Collaborator

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 5fe135e
Test requested by - @dabrahams

@swift-ci
Copy link
Collaborator

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 5fe135e
Test requested by - @dabrahams

@swift-ci
Copy link
Collaborator

Build comment file:

Optimized (O)

Regression (10)
TEST OLD NEW DELTA SPEEDUP
CStringLongNonAscii 2213 2874 +29.9% 0.77x
MapReduceString 106 134 +26.4% 0.79x
MapReduceShortString 20 25 +25.0% 0.80x
StringFromLongWholeSubstring 14694 18336 +24.8% 0.80x
DropLastArray 7 8 +14.3% 0.88x
Integrate 247 275 +11.3% 0.90x
DictionaryRemove 2346 2605 +11.0% 0.90x
IterateData 664 715 +7.7% 0.93x
MapReduceLazyCollection 14 15 +7.1% 0.93x
ObjectiveCBridgeStubNSDateMutationRef 11205 11860 +5.8% 0.94x (?)
Improvement (21)
TEST OLD NEW DELTA SPEEDUP
SubstringFromLongString 149 10 -93.3% 14.90x
SubstringFromLongStringGeneric 321 70 -78.2% 4.59x
ArrayAppendAscii 21849 9365 -57.1% 2.33x
StringFromLongWholeSubstringGeneric 207 128 -38.2% 1.62x
NopDeinit 28438 21592 -24.1% 1.32x
ArrayAppendLatin1 40984 31345 -23.5% 1.31x
ArrayAppendUTF16 38496 30565 -20.6% 1.26x
CStringLongAscii 4947 4115 -16.8% 1.20x
CStringShortAscii 5442 4725 -13.2% 1.15x
SuffixArrayLazy 8 7 -12.5% 1.14x
DropLastArrayLazy 8 7 -12.5% 1.14x
SuffixArray 8 7 -12.5% 1.14x
StringWithCString 131858 115384 -12.5% 1.14x
ProtocolDispatch 2573 2287 -11.1% 1.13x
StrToInt 2221 2038 -8.2% 1.09x
DictionarySwap 432 405 -6.2% 1.07x
Calculator 33 31 -6.1% 1.06x (?)
DropWhileAnySeqCRangeIter 21631 20344 -5.9% 1.06x
OpenClose 51 48 -5.9% 1.06x
ProtocolDispatch2 159 151 -5.0% 1.05x
PolymorphicCalls 20 19 -5.0% 1.05x
No Changes (241)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2791 2795 +0.1% 1.00x (?)
AnyHashableWithAClass 62725 62615 -0.2% 1.00x (?)
Array2D 1937 1942 +0.3% 1.00x (?)
ArrayAppend 726 726 +0.0% 1.00x
ArrayAppendArrayOfInt 563 563 +0.0% 1.00x
ArrayAppendFromGeneric 563 563 +0.0% 1.00x
ArrayAppendGenericStructs 1136 1136 +0.0% 1.00x
ArrayAppendLazyMap 884 883 -0.1% 1.00x (?)
ArrayAppendOptionals 1135 1136 +0.1% 1.00x (?)
ArrayAppendRepeatCol 790 790 +0.0% 1.00x
ArrayAppendReserved 502 503 +0.2% 1.00x (?)
ArrayAppendSequence 890 890 +0.0% 1.00x
ArrayAppendStrings 12833 12816 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 563 563 +0.0% 1.00x
ArrayAppendToGeneric 563 562 -0.2% 1.00x (?)
ArrayInClass 60 58 -3.3% 1.03x (?)
ArrayLiteral 1162 1155 -0.6% 1.01x (?)
ArrayOfGenericPOD 207 207 +0.0% 1.00x
ArrayOfGenericRef 3763 3766 +0.1% 1.00x (?)
ArrayOfPOD 156 156 +0.0% 1.00x
ArrayOfRef 3672 3691 +0.5% 0.99x (?)
ArrayPlusEqualArrayOfInt 563 562 -0.2% 1.00x (?)
ArrayPlusEqualFiveElementCollection 4164 4160 -0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 726 726 +0.0% 1.00x
ArrayPlusEqualThreeElements 1502 1498 -0.3% 1.00x (?)
ArraySubscript 1390 1391 +0.1% 1.00x (?)
ArrayValueProp 5 5 +0.0% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
ArrayValueProp3 5 5 +0.0% 1.00x
ArrayValueProp4 5 5 +0.0% 1.00x
BitCount 12 12 +0.0% 1.00x
ByteSwap 0 0 +0.0% 1.00x
CaptureProp 4287 4438 +3.5% 0.97x (?)
CharacterLiteralsLarge 8198 8389 +2.3% 0.98x
CharacterLiteralsSmall 294 294 +0.0% 1.00x
Chars 1817 1827 +0.6% 0.99x
ClassArrayGetter 12 12 +0.0% 1.00x
DeadArray 171 173 +1.2% 0.99x (?)
Dictionary 546 546 +0.0% 1.00x
Dictionary2 1714 1724 +0.6% 0.99x (?)
Dictionary2OfObjects 3147 3167 +0.6% 0.99x (?)
Dictionary3 441 443 +0.5% 1.00x
Dictionary3OfObjects 848 844 -0.5% 1.00x (?)
DictionaryBridge 2493 2469 -1.0% 1.01x (?)
DictionaryLiteral 1401 1400 -0.1% 1.00x (?)
DictionaryOfObjects 2205 2210 +0.2% 1.00x (?)
DictionaryRemoveOfObjects 22008 21960 -0.2% 1.00x (?)
DictionarySwapOfObjects 6472 6530 +0.9% 0.99x (?)
DropFirstAnyCollection 53 53 +0.0% 1.00x
DropFirstAnyCollectionLazy 42472 42454 -0.0% 1.00x (?)
DropFirstAnySeqCRangeIter 26596 25425 -4.4% 1.05x
DropFirstAnySeqCRangeIterLazy 26588 25428 -4.4% 1.05x (?)
DropFirstAnySeqCntRange 48 48 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 48 48 +0.0% 1.00x
DropFirstAnySequence 6605 6483 -1.8% 1.02x (?)
DropFirstAnySequenceLazy 6605 6465 -2.1% 1.02x
DropFirstArray 23 23 +0.0% 1.00x
DropFirstArrayLazy 23 23 +0.0% 1.00x
DropFirstCountableRange 30 30 +0.0% 1.00x
DropFirstCountableRangeLazy 30 30 +0.0% 1.00x
DropFirstSequence 2892 2892 +0.0% 1.00x
DropFirstSequenceLazy 2856 2856 +0.0% 1.00x
DropLastAnyCollection 21 21 +0.0% 1.00x
DropLastAnyCollectionLazy 14156 14162 +0.0% 1.00x (?)
DropLastAnySeqCRangeIter 4345 4353 +0.2% 1.00x
DropLastAnySeqCRangeIterLazy 4345 4366 +0.5% 1.00x (?)
DropLastAnySeqCntRange 15 15 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 15 15 +0.0% 1.00x
DropLastAnySequence 6415 6369 -0.7% 1.01x (?)
DropLastAnySequenceLazy 6227 6170 -0.9% 1.01x
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropLastSequence 545 543 -0.4% 1.00x (?)
DropLastSequenceLazy 545 544 -0.2% 1.00x (?)
DropWhileAnyCollection 65 65 +0.0% 1.00x
DropWhileAnyCollectionLazy 97 97 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 97 97 +0.0% 1.00x
DropWhileAnySeqCntRange 60 60 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 97 97 +0.0% 1.00x
DropWhileAnySequence 7174 7140 -0.5% 1.00x (?)
DropWhileAnySequenceLazy 1917 1917 +0.0% 1.00x
DropWhileArray 35 35 +0.0% 1.00x
DropWhileArrayLazy 73 73 +0.0% 1.00x
DropWhileCountableRange 34 34 +0.0% 1.00x
DropWhileCountableRangeLazy 64 64 +0.0% 1.00x
DropWhileSequence 2947 2947 +0.0% 1.00x
DropWhileSequenceLazy 61 61 +0.0% 1.00x
ErrorHandling 2865 2869 +0.1% 1.00x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3219 3191 -0.9% 1.01x (?)
HashTest 1660 1635 -1.5% 1.02x (?)
Histogram 281 282 +0.4% 1.00x (?)
Join 423 421 -0.5% 1.00x (?)
LazilyFilteredArrays 61929 61982 +0.1% 1.00x (?)
LazilyFilteredRange 3656 3656 +0.0% 1.00x
LinkedList 6700 6700 +0.0% 1.00x
MapReduce 288 287 -0.3% 1.00x (?)
MapReduceAnyCollection 312 313 +0.3% 1.00x (?)
MapReduceAnyCollectionShort 1892 1887 -0.3% 1.00x (?)
MapReduceClass 2876 2890 +0.5% 1.00x (?)
MapReduceClassShort 4289 4256 -0.8% 1.01x (?)
MapReduceLazyCollectionShort 42 41 -2.4% 1.02x
MapReduceLazySequence 85 85 +0.0% 1.00x
MapReduceSequence 425 424 -0.2% 1.00x (?)
MapReduceShort 1791 1799 +0.4% 1.00x (?)
Memset 221 220 -0.5% 1.00x (?)
MonteCarloE 9548 9497 -0.5% 1.01x
MonteCarloPi 41589 41501 -0.2% 1.00x (?)
NSDictionaryCastToSwift 5155 4975 -3.5% 1.04x (?)
NSError 274 275 +0.4% 1.00x (?)
NSStringConversion 723 723 +0.0% 1.00x
ObjectAllocation 169 169 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 22132 22096 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4236 4213 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 41606 41529 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 35714 35453 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 110455 110854 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4862 4822 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 91151 90787 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 83890 84217 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 60642 60500 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 3929 3930 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 67516 67262 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 58985 59290 +0.5% 0.99x (?)
ObjectiveCBridgeFromNSString 1343 1327 -1.2% 1.01x
ObjectiveCBridgeFromNSStringForced 2225 2230 +0.2% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3521 3473 -1.4% 1.01x (?)
ObjectiveCBridgeStubDateAccess 171 171 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 257 257 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 27552 27379 -0.6% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 3552 3436 -3.3% 1.03x
ObjectiveCBridgeStubFromNSDateRef 3408 3343 -1.9% 1.02x
ObjectiveCBridgeStubFromNSString 906 873 -3.6% 1.04x
ObjectiveCBridgeStubFromNSStringRef 168 170 +1.2% 0.99x (?)
ObjectiveCBridgeStubNSDataAppend 2167 2140 -1.2% 1.01x (?)
ObjectiveCBridgeStubNSDateRefAccess 323 322 -0.3% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 27298 26948 -1.3% 1.01x (?)
ObjectiveCBridgeStubToNSDate 13978 13754 -1.6% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3162 3164 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1429 1428 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 102 102 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 207903 203690 -2.0% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 209904 202756 -3.4% 1.04x (?)
ObjectiveCBridgeToNSArray 27415 27427 +0.0% 1.00x (?)
ObjectiveCBridgeToNSDictionary 42544 42597 +0.1% 1.00x (?)
ObjectiveCBridgeToNSSet 37472 37283 -0.5% 1.01x (?)
ObjectiveCBridgeToNSString 1200 1201 +0.1% 1.00x (?)
ObserverClosure 2145 2157 +0.6% 0.99x (?)
ObserverForwarderStruct 1046 1046 +0.0% 1.00x
ObserverPartiallyAppliedMethod 3573 3604 +0.9% 0.99x (?)
ObserverUnappliedMethod 2472 2568 +3.9% 0.96x (?)
Phonebook 6730 6509 -3.3% 1.03x
PopFrontArray 1034 1034 +0.0% 1.00x
PopFrontArrayGeneric 1034 1035 +0.1% 1.00x (?)
PopFrontUnsafePointer 8461 8459 -0.0% 1.00x (?)
PrefixAnyCollection 53 53 +0.0% 1.00x
PrefixAnyCollectionLazy 42520 42336 -0.4% 1.00x (?)
PrefixAnySeqCRangeIter 20808 20231 -2.8% 1.03x
PrefixAnySeqCRangeIterLazy 20819 20227 -2.8% 1.03x
PrefixAnySeqCntRange 48 48 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 48 48 +0.0% 1.00x
PrefixAnySequence 5881 5768 -1.9% 1.02x (?)
PrefixAnySequenceLazy 5900 5765 -2.3% 1.02x (?)
PrefixArray 23 23 +0.0% 1.00x
PrefixArrayLazy 23 23 +0.0% 1.00x
PrefixCountableRange 30 30 +0.0% 1.00x
PrefixCountableRangeLazy 30 30 +0.0% 1.00x
PrefixSequence 2395 2519 +5.2% 0.95x
PrefixSequenceLazy 2469 2469 +0.0% 1.00x
PrefixWhileAnyCollection 91 90 -1.1% 1.01x (?)
PrefixWhileAnyCollectionLazy 71 71 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 11780 11892 +1.0% 0.99x
PrefixWhileAnySeqCRangeIterLazy 71 71 +0.0% 1.00x
PrefixWhileAnySeqCntRange 85 85 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixWhileAnySequence 13247 13203 -0.3% 1.00x (?)
PrefixWhileAnySequenceLazy 1408 1407 -0.1% 1.00x (?)
PrefixWhileArray 58 58 +0.0% 1.00x
PrefixWhileArrayLazy 47 47 +0.0% 1.00x
PrefixWhileCountableRange 34 34 +0.0% 1.00x
PrefixWhileCountableRangeLazy 30 30 +0.0% 1.00x
PrefixWhileSequence 294 292 -0.7% 1.01x (?)
PrefixWhileSequenceLazy 26 26 +0.0% 1.00x
Prims 723 720 -0.4% 1.00x (?)
RC4 151 151 +0.0% 1.00x
RGBHistogram 2292 2267 -1.1% 1.01x (?)
RGBHistogramOfObjects 22690 22695 +0.0% 1.00x (?)
RangeAssignment 288 292 +1.4% 0.99x (?)
RecursiveOwnedParameter 2198 2197 -0.0% 1.00x (?)
ReversedArray 47 46 -2.1% 1.02x (?)
ReversedBidirectional 27440 27843 +1.5% 0.99x (?)
ReversedDictionary 100 100 +0.0% 1.00x
SetExclusiveOr 2908 2906 -0.1% 1.00x (?)
SetExclusiveOr_OfObjects 9020 8973 -0.5% 1.01x (?)
SetIntersect 266 264 -0.8% 1.01x (?)
SetIntersect_OfObjects 1625 1619 -0.4% 1.00x (?)
SetIsSubsetOf 270 275 +1.9% 0.98x
SetIsSubsetOf_OfObjects 338 338 +0.0% 1.00x
SetUnion 2616 2589 -1.0% 1.01x (?)
SetUnion_OfObjects 7589 7540 -0.6% 1.01x (?)
SevenBoom 1389 1387 -0.1% 1.00x (?)
Sim2DArray 260 261 +0.4% 1.00x (?)
SortLargeExistentials 7546 7501 -0.6% 1.01x (?)
SortLettersInPlace 1082 1084 +0.2% 1.00x (?)
SortSortedStrings 830 801 -3.5% 1.04x
SortStrings 1596 1548 -3.0% 1.03x (?)
SortStringsUnicode 7177 7235 +0.8% 0.99x (?)
StackPromo 21303 21205 -0.5% 1.00x
StaticArray 17 17 +0.0% 1.00x
StrComplexWalk 680 679 -0.1% 1.00x (?)
StringAdder 0 0 +0.0% 1.00x
StringBuilder 1305 1269 -2.8% 1.03x (?)
StringBuilderLong 918 882 -3.9% 1.04x (?)
StringEdits 205677 202715 -1.4% 1.01x (?)
StringEqualPointerComparison 6951 6929 -0.3% 1.00x (?)
StringHasPrefix 31 31 +0.0% 1.00x
StringHasPrefixUnicode 13686 14133 +3.3% 0.97x
StringHasSuffix 31 31 +0.0% 1.00x
StringHasSuffixUnicode 58096 58272 +0.3% 1.00x
StringInterpolation 10628 10658 +0.3% 1.00x (?)
StringMatch 8975 9049 +0.8% 0.99x (?)
StringUTF16Builder 2079 2036 -2.1% 1.02x
StringWalk 1200 1195 -0.4% 1.00x (?)
SuffixAnyCollection 21 21 +0.0% 1.00x
SuffixAnyCollectionLazy 14124 14131 +0.0% 1.00x (?)
SuffixAnySeqCRangeIter 4649 4662 +0.3% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4649 4671 +0.5% 1.00x
SuffixAnySeqCntRange 15 15 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 15 15 +0.0% 1.00x
SuffixAnySequence 6298 6344 +0.7% 0.99x
SuffixAnySequenceLazy 6263 6187 -1.2% 1.01x
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 4233 4197 -0.9% 1.01x
SuffixSequenceLazy 4231 4196 -0.8% 1.01x
SuperChars 94910 94547 -0.4% 1.00x (?)
TwoSum 923 905 -2.0% 1.02x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 240 239 -0.4% 1.00x (?)
Walsh 338 337 -0.3% 1.00x (?)
XorLoop 327 327 +0.0% 1.00x
**Unoptimized (Onone)**
Regression (5)
TEST OLD NEW DELTA SPEEDUP
ArrayAppendUTF16 77187 156336 +102.5% 0.49x
ArrayAppendLatin1 79095 159196 +101.3% 0.50x
CStringLongNonAscii 2292 2971 +29.6% 0.77x
StringFromLongWholeSubstring 14771 18505 +25.3% 0.80x
ObjectiveCBridgeStubDateAccess 946 998 +5.5% 0.95x
Improvement (17)
TEST OLD NEW DELTA SPEEDUP
SubstringFromLongString 167 12 -92.8% 13.92x
SubstringFromLongStringGeneric 373 103 -72.4% 3.62x
StringFromLongWholeSubstringGeneric 255 142 -44.3% 1.80x
ArrayAppendAscii 57901 47040 -18.8% 1.23x
CStringLongAscii 5066 4170 -17.7% 1.21x
StringWithCString 131907 115410 -12.5% 1.14x
NopDeinit 50297 45241 -10.1% 1.11x
StringAdder 45 41 -8.9% 1.10x
CStringShortAscii 9028 8264 -8.5% 1.09x
DropLastAnyCollectionLazy 44728 42110 -5.9% 1.06x
PrefixAnyCollectionLazy 134190 126612 -5.6% 1.06x
SuffixAnySeqCRangeIterLazy 40655 38421 -5.5% 1.06x
SuperChars 211621 200227 -5.4% 1.06x (?)
DropWhileAnySeqCRangeIterLazy 26684 25343 -5.0% 1.05x
SuffixAnySeqCRangeIter 40762 38770 -4.9% 1.05x
DropWhileAnySeqCRangeIter 30786 29295 -4.8% 1.05x
PrefixCountableRangeLazy 36520 34757 -4.8% 1.05x
No Changes (250)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4652 4643 -0.2% 1.00x (?)
AnyHashableWithAClass 79736 79612 -0.2% 1.00x
Array2D 574095 574224 +0.0% 1.00x (?)
ArrayAppend 3682 3569 -3.1% 1.03x
ArrayAppendArrayOfInt 614 614 +0.0% 1.00x
ArrayAppendFromGeneric 616 616 +0.0% 1.00x
ArrayAppendGenericStructs 1192 1193 +0.1% 1.00x (?)
ArrayAppendLazyMap 201600 198127 -1.7% 1.02x
ArrayAppendOptionals 1193 1193 +0.0% 1.00x
ArrayAppendRepeatCol 205474 205400 -0.0% 1.00x (?)
ArrayAppendReserved 3334 3346 +0.4% 1.00x
ArrayAppendSequence 73126 69758 -4.6% 1.05x
ArrayAppendStrings 12859 12882 +0.2% 1.00x (?)
ArrayAppendToFromGeneric 616 616 +0.0% 1.00x
ArrayAppendToGeneric 617 618 +0.2% 1.00x (?)
ArrayInClass 4469 4469 +0.0% 1.00x
ArrayLiteral 1647 1644 -0.2% 1.00x (?)
ArrayOfGenericPOD 2899 2902 +0.1% 1.00x
ArrayOfGenericRef 9053 9053 +0.0% 1.00x
ArrayOfPOD 1728 1728 +0.0% 1.00x
ArrayOfRef 8270 8358 +1.1% 0.99x
ArrayPlusEqualArrayOfInt 615 615 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 278743 279422 +0.2% 1.00x (?)
ArrayPlusEqualSingleElementCollection 274513 274920 +0.1% 1.00x (?)
ArrayPlusEqualThreeElements 9984 9966 -0.2% 1.00x (?)
ArraySubscript 3929 3929 +0.0% 1.00x
ArrayValueProp 3347 3337 -0.3% 1.00x (?)
ArrayValueProp2 17625 17310 -1.8% 1.02x
ArrayValueProp3 3706 3710 +0.1% 1.00x (?)
ArrayValueProp4 3642 3597 -1.2% 1.01x
BitCount 164 164 +0.0% 1.00x
ByteSwap 26 26 +0.0% 1.00x
Calculator 1074 1046 -2.6% 1.03x
CaptureProp 102666 104527 +1.8% 0.98x
CharacterLiteralsLarge 9774 9514 -2.7% 1.03x
CharacterLiteralsSmall 944 945 +0.1% 1.00x
Chars 50094 48109 -4.0% 1.04x
ClassArrayGetter 876 876 +0.0% 1.00x
DeadArray 115444 112819 -2.3% 1.02x (?)
Dictionary 2877 2912 +1.2% 0.99x (?)
Dictionary2 3326 3323 -0.1% 1.00x (?)
Dictionary2OfObjects 5531 5485 -0.8% 1.01x (?)
Dictionary3 1278 1276 -0.2% 1.00x (?)
Dictionary3OfObjects 2111 2119 +0.4% 1.00x (?)
DictionaryBridge 2590 2564 -1.0% 1.01x (?)
DictionaryLiteral 7754 7758 +0.1% 1.00x (?)
DictionaryOfObjects 5666 5688 +0.4% 1.00x (?)
DictionaryRemove 20204 20066 -0.7% 1.01x
DictionaryRemoveOfObjects 52289 51879 -0.8% 1.01x (?)
DictionarySwap 5223 5193 -0.6% 1.01x (?)
DictionarySwapOfObjects 18824 18516 -1.6% 1.02x
DropFirstAnyCollection 18115 17839 -1.5% 1.02x
DropFirstAnyCollectionLazy 128163 127747 -0.3% 1.00x (?)
DropFirstAnySeqCRangeIter 27836 27445 -1.4% 1.01x
DropFirstAnySeqCRangeIterLazy 28274 27458 -2.9% 1.03x
DropFirstAnySeqCntRange 17894 17875 -0.1% 1.00x (?)
DropFirstAnySeqCntRangeLazy 18112 17719 -2.2% 1.02x
DropFirstAnySequence 13151 13384 +1.8% 0.98x
DropFirstAnySequenceLazy 13337 13286 -0.4% 1.00x
DropFirstArray 6079 5960 -2.0% 1.02x
DropFirstArrayLazy 42831 42505 -0.8% 1.01x
DropFirstCountableRange 318 318 +0.0% 1.00x
DropFirstCountableRangeLazy 36176 34778 -3.9% 1.04x (?)
DropFirstSequence 12241 12176 -0.5% 1.01x
DropFirstSequenceLazy 12183 12310 +1.0% 0.99x
DropLastAnyCollection 6059 5969 -1.5% 1.02x (?)
DropLastAnySeqCRangeIter 41571 41191 -0.9% 1.01x (?)
DropLastAnySeqCRangeIterLazy 41231 40817 -1.0% 1.01x (?)
DropLastAnySeqCntRange 6015 6070 +0.9% 0.99x
DropLastAnySeqCntRangeLazy 6063 5890 -2.9% 1.03x
DropLastAnySequence 27789 27598 -0.7% 1.01x (?)
DropLastAnySequenceLazy 27446 27379 -0.2% 1.00x
DropLastArray 2032 1994 -1.9% 1.02x
DropLastArrayLazy 14232 14170 -0.4% 1.00x (?)
DropLastCountableRange 110 111 +0.9% 0.99x
DropLastCountableRangeLazy 12092 11659 -3.6% 1.04x
DropLastSequence 27046 27278 +0.9% 0.99x
DropLastSequenceLazy 27240 27438 +0.7% 0.99x (?)
DropWhileAnyCollection 23482 22873 -2.6% 1.03x (?)
DropWhileAnyCollectionLazy 26427 25265 -4.4% 1.05x
DropWhileAnySeqCntRange 23594 22881 -3.0% 1.03x
DropWhileAnySeqCntRangeLazy 26351 25481 -3.3% 1.03x
DropWhileAnySequence 15564 15283 -1.8% 1.02x (?)
DropWhileAnySequenceLazy 11751 11689 -0.5% 1.01x
DropWhileArray 9595 9386 -2.2% 1.02x
DropWhileArrayLazy 16299 15941 -2.2% 1.02x
DropWhileCountableRange 5844 5669 -3.0% 1.03x
DropWhileCountableRangeLazy 24985 24535 -1.8% 1.02x
DropWhileSequence 14146 14365 +1.5% 0.98x
DropWhileSequenceLazy 10693 10582 -1.0% 1.01x (?)
ErrorHandling 6610 6565 -0.7% 1.01x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 16551 16491 -0.4% 1.00x
HashTest 14244 14142 -0.7% 1.01x
Histogram 8444 8197 -2.9% 1.03x
Integrate 376 377 +0.3% 1.00x (?)
IterateData 12059 12064 +0.0% 1.00x (?)
Join 1204 1205 +0.1% 1.00x (?)
LazilyFilteredArrays 1618679 1599736 -1.2% 1.01x (?)
LazilyFilteredRange 639576 624278 -2.4% 1.02x
LinkedList 31307 31280 -0.1% 1.00x
MapReduce 35653 35726 +0.2% 1.00x (?)
MapReduceAnyCollection 35650 35612 -0.1% 1.00x (?)
MapReduceAnyCollectionShort 47366 47794 +0.9% 0.99x (?)
MapReduceClass 40647 40695 +0.1% 1.00x (?)
MapReduceClassShort 51211 51091 -0.2% 1.00x (?)
MapReduceLazyCollection 31080 30976 -0.3% 1.00x
MapReduceLazyCollectionShort 42016 41961 -0.1% 1.00x (?)
MapReduceLazySequence 25047 24026 -4.1% 1.04x
MapReduceSequence 38995 39096 +0.3% 1.00x (?)
MapReduceShort 47262 47095 -0.4% 1.00x (?)
MapReduceShortString 261 257 -1.5% 1.02x (?)
MapReduceString 2422 2453 +1.3% 0.99x
Memset 41503 41500 -0.0% 1.00x (?)
MonteCarloE 103128 102295 -0.8% 1.01x
MonteCarloPi 50235 50168 -0.1% 1.00x (?)
NSDictionaryCastToSwift 6276 6066 -3.3% 1.03x (?)
NSError 658 670 +1.8% 0.98x (?)
NSStringConversion 1236 1240 +0.3% 1.00x (?)
ObjectAllocation 1318 1315 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 24353 23800 -2.3% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7332 7380 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 42968 42712 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 36499 36727 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 114800 114835 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 6907 7073 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 98414 94046 -4.4% 1.05x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 88424 86030 -2.7% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObject 64214 63544 -1.0% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 6564 6778 +3.3% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 73146 72075 -1.5% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62415 62155 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSString 3831 3773 -1.5% 1.02x (?)
ObjectiveCBridgeFromNSStringForced 2569 2571 +0.1% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3521 3475 -1.3% 1.01x (?)
ObjectiveCBridgeStubDateMutation 487 492 +1.0% 0.99x
ObjectiveCBridgeStubFromArrayOfNSString 28087 27514 -2.0% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 4001 3836 -4.1% 1.04x
ObjectiveCBridgeStubFromNSDateRef 3811 3836 +0.7% 0.99x
ObjectiveCBridgeStubFromNSString 917 927 +1.1% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 196 194 -1.0% 1.01x
ObjectiveCBridgeStubNSDataAppend 2603 2509 -3.6% 1.04x (?)
ObjectiveCBridgeStubNSDateMutationRef 14691 14486 -1.4% 1.01x (?)
ObjectiveCBridgeStubNSDateRefAccess 1145 1138 -0.6% 1.01x
ObjectiveCBridgeStubToArrayOfNSString 27231 27653 +1.5% 0.98x (?)
ObjectiveCBridgeStubToNSDate 14370 14213 -1.1% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3210 3196 -0.4% 1.00x (?)
ObjectiveCBridgeStubToNSString 1485 1484 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 141 141 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 210494 208429 -1.0% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 208247 214845 +3.2% 0.97x (?)
ObjectiveCBridgeToNSArray 26903 27694 +2.9% 0.97x (?)
ObjectiveCBridgeToNSDictionary 43362 42760 -1.4% 1.01x (?)
ObjectiveCBridgeToNSSet 37859 37662 -0.5% 1.01x (?)
ObjectiveCBridgeToNSString 1235 1236 +0.1% 1.00x (?)
ObserverClosure 6263 6272 +0.1% 1.00x (?)
ObserverForwarderStruct 4414 4404 -0.2% 1.00x (?)
ObserverPartiallyAppliedMethod 7667 7658 -0.1% 1.00x (?)
ObserverUnappliedMethod 7913 7953 +0.5% 0.99x (?)
OpenClose 371 383 +3.2% 0.97x
Phonebook 20754 20953 +1.0% 0.99x (?)
PolymorphicCalls 2700 2709 +0.3% 1.00x (?)
PopFrontArray 7056 7033 -0.3% 1.00x (?)
PopFrontArrayGeneric 6033 6125 +1.5% 0.98x (?)
PopFrontUnsafePointer 91701 91615 -0.1% 1.00x (?)
PrefixAnyCollection 18186 17848 -1.9% 1.02x
PrefixAnySeqCRangeIter 22549 21983 -2.5% 1.03x
PrefixAnySeqCRangeIterLazy 22541 22399 -0.6% 1.01x (?)
PrefixAnySeqCntRange 17943 18143 +1.1% 0.99x
PrefixAnySeqCntRangeLazy 18160 17675 -2.7% 1.03x
PrefixAnySequence 11085 11080 -0.0% 1.00x (?)
PrefixAnySequenceLazy 11143 11284 +1.3% 0.99x
PrefixArray 5952 5959 +0.1% 1.00x (?)
PrefixArrayLazy 42835 42521 -0.7% 1.01x
PrefixCountableRange 318 319 +0.3% 1.00x
PrefixSequence 10119 10146 +0.3% 1.00x
PrefixSequenceLazy 10267 10421 +1.5% 0.99x (?)
PrefixWhileAnyCollection 34493 33511 -2.8% 1.03x
PrefixWhileAnyCollectionLazy 21213 21001 -1.0% 1.01x
PrefixWhileAnySeqCRangeIter 38680 37946 -1.9% 1.02x
PrefixWhileAnySeqCRangeIterLazy 21391 20969 -2.0% 1.02x (?)
PrefixWhileAnySeqCntRange 34482 33523 -2.8% 1.03x (?)
PrefixWhileAnySeqCntRangeLazy 21205 21155 -0.2% 1.00x (?)
PrefixWhileAnySequence 27801 27942 +0.5% 0.99x (?)
PrefixWhileAnySequenceLazy 10779 10715 -0.6% 1.01x (?)
PrefixWhileArray 16303 16033 -1.7% 1.02x
PrefixWhileArrayLazy 14017 13850 -1.2% 1.01x
PrefixWhileCountableRange 16828 16283 -3.2% 1.03x
PrefixWhileCountableRangeLazy 20555 20272 -1.4% 1.01x
PrefixWhileSequence 27184 26933 -0.9% 1.01x
PrefixWhileSequenceLazy 9727 9903 +1.8% 0.98x
Prims 9073 9022 -0.6% 1.01x (?)
ProtocolDispatch 6649 6659 +0.2% 1.00x (?)
ProtocolDispatch2 465 464 -0.2% 1.00x (?)
RC4 18499 18123 -2.0% 1.02x
RGBHistogram 32331 31939 -1.2% 1.01x (?)
RGBHistogramOfObjects 93828 93597 -0.2% 1.00x (?)
RangeAssignment 5439 5422 -0.3% 1.00x (?)
RecursiveOwnedParameter 9098 9094 -0.0% 1.00x (?)
ReversedArray 41775 42592 +2.0% 0.98x (?)
ReversedBidirectional 72604 70363 -3.1% 1.03x
ReversedDictionary 24455 24399 -0.2% 1.00x (?)
SetExclusiveOr 20160 19590 -2.8% 1.03x
SetExclusiveOr_OfObjects 38994 38722 -0.7% 1.01x (?)
SetIntersect 10103 9710 -3.9% 1.04x
SetIntersect_OfObjects 10617 10348 -2.5% 1.03x
SetIsSubsetOf 1546 1497 -3.2% 1.03x
SetIsSubsetOf_OfObjects 1446 1398 -3.3% 1.03x
SetUnion 11590 11122 -4.0% 1.04x
SetUnion_OfObjects 27965 27680 -1.0% 1.01x
SevenBoom 1515 1516 +0.1% 1.00x (?)
Sim2DArray 28352 28320 -0.1% 1.00x (?)
SortLargeExistentials 16740 16718 -0.1% 1.00x (?)
SortLettersInPlace 2709 2684 -0.9% 1.01x
SortSortedStrings 1324 1325 +0.1% 1.00x
SortStrings 2309 2293 -0.7% 1.01x
SortStringsUnicode 8374 8530 +1.9% 0.98x
StackPromo 94233 93777 -0.5% 1.00x (?)
StaticArray 4315 4424 +2.5% 0.98x
StrComplexWalk 6485 6521 +0.6% 0.99x
StrToInt 93524 92775 -0.8% 1.01x (?)
StringBuilder 6931 6832 -1.4% 1.01x
StringBuilderLong 1060 1033 -2.5% 1.03x
StringEdits 483887 477989 -1.2% 1.01x
StringEqualPointerComparison 9107 8994 -1.2% 1.01x
StringHasPrefix 1639 1653 +0.9% 0.99x (?)
StringHasPrefixUnicode 15158 15554 +2.6% 0.97x
StringHasSuffix 1712 1742 +1.8% 0.98x
StringHasSuffixUnicode 59882 60149 +0.4% 1.00x
StringInterpolation 13795 13582 -1.5% 1.02x (?)
StringMatch 29828 30423 +2.0% 0.98x (?)
StringUTF16Builder 7649 7613 -0.5% 1.00x (?)
StringWalk 3932 3911 -0.5% 1.01x (?)
SuffixAnyCollection 6057 5960 -1.6% 1.02x (?)
SuffixAnyCollectionLazy 42981 42322 -1.5% 1.02x
SuffixAnySeqCntRange 6073 6033 -0.7% 1.01x (?)
SuffixAnySeqCntRangeLazy 6063 5884 -3.0% 1.03x
SuffixAnySequence 25428 25417 -0.0% 1.00x (?)
SuffixAnySequenceLazy 25377 25335 -0.2% 1.00x (?)
SuffixArray 2039 1994 -2.2% 1.02x
SuffixArrayLazy 14233 14192 -0.3% 1.00x
SuffixCountableRange 111 110 -0.9% 1.01x
SuffixCountableRangeLazy 12110 11629 -4.0% 1.04x
SuffixSequence 24985 25209 +0.9% 0.99x
SuffixSequenceLazy 25309 25301 -0.0% 1.00x (?)
TwoSum 4062 4034 -0.7% 1.01x (?)
TypeFlood 159 157 -1.3% 1.01x (?)
UTF8Decode 34844 34842 -0.0% 1.00x (?)
Walsh 11184 11268 +0.8% 0.99x
XorLoop 22367 22400 +0.1% 1.00x (?)
**Hardware Overview** Model Name: Mac mini Model Identifier: Macmini7,1 Processor Name: Intel Core i7 Processor Speed: 3 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 4 MB Memory: 16 GB

@dabrahams
Copy link
Collaborator Author

@swift-ci Please benchmark

@dabrahams
Copy link
Collaborator Author

@swift-ci Please test

@dabrahams
Copy link
Collaborator Author

Please test with following pull request:
apple/swift-corelibs-foundation#1096

@swift-ci Please test source compatibility

@dabrahams
Copy link
Collaborator Author

Please test with following pull request:
apple/swift-corelibs-foundation#1096

@swift-ci Please test

@swift-ci
Copy link
Collaborator

swift-ci commented Jul 7, 2017

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - 4d97cef
Test requested by - @dabrahams

@swift-ci
Copy link
Collaborator

swift-ci commented Jul 7, 2017

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - 4d97cef
Test requested by - @dabrahams

@dabrahams
Copy link
Collaborator Author

Please test with following pull request:
apple/swift-corelibs-foundation#1096

@swift-ci Please test source compatibility

@dabrahams
Copy link
Collaborator Author

Please test with following pull request:
apple/swift-corelibs-foundation#1096

@swift-ci Please test

@swift-ci
Copy link
Collaborator

swift-ci commented Jul 7, 2017

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - d21259c
Test requested by - @dabrahams

@dabrahams
Copy link
Collaborator Author

Please test with following pull request:
apple/swift-corelibs-foundation#1096

@swift-ci Please test

@dabrahams dabrahams merged commit 6214c15 into master Jul 7, 2017
@dabrahams dabrahams deleted the index-interchange branch July 7, 2017 19:00
dabrahams pushed a commit that referenced this pull request Jul 7, 2017
I failed to merge the upstream changes to swift-corelibs-foundation at the same
time as I merged that #9806, and it broke on linux. Going to get it right this
time.
@dabrahams dabrahams mentioned this pull request Jul 7, 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

6 participants