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] De-gyb Sort #17954

Merged
merged 3 commits into from
Jul 15, 2018
Merged

[stdlib] De-gyb Sort #17954

merged 3 commits into from
Jul 15, 2018

Conversation

airspeedswift
Copy link
Member

@airspeedswift airspeedswift commented Jul 15, 2018

Taking another run at this. Should improve stdlib code size, so long as it doesn't hurt the benchmarks.

Also moves the sort/sorted definitions on the protocols over to live with the sort implementation itself.

@airspeedswift
Copy link
Member Author

@swift-ci please smoke benchmark

@airspeedswift
Copy link
Member Author

@swift-ci please smoke test compiler performance

@airspeedswift
Copy link
Member Author

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 93026d7

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 93026d7

@swift-ci
Copy link
Contributor

Build comment file:

Compilation-performance test failed

@swift-ci
Copy link
Contributor

Build comment file:

Build failed before running benchmark.


@airspeedswift
Copy link
Member Author

Helps if you commit the CMake change.

@airspeedswift
Copy link
Member Author

@swift-ci please test

@airspeedswift
Copy link
Member Author

@swift-ci please smoke benchmark

@swiftlang swiftlang deleted a comment from swift-ci Jul 15, 2018
@swiftlang swiftlang deleted a comment from swift-ci Jul 15, 2018
@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (15)
TEST OLD NEW DELTA SPEEDUP
Phonebook 6796 8895 +30.9% 0.76x
NibbleSort 3691 4809 +30.3% 0.77x
SevenBoom 841 1016 +20.8% 0.83x (?)
UTF8Decode_InitFromBytes_ascii 476 556 +16.8% 0.86x (?)
COWArrayGuaranteedParameterOverhead 10090 11141 +10.4% 0.91x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4970 5424 +9.1% 0.92x
DataAppendDataSmallToLarge 37769 41094 +8.8% 0.92x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45232 48922 +8.2% 0.92x (?)
ObjectiveCBridgeFromNSSetAnyObject 48048 51855 +7.9% 0.93x
NopDeinit 30182 32325 +7.1% 0.93x
WordSplitUTF16 10649 11381 +6.9% 0.94x (?)
UTF8Decode_InitFromData_ascii 790 842 +6.6% 0.94x (?)
COWTree 3610 3835 +6.2% 0.94x
RandomDoubleLCG 2107 2233 +6.0% 0.94x
DictionaryBridgeToObjC_Access 1030 1091 +5.9% 0.94x (?)
Improvement (10)
TEST OLD NEW DELTA SPEEDUP
StringBuilderLong 1745 1290 -26.1% 1.35x (?)
StringBuilderWithLongSubstring 1963 1462 -25.5% 1.34x (?)
AngryPhonebook 4037 3560 -11.8% 1.13x
StaticArray 10 9 -10.0% 1.11x (?)
OpenClose 68 62 -8.8% 1.10x
DictionaryKeysContainsCocoa 42 39 -7.1% 1.08x (?)
DataAppendDataMediumToLarge 23375 21838 -6.6% 1.07x (?)
MapReduceShort 2168 2035 -6.1% 1.07x (?)
StringInterpolation 9640 9087 -5.7% 1.06x
StringHasSuffixAscii 2348 2234 -4.9% 1.05x
No Changes (433)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 91078 91346 +0.3% 1.00x (?)
Array2D 2863 2855 -0.3% 1.00x (?)
ArrayAppend 1111 1067 -4.0% 1.04x
ArrayAppendArrayOfInt 791 797 +0.8% 0.99x (?)
ArrayAppendAscii 3837 3817 -0.5% 1.01x (?)
ArrayAppendAsciiSubstring 24999 24967 -0.1% 1.00x
ArrayAppendFromGeneric 798 801 +0.4% 1.00x (?)
ArrayAppendGenericStructs 1427 1430 +0.2% 1.00x (?)
ArrayAppendLatin1 41967 41216 -1.8% 1.02x
ArrayAppendLatin1Substring 142479 144012 +1.1% 0.99x
ArrayAppendLazyMap 1336 1342 +0.4% 1.00x (?)
ArrayAppendOptionals 1426 1428 +0.1% 1.00x (?)
ArrayAppendRepeatCol 1338 1341 +0.2% 1.00x (?)
ArrayAppendReserved 839 804 -4.2% 1.04x
ArrayAppendSequence 1121 1124 +0.3% 1.00x
ArrayAppendStrings 6215 6226 +0.2% 1.00x
ArrayAppendToFromGeneric 786 806 +2.5% 0.98x (?)
ArrayAppendToGeneric 799 801 +0.3% 1.00x (?)
ArrayAppendUTF16 41877 40940 -2.2% 1.02x
ArrayAppendUTF16Substring 140175 141394 +0.9% 0.99x
ArrayInClass 85 86 +1.2% 0.99x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 152 152 +0.0% 1.00x
ArrayOfGenericRef 4385 4393 +0.2% 1.00x (?)
ArrayOfPOD 185 185 +0.0% 1.00x
ArrayOfRef 4386 4379 -0.2% 1.00x
ArrayPlusEqualArrayOfInt 793 791 -0.3% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5559 5435 -2.2% 1.02x
ArrayPlusEqualSingleElementCollection 1108 1065 -3.9% 1.04x
ArrayPlusEqualThreeElements 1657 1654 -0.2% 1.00x (?)
ArraySubscript 1577 1551 -1.6% 1.02x (?)
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointPropertiesBinade 31 31 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 35 35 +0.0% 1.00x
BitCount 211 211 +0.0% 1.00x
ByteSwap 106 107 +0.9% 0.99x (?)
CSVParsing 656578 658254 +0.3% 1.00x (?)
CSVParsingAlt 812679 815795 +0.4% 1.00x (?)
CSVParsingAltIndices 341310 341791 +0.1% 1.00x (?)
CStringLongAscii 4038 4034 -0.1% 1.00x (?)
CStringLongNonAscii 2351 2407 +2.4% 0.98x
CStringShortAscii 3347 3367 +0.6% 0.99x
Calculator 207 204 -1.4% 1.01x
CaptureProp 4085 4104 +0.5% 1.00x (?)
ChainedFilterMap 1248 1246 -0.2% 1.00x
CharIndexing_ascii_unicodeScalars 16279 16089 -1.2% 1.01x
CharIndexing_ascii_unicodeScalars_Backwards 16085 15823 -1.6% 1.02x
CharIndexing_chinese_unicodeScalars 12344 12205 -1.1% 1.01x
CharIndexing_chinese_unicodeScalars_Backwards 12182 11997 -1.5% 1.02x
CharIndexing_japanese_unicodeScalars 19476 19264 -1.1% 1.01x
CharIndexing_japanese_unicodeScalars_Backwards 19243 18947 -1.5% 1.02x
CharIndexing_korean_unicodeScalars 15794 15611 -1.2% 1.01x (?)
CharIndexing_korean_unicodeScalars_Backwards 15596 15355 -1.5% 1.02x
CharIndexing_punctuatedJapanese_unicodeScalars 2948 2931 -0.6% 1.01x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2926 2880 -1.6% 1.02x
CharIndexing_punctuated_unicodeScalars 3701 3647 -1.5% 1.01x
CharIndexing_punctuated_unicodeScalars_Backwards 3666 3601 -1.8% 1.02x
CharIndexing_russian_unicodeScalars 13569 13407 -1.2% 1.01x
CharIndexing_russian_unicodeScalars_Backwards 13397 13187 -1.6% 1.02x
CharIndexing_tweet_unicodeScalars 32114 31719 -1.2% 1.01x
CharIndexing_tweet_unicodeScalars_Backwards 31808 31241 -1.8% 1.02x
CharIndexing_utf16_unicodeScalars 22882 22807 -0.3% 1.00x
CharIndexing_utf16_unicodeScalars_Backwards 23350 23248 -0.4% 1.00x
CharIteration_ascii_unicodeScalars 20274 20792 +2.6% 0.98x
CharIteration_ascii_unicodeScalars_Backwards 14772 14372 -2.7% 1.03x
CharIteration_chinese_unicodeScalars 15364 15749 +2.5% 0.98x
CharIteration_chinese_unicodeScalars_Backwards 11177 10891 -2.6% 1.03x
CharIteration_japanese_unicodeScalars 24296 24924 +2.6% 0.97x
CharIteration_japanese_unicodeScalars_Backwards 17641 17190 -2.6% 1.03x
CharIteration_korean_unicodeScalars 19682 20156 +2.4% 0.98x
CharIteration_korean_unicodeScalars_Backwards 14310 13941 -2.6% 1.03x
CharIteration_punctuatedJapanese_unicodeScalars 3645 3743 +2.7% 0.97x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2688 2617 -2.6% 1.03x
CharIteration_punctuated_unicodeScalars 4564 4696 +2.9% 0.97x
CharIteration_punctuated_unicodeScalars_Backwards 3359 3270 -2.6% 1.03x
CharIteration_russian_unicodeScalars 16876 17330 +2.7% 0.97x
CharIteration_russian_unicodeScalars_Backwards 12293 11975 -2.6% 1.03x
CharIteration_tweet_unicodeScalars 40097 41010 +2.3% 0.98x
CharIteration_tweet_unicodeScalars_Backwards 29132 28720 -1.4% 1.01x
CharIteration_utf16_unicodeScalars 27708 27717 +0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 17698 17668 -0.2% 1.00x (?)
CharacterLiteralsLarge 5876 5842 -0.6% 1.01x (?)
CharacterLiteralsSmall 217 217 +0.0% 1.00x
CharacterPropertiesFetch 4608 4608 +0.0% 1.00x
CharacterPropertiesPrecomputed 996 1002 +0.6% 0.99x
CharacterPropertiesStashed 1518 1507 -0.7% 1.01x (?)
CharacterPropertiesStashedMemo 1580 1580 +0.0% 1.00x
Chars 1016 1018 +0.2% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 497 495 -0.4% 1.00x (?)
DataAccessBytes 1156 1151 -0.4% 1.00x
DataAppendArray 5260 5257 -0.1% 1.00x (?)
DataAppendBytes 4862 4814 -1.0% 1.01x (?)
DataAppendDataLargeToLarge 67899 68204 +0.4% 1.00x (?)
DataAppendDataLargeToMedium 36076 35865 -0.6% 1.01x (?)
DataAppendDataLargeToSmall 35139 34245 -2.5% 1.03x
DataAppendDataMediumToMedium 6826 6750 -1.1% 1.01x (?)
DataAppendDataMediumToSmall 6069 5955 -1.9% 1.02x
DataAppendDataSmallToMedium 6166 6157 -0.1% 1.00x (?)
DataAppendDataSmallToSmall 6066 5860 -3.4% 1.04x (?)
DataAppendSequence 20331 20551 +1.1% 0.99x (?)
DataCopyBytes 466 467 +0.2% 1.00x (?)
DataCount 37 37 +0.0% 1.00x
DataMutateBytes 3925 3966 +1.0% 0.99x (?)
DataReplaceLarge 36609 36632 +0.1% 1.00x (?)
DataReplaceLargeBuffer 58183 58476 +0.5% 0.99x (?)
DataReplaceMedium 7763 7887 +1.6% 0.98x (?)
DataReplaceMediumBuffer 12821 12755 -0.5% 1.01x (?)
DataReplaceSmall 5515 5621 +1.9% 0.98x (?)
DataReplaceSmallBuffer 9603 9682 +0.8% 0.99x (?)
DataReset 2841 2897 +2.0% 0.98x (?)
DataSetCount 544 552 +1.5% 0.99x (?)
DataSubscript 224 224 +0.0% 1.00x
DictOfArraysToArrayOfDicts 804 785 -2.4% 1.02x (?)
Dictionary 510 513 +0.6% 0.99x
Dictionary2 642 633 -1.4% 1.01x
Dictionary2OfObjects 2105 2084 -1.0% 1.01x
Dictionary3 225 222 -1.3% 1.01x
Dictionary3OfObjects 737 742 +0.7% 0.99x (?)
Dictionary4 334 333 -0.3% 1.00x
Dictionary4Legacy 703 728 +3.6% 0.97x
Dictionary4OfObjects 447 442 -1.1% 1.01x
Dictionary4OfObjectsLegacy 912 932 +2.2% 0.98x
DictionaryBridge 1202 1201 -0.1% 1.00x (?)
DictionaryBridgeToObjC_Bridge 19 20 +5.3% 0.95x
DictionaryBridgeToObjC_BulkAccess 165 173 +4.8% 0.95x
DictionaryCopy 106562 105212 -1.3% 1.01x
DictionaryFilter 106012 105224 -0.7% 1.01x (?)
DictionaryGroup 217 217 +0.0% 1.00x
DictionaryGroupOfObjects 2126 2138 +0.6% 0.99x (?)
DictionaryKeysContainsNative 32 33 +3.1% 0.97x
DictionaryLiteral 1915 1911 -0.2% 1.00x (?)
DictionaryOfObjects 2385 2381 -0.2% 1.00x (?)
DictionaryRemove 4250 4211 -0.9% 1.01x (?)
DictionaryRemoveOfObjects 25996 25852 -0.6% 1.01x (?)
DictionarySubscriptDefaultMutation 266 265 -0.4% 1.00x
DictionarySubscriptDefaultMutationArray 619 621 +0.3% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 4044 4082 +0.9% 0.99x
DictionarySubscriptDefaultMutationOfObjects 1707 1718 +0.6% 0.99x (?)
DictionarySwap 1030 1028 -0.2% 1.00x (?)
DictionarySwapAt 7102 6983 -1.7% 1.02x
DictionarySwapAtOfObjects 52497 52487 -0.0% 1.00x (?)
DictionarySwapOfObjects 8849 8920 +0.8% 0.99x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 64387 63751 -1.0% 1.01x
DropFirstAnySeqCRangeIter 93 93 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 93 93 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1842 1842 +0.0% 1.00x
DropFirstAnySequenceLazy 1843 1842 -0.1% 1.00x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2681 2681 +0.0% 1.00x
DropFirstSequenceLazy 2775 2775 +0.0% 1.00x
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 21724 21421 -1.4% 1.01x (?)
DropLastAnySeqCRangeIter 3354 3314 -1.2% 1.01x
DropLastAnySeqCRangeIterLazy 3344 3308 -1.1% 1.01x
DropLastAnySeqCntRange 11 11 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 11 11 +0.0% 1.00x
DropLastAnySequence 4984 4967 -0.3% 1.00x
DropLastAnySequenceLazy 5072 5059 -0.3% 1.00x
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropLastSequence 679 674 -0.7% 1.01x (?)
DropLastSequenceLazy 679 673 -0.9% 1.01x (?)
DropWhileAnyCollection 100 100 +0.0% 1.00x
DropWhileAnyCollectionLazy 130 130 +0.0% 1.00x
DropWhileAnySeqCRangeIter 76 76 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 130 130 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 130 130 +0.0% 1.00x
DropWhileAnySequence 1860 1860 +0.0% 1.00x
DropWhileAnySequenceLazy 1855 1854 -0.1% 1.00x (?)
DropWhileArrayLazy 88 88 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 105 105 +0.0% 1.00x
DropWhileSequence 2221 2204 -0.8% 1.01x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 48 49 +2.1% 0.98x
EqualSubstringString 48 49 +2.1% 0.98x
EqualSubstringSubstring 48 48 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 48 48 +0.0% 1.00x
ErrorHandling 1203 1212 +0.7% 0.99x
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 1247 1244 -0.2% 1.00x (?)
FilterEvenUsingReduce 1327 1326 -0.1% 1.00x (?)
FilterEvenUsingReduceInto 159 159 +0.0% 1.00x
FloatingPointPrinting_Double_description_small 21825 21865 +0.2% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 21201 21231 +0.1% 1.00x (?)
FloatingPointPrinting_Double_interpolated 62184 62535 +0.6% 0.99x (?)
FloatingPointPrinting_Float80_description_small 28333 28261 -0.3% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 27879 27804 -0.3% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 65931 66243 +0.5% 1.00x (?)
FloatingPointPrinting_Float_description_small 5440 5422 -0.3% 1.00x
FloatingPointPrinting_Float_description_uniform 5366 5564 +3.7% 0.96x
FloatingPointPrinting_Float_interpolated 38848 38835 -0.0% 1.00x (?)
FrequenciesUsingReduce 5041 4938 -2.0% 1.02x (?)
FrequenciesUsingReduceInto 1533 1544 +0.7% 0.99x (?)
Hanoi 2186 2139 -2.2% 1.02x
HashTest 960 957 -0.3% 1.00x (?)
Histogram 649 643 -0.9% 1.01x (?)
Integrate 335 348 +3.9% 0.96x
IterateData 1453 1455 +0.1% 1.00x
Join 160 163 +1.9% 0.98x
LazilyFilteredArrayContains 35467 35459 -0.0% 1.00x (?)
LazilyFilteredArrays 67163 66519 -1.0% 1.01x (?)
LazilyFilteredRange 3881 3883 +0.1% 1.00x (?)
LessSubstringSubstring 48 49 +2.1% 0.98x
LessSubstringSubstringGenericComparable 48 49 +2.1% 0.98x
LinkedList 7543 7538 -0.1% 1.00x (?)
LuhnAlgoEager 451 444 -1.6% 1.02x
LuhnAlgoLazy 455 446 -2.0% 1.02x
MapReduce 426 417 -2.1% 1.02x
MapReduceAnyCollection 398 400 +0.5% 1.00x (?)
MapReduceAnyCollectionShort 2031 2030 -0.0% 1.00x (?)
MapReduceClass 3011 3009 -0.1% 1.00x (?)
MapReduceClassShort 4594 4569 -0.5% 1.01x
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 34 34 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 468 464 -0.9% 1.01x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 48 48 +0.0% 1.00x
Memset 217 213 -1.8% 1.02x (?)
MonteCarloE 10319 10294 -0.2% 1.00x
MonteCarloPi 42785 42681 -0.2% 1.00x
NSDictionaryCastToSwift 6905 6894 -0.2% 1.00x (?)
NSError 165 166 +0.6% 0.99x (?)
NSStringConversion 717 703 -2.0% 1.02x (?)
ObjectAllocation 133 133 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 26488 26140 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 5301 5198 -1.9% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 46111 45726 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 114116 115436 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 65873 67840 +3.0% 0.97x (?)
ObjectiveCBridgeFromNSString 1231 1221 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2726 2756 +1.1% 0.99x (?)
ObjectiveCBridgeStubDataAppend 6476 6619 +2.2% 0.98x (?)
ObjectiveCBridgeStubDateMutation 400 400 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 34998 34601 -1.1% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 6540 6640 +1.5% 0.98x (?)
ObjectiveCBridgeStubFromNSString 1058 1040 -1.7% 1.02x (?)
ObjectiveCBridgeStubFromNSStringRef 158 158 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2628 2660 +1.2% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 13622 13609 -0.1% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 39816 39463 -0.9% 1.01x (?)
ObjectiveCBridgeStubToNSDate 15317 14967 -2.3% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3460 3480 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSString 2349 2349 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 113 118 +4.4% 0.96x
ObjectiveCBridgeStubURLAppendPath 279581 277479 -0.8% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 280252 289451 +3.3% 0.97x
ObjectiveCBridgeToNSArray 14670 15215 +3.7% 0.96x
ObjectiveCBridgeToNSDictionary 27399 28392 +3.6% 0.97x (?)
ObjectiveCBridgeToNSSet 17237 17547 +1.8% 0.98x (?)
ObjectiveCBridgeToNSString 450 452 +0.4% 1.00x
ObserverClosure 2154 2172 +0.8% 0.99x
ObserverForwarderStruct 1287 1271 -1.2% 1.01x (?)
ObserverPartiallyAppliedMethod 3715 3749 +0.9% 0.99x
ObserverUnappliedMethod 2581 2589 +0.3% 1.00x
OpaqueConsumingUsers 4182 4181 -0.0% 1.00x (?)
PartialApplyDynamicType 0 0 +0.0% 1.00x
PointerArithmetics 34367 34357 -0.0% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1962 1967 +0.3% 1.00x (?)
PopFrontArrayGeneric 1968 1903 -3.3% 1.03x (?)
PopFrontUnsafePointer 9626 9517 -1.1% 1.01x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 65808 65355 -0.7% 1.01x (?)
PrefixAnySeqCRangeIter 40 40 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 40 40 +0.0% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 1378 1377 -0.1% 1.00x (?)
PrefixAnySequenceLazy 1378 1378 +0.0% 1.00x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 2222 2218 -0.2% 1.00x
PrefixSequenceLazy 2275 2275 +0.0% 1.00x
PrefixWhileAnyCollection 147 146 -0.7% 1.01x
PrefixWhileAnyCollectionLazy 71 71 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 394 393 -0.3% 1.00x
PrefixWhileAnySeqCRangeIterLazy 89 89 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 142 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixWhileAnySequence 1540 1539 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1392 1391 -0.1% 1.00x (?)
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 363 362 -0.3% 1.00x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 925 932 +0.8% 0.99x
PrimsSplit 938 923 -1.6% 1.02x (?)
QueueConcrete 1157 1153 -0.3% 1.00x (?)
QueueGeneric 1139 1140 +0.1% 1.00x (?)
RC4 149 149 +0.0% 1.00x
RGBHistogram 3007 2970 -1.2% 1.01x
RGBHistogramOfObjects 23828 23747 -0.3% 1.00x (?)
Radix2CooleyTukey 13054 12658 -3.0% 1.03x (?)
Radix2CooleyTukeyf 9015 9025 +0.1% 1.00x (?)
RandomDoubleDef 26960 27213 +0.9% 0.99x
RandomIntegersDef 24760 24800 +0.2% 1.00x
RandomIntegersLCG 173 173 +0.0% 1.00x
RandomShuffleDef 811743 807959 -0.5% 1.00x
RandomShuffleLCG 57223 57404 +0.3% 1.00x (?)
RangeAssignment 354 349 -1.4% 1.01x (?)
RangeIterationSigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 1072 1086 +1.3% 0.99x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 47 47 +0.0% 1.00x
RemoveWhereFilterString 250 243 -2.8% 1.03x
RemoveWhereFilterStrings 438 437 -0.2% 1.00x
RemoveWhereMoveInts 15 15 +0.0% 1.00x
RemoveWhereMoveStrings 710 708 -0.3% 1.00x (?)
RemoveWhereQuadraticInts 1292 1293 +0.1% 1.00x (?)
RemoveWhereQuadraticString 381 385 +1.0% 0.99x
RemoveWhereQuadraticStrings 2764 2760 -0.1% 1.00x (?)
RemoveWhereSwapInts 19 20 +5.3% 0.95x
RemoveWhereSwapStrings 858 859 +0.1% 1.00x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16769 16884 +0.7% 0.99x
ReversedDictionary 261 267 +2.3% 0.98x
RomanNumbers 87228 85876 -1.5% 1.02x
SequenceAlgosAnySequence 11981 12021 +0.3% 1.00x (?)
SequenceAlgosArray 1579 1573 -0.4% 1.00x (?)
SequenceAlgosContiguousArray 1583 1579 -0.3% 1.00x
SequenceAlgosList 1347 1348 +0.1% 1.00x
SequenceAlgosRange 2576 2583 +0.3% 1.00x
SequenceAlgosUnfoldSequence 1102 1103 +0.1% 1.00x
SetExclusiveOr 5194 5157 -0.7% 1.01x (?)
SetExclusiveOr_OfObjects 11604 11604 +0.0% 1.00x
SetIntersect 697 703 +0.9% 0.99x (?)
SetIntersect_OfObjects 1944 1922 -1.1% 1.01x
SetIsSubsetOf 343 342 -0.3% 1.00x
SetIsSubsetOf_OfObjects 452 452 +0.0% 1.00x
SetUnion 4541 4475 -1.5% 1.01x
SetUnion_OfObjects 10061 9996 -0.6% 1.01x (?)
Sim2DArray 417 417 +0.0% 1.00x
SortLargeExistentials 5550 5486 -1.2% 1.01x
SortLettersInPlace 992 991 -0.1% 1.00x (?)
SortSortedStrings 863 840 -2.7% 1.03x
SortStrings 1800 1744 -3.1% 1.03x
SortStringsUnicode 2525 2554 +1.1% 0.99x
StackPromo 24532 24523 -0.0% 1.00x
StrComplexWalk 1781 1779 -0.1% 1.00x
StrToInt 3197 3175 -0.7% 1.01x (?)
StringAdder 550 557 +1.3% 0.99x
StringBuilder 498 497 -0.2% 1.00x (?)
StringBuilderSmallReservingCapacity 508 507 -0.2% 1.00x
StringComparison_abnormal 778 785 +0.9% 0.99x (?)
StringComparison_ascii 1023 1004 -1.9% 1.02x
StringComparison_emoji 847 850 +0.4% 1.00x (?)
StringComparison_fastPrenormal 849 832 -2.0% 1.02x
StringComparison_latin1 663 652 -1.7% 1.02x
StringComparison_longSharedPrefix 950 955 +0.5% 0.99x
StringComparison_nonBMPSlowestPrenormal 1665 1646 -1.1% 1.01x
StringComparison_slowerPrenormal 1793 1804 +0.6% 0.99x
StringComparison_zalgo 111571 111787 +0.2% 1.00x (?)
StringEdits 172356 168307 -2.3% 1.02x (?)
StringEnumRawValueInitialization 855 854 -0.1% 1.00x
StringEqualPointerComparison 315 315 +0.0% 1.00x
StringFromLongWholeSubstring 25 25 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 24 24 +0.0% 1.00x
StringHasPrefixAscii 2232 2205 -1.2% 1.01x
StringHasPrefixUnicode 99649 98726 -0.9% 1.01x (?)
StringHasSuffixUnicode 102532 100103 -2.4% 1.02x (?)
StringHashing_abnormal 1349 1350 +0.1% 1.00x (?)
StringHashing_ascii 34 33 -2.9% 1.03x
StringHashing_emoji 1936 1887 -2.5% 1.03x (?)
StringHashing_fastPrenormal 8394 8432 +0.5% 1.00x
StringHashing_latin1 2561 2581 +0.8% 0.99x
StringHashing_longSharedPrefix 7795 7754 -0.5% 1.01x
StringHashing_nonBMPSlowestPrenormal 2110 2018 -4.4% 1.05x
StringHashing_slowerPrenormal 2738 2756 +0.7% 0.99x (?)
StringHashing_zalgo 3498 3512 +0.4% 1.00x (?)
StringInterpolationManySmallSegments 18652 18570 -0.4% 1.00x (?)
StringInterpolationSmall 4273 4219 -1.3% 1.01x
StringMatch 12299 12281 -0.1% 1.00x (?)
StringRemoveDupes 498 489 -1.8% 1.02x (?)
StringUTF16Builder 2670 2660 -0.4% 1.00x (?)
StringUTF16SubstringBuilder 5988 5939 -0.8% 1.01x (?)
StringWalk 1554 1555 +0.1% 1.00x
StringWithCString 128964 122978 -4.6% 1.05x
StringWordBuilder 2442 2373 -2.8% 1.03x
StringWordBuilderReservingCapacity 1988 1937 -2.6% 1.03x
SubstringComparable 13 13 +0.0% 1.00x
SubstringEqualString 610 598 -2.0% 1.02x
SubstringEquatable 1409 1404 -0.4% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 78 78 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 21568 21361 -1.0% 1.01x (?)
SuffixAnySeqCRangeIter 3648 3608 -1.1% 1.01x
SuffixAnySeqCRangeIterLazy 3647 3600 -1.3% 1.01x
SuffixAnySeqCntRange 17 17 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 17 17 +0.0% 1.00x
SuffixAnySequence 4958 4930 -0.6% 1.01x (?)
SuffixAnySequenceLazy 5134 5046 -1.7% 1.02x
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3707 3680 -0.7% 1.01x (?)
SuffixSequenceLazy 3693 3662 -0.8% 1.01x
SumUsingReduce 102 102 +0.0% 1.00x
SumUsingReduceInto 97 97 +0.0% 1.00x
SuperChars 20139 20136 -0.0% 1.00x (?)
TwoSum 1468 1459 -0.6% 1.01x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 299 299 +0.0% 1.00x
UTF8Decode_InitDecoding 1363 1350 -1.0% 1.01x
UTF8Decode_InitDecoding_ascii 656 659 +0.5% 1.00x (?)
UTF8Decode_InitFromBytes 1182 1194 +1.0% 0.99x
UTF8Decode_InitFromData 1322 1270 -3.9% 1.04x (?)
Walsh 450 435 -3.3% 1.03x
WordCountHistogramASCII 8119 8001 -1.5% 1.01x (?)
WordCountHistogramUTF16 11561 11223 -2.9% 1.03x (?)
WordCountUniqueASCII 2131 2115 -0.8% 1.01x
WordCountUniqueUTF16 4607 4606 -0.0% 1.00x (?)
WordSplitASCII 9677 9915 +2.5% 0.98x (?)
XorLoop 397 402 +1.3% 0.99x
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@airspeedswift
Copy link
Member Author

@swift-ci please smoke test compiler performance

@airspeedswift
Copy link
Member Author

@swift-ci please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Summary for master smoketest

Unexpected test results, excluded stats for Kingfisher, ReactiveCocoa

No regressions above thresholds

Debug

debug brief

Regressed (0)
name old new delta delta_pct
Improved (1)
name old new delta delta_pct
time.swift-driver.wall 19.1s 18.9s -252.6ms -1.32% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (1)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 9,371,700 9,371,700 0 0.0%

debug detailed

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (23)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 5,852 5,852 0 0.0%
AST.NumLoadedModules 1,281 1,281 0 0.0%
AST.NumTotalClangImportedEntities 17,482 17,482 0 0.0%
AST.NumUsedConformances 1,289 1,289 0 0.0%
IRModule.NumIRBasicBlocks 30,988 30,988 0 0.0%
IRModule.NumIRFunctions 17,189 17,189 0 0.0%
IRModule.NumIRGlobals 14,007 14,007 0 0.0%
IRModule.NumIRInsts 436,981 436,981 0 0.0%
IRModule.NumIRValueSymbols 29,066 29,066 0 0.0%
LLVM.NumLLVMBytesOutput 9,371,700 9,371,700 0 0.0%
SILModule.NumSILGenFunctions 8,037 8,037 0 0.0%
SILModule.NumSILOptFunctions 10,970 10,970 0 0.0%
Sema.NumConformancesDeserialized 41,033 41,033 0 0.0%
Sema.NumConstraintScopes 73,820 73,820 0 0.0%
Sema.NumDeclsDeserialized 259,045 259,045 0 0.0%
Sema.NumDeclsValidated 27,206 27,206 0 0.0%
Sema.NumFunctionsTypechecked 4,974 4,974 0 0.0%
Sema.NumGenericSignatureBuilders 11,871 11,871 0 0.0%
Sema.NumLazyGenericEnvironments 49,803 49,803 0 0.0%
Sema.NumLazyGenericEnvironmentsLoaded 5,937 5,937 0 0.0%
Sema.NumLazyIterableDeclContexts 38,379 38,379 0 0.0%
Sema.NumTypesDeserialized 276,994 276,994 0 0.0%
Sema.NumTypesValidated 45,674 45,674 0 0.0%

Release

release brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 10,584,820 10,586,772 1,952 0.02%
time.swift-driver.wall 32.7s 32.5s -220.0ms -0.67%

release detailed

Regressed (0)
name old new delta delta_pct
Improved (1)
name old new delta delta_pct
SILModule.NumSILOptFunctions 9,631 9,527 -104 -1.08% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (22)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 1,400 1,400 0 0.0%
AST.NumLoadedModules 100 100 0 0.0%
AST.NumTotalClangImportedEntities 4,948 4,948 0 0.0%
AST.NumUsedConformances 1,292 1,292 0 0.0%
IRModule.NumIRBasicBlocks 34,477 34,477 0 0.0%
IRModule.NumIRFunctions 15,426 15,426 0 0.0%
IRModule.NumIRGlobals 13,862 13,862 0 0.0%
IRModule.NumIRInsts 341,447 341,447 0 0.0%
IRModule.NumIRValueSymbols 27,522 27,522 0 0.0%
LLVM.NumLLVMBytesOutput 10,584,820 10,586,772 1,952 0.02%
SILModule.NumSILGenFunctions 6,180 6,180 0 0.0%
Sema.NumConformancesDeserialized 19,867 19,764 -103 -0.52%
Sema.NumConstraintScopes 72,416 72,416 0 0.0%
Sema.NumDeclsDeserialized 57,234 57,216 -18 -0.03%
Sema.NumDeclsValidated 20,774 20,774 0 0.0%
Sema.NumFunctionsTypechecked 3,079 3,079 0 0.0%
Sema.NumGenericSignatureBuilders 2,846 2,846 0 0.0%
Sema.NumLazyGenericEnvironments 9,653 9,650 -3 -0.03%
Sema.NumLazyGenericEnvironmentsLoaded 1,361 1,361 0 0.0%
Sema.NumLazyIterableDeclContexts 5,723 5,723 0 0.0%
Sema.NumTypesDeserialized 72,530 72,284 -246 -0.34%
Sema.NumTypesValidated 22,840 22,840 0 0.0%

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (10)
TEST OLD NEW DELTA SPEEDUP
NibbleSort 3703 4786 +29.2% 0.77x
Phonebook 6926 8716 +25.8% 0.79x
SuffixCountableRange 11 12 +9.1% 0.92x
SuffixCountableRangeLazy 11 12 +9.1% 0.92x
MapReduceAnyCollection 370 399 +7.8% 0.93x
DictionaryBridge 1153 1240 +7.5% 0.93x (?)
MapReduce 399 426 +6.8% 0.94x
IterateData 1402 1492 +6.4% 0.94x
ObjectiveCBridgeFromNSString 1212 1280 +5.6% 0.95x (?)
DataAppendDataSmallToSmall 5688 5992 +5.3% 0.95x (?)
Improvement (11)
TEST OLD NEW DELTA SPEEDUP
PrefixAnySeqCRangeIter 40 34 -15.0% 1.18x
CharacterPropertiesStashed 1747 1532 -12.3% 1.14x
CharacterPropertiesStashedMemo 1743 1559 -10.6% 1.12x (?)
Sim2DArray 669 599 -10.5% 1.12x
OpenClose 68 62 -8.8% 1.10x
NopDeinit 32183 30149 -6.3% 1.07x
ObjectiveCBridgeFromNSArrayAnyObjectForced 4973 4687 -5.8% 1.06x (?)
StringWordBuilderReservingCapacity 1985 1878 -5.4% 1.06x
StringAdder 579 548 -5.4% 1.06x
SortStringsUnicode 2651 2511 -5.3% 1.06x
StringEdits 178291 169365 -5.0% 1.05x (?)
No Changes (439)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3786 3794 +0.2% 1.00x (?)
AnyHashableWithAClass 91511 90856 -0.7% 1.01x (?)
Array2D 2837 2858 +0.7% 0.99x (?)
ArrayAppend 1086 1081 -0.5% 1.00x (?)
ArrayAppendArrayOfInt 797 793 -0.5% 1.01x (?)
ArrayAppendAscii 3850 3859 +0.2% 1.00x (?)
ArrayAppendAsciiSubstring 24954 24968 +0.1% 1.00x (?)
ArrayAppendFromGeneric 782 799 +2.2% 0.98x (?)
ArrayAppendGenericStructs 1399 1420 +1.5% 0.99x (?)
ArrayAppendLatin1 42183 41528 -1.6% 1.02x
ArrayAppendLatin1Substring 145961 142450 -2.4% 1.02x
ArrayAppendLazyMap 1338 1342 +0.3% 1.00x (?)
ArrayAppendOptionals 1429 1409 -1.4% 1.01x (?)
ArrayAppendRepeatCol 1335 1341 +0.4% 1.00x (?)
ArrayAppendReserved 818 816 -0.2% 1.00x (?)
ArrayAppendSequence 1121 1121 +0.0% 1.00x
ArrayAppendStrings 6331 6216 -1.8% 1.02x
ArrayAppendToFromGeneric 787 784 -0.4% 1.00x (?)
ArrayAppendToGeneric 788 788 +0.0% 1.00x
ArrayAppendUTF16 41826 41069 -1.8% 1.02x
ArrayAppendUTF16Substring 142921 140312 -1.8% 1.02x
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 150 152 +1.3% 0.99x (?)
ArrayOfGenericRef 4383 4427 +1.0% 0.99x (?)
ArrayOfPOD 185 184 -0.5% 1.01x (?)
ArrayOfRef 4354 4383 +0.7% 0.99x (?)
ArrayPlusEqualArrayOfInt 784 794 +1.3% 0.99x (?)
ArrayPlusEqualFiveElementCollection 5430 5386 -0.8% 1.01x (?)
ArrayPlusEqualSingleElementCollection 1083 1079 -0.4% 1.00x (?)
ArrayPlusEqualThreeElements 1665 1650 -0.9% 1.01x (?)
ArraySubscript 1565 1556 -0.6% 1.01x (?)
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointPropertiesBinade 31 31 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 35 35 +0.0% 1.00x
BitCount 209 211 +1.0% 0.99x (?)
ByteSwap 105 106 +1.0% 0.99x (?)
COWArrayGuaranteedParameterOverhead 9968 9985 +0.2% 1.00x (?)
COWTree 3611 3599 -0.3% 1.00x (?)
CSVParsing 655481 657015 +0.2% 1.00x (?)
CSVParsingAlt 815121 813522 -0.2% 1.00x (?)
CSVParsingAltIndices 336893 335601 -0.4% 1.00x (?)
CStringLongAscii 4195 4033 -3.9% 1.04x
CStringLongNonAscii 2440 2355 -3.5% 1.04x
CStringShortAscii 3323 3326 +0.1% 1.00x (?)
Calculator 207 204 -1.4% 1.01x
CaptureProp 4080 4076 -0.1% 1.00x (?)
ChainedFilterMap 1246 1246 +0.0% 1.00x
CharIndexing_ascii_unicodeScalars 17155 17156 +0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 16461 16436 -0.2% 1.00x (?)
CharIndexing_chinese_unicodeScalars 12991 12989 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12459 12450 -0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars 20541 20565 +0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19714 19677 -0.2% 1.00x (?)
CharIndexing_korean_unicodeScalars 16639 16632 -0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 15963 15944 -0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 3097 3097 +0.0% 1.00x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2979 2974 -0.2% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 3878 3878 +0.0% 1.00x
CharIndexing_punctuated_unicodeScalars_Backwards 3728 3723 -0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars 14292 14289 -0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 13718 13700 -0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars 33087 33087 +0.0% 1.00x
CharIndexing_tweet_unicodeScalars_Backwards 32285 32253 -0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars 22992 23011 +0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 23352 23430 +0.3% 1.00x (?)
CharIteration_ascii_unicodeScalars 21420 21644 +1.0% 0.99x
CharIteration_ascii_unicodeScalars_Backwards 15582 15580 -0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars 16208 16366 +1.0% 0.99x
CharIteration_chinese_unicodeScalars_Backwards 11800 11801 +0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars 25664 25899 +0.9% 0.99x (?)
CharIteration_japanese_unicodeScalars_Backwards 18659 18651 -0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 20767 20960 +0.9% 0.99x
CharIteration_korean_unicodeScalars_Backwards 15111 15107 -0.0% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3823 3875 +1.4% 0.99x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2826 2823 -0.1% 1.00x (?)
CharIteration_punctuated_unicodeScalars 4801 4857 +1.2% 0.99x
CharIteration_punctuated_unicodeScalars_Backwards 3533 3531 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars 17832 18007 +1.0% 0.99x
CharIteration_russian_unicodeScalars_Backwards 12984 12983 -0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars 42283 42606 +0.8% 0.99x
CharIteration_tweet_unicodeScalars_Backwards 30776 30790 +0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars 27955 27978 +0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 19173 19520 +1.8% 0.98x
CharacterLiteralsLarge 5825 5872 +0.8% 0.99x (?)
CharacterLiteralsSmall 217 217 +0.0% 1.00x
CharacterPropertiesFetch 4823 4602 -4.6% 1.05x (?)
CharacterPropertiesPrecomputed 994 995 +0.1% 1.00x (?)
Chars 1017 1017 +0.0% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 496 494 -0.4% 1.00x (?)
DataAccessBytes 1143 1145 +0.2% 1.00x (?)
DataAppendArray 5208 5157 -1.0% 1.01x (?)
DataAppendBytes 4905 4892 -0.3% 1.00x (?)
DataAppendDataLargeToLarge 67177 67130 -0.1% 1.00x (?)
DataAppendDataLargeToMedium 35381 35369 -0.0% 1.00x (?)
DataAppendDataLargeToSmall 34241 34207 -0.1% 1.00x (?)
DataAppendDataMediumToLarge 22240 21903 -1.5% 1.02x (?)
DataAppendDataMediumToMedium 6588 6543 -0.7% 1.01x (?)
DataAppendDataMediumToSmall 5886 5931 +0.8% 0.99x (?)
DataAppendDataSmallToLarge 37338 37786 +1.2% 0.99x (?)
DataAppendDataSmallToMedium 6230 6293 +1.0% 0.99x (?)
DataAppendSequence 20525 20753 +1.1% 0.99x (?)
DataCopyBytes 453 453 +0.0% 1.00x
DataCount 37 37 +0.0% 1.00x
DataMutateBytes 3878 3837 -1.1% 1.01x (?)
DataReplaceLarge 36737 36747 +0.0% 1.00x (?)
DataReplaceLargeBuffer 58185 58094 -0.2% 1.00x (?)
DataReplaceMedium 7891 7632 -3.3% 1.03x (?)
DataReplaceMediumBuffer 11914 12003 +0.7% 0.99x (?)
DataReplaceSmall 5704 5489 -3.8% 1.04x (?)
DataReplaceSmallBuffer 9121 9073 -0.5% 1.01x (?)
DataReset 2811 2792 -0.7% 1.01x (?)
DataSetCount 543 544 +0.2% 1.00x (?)
DataSubscript 220 221 +0.5% 1.00x (?)
DictOfArraysToArrayOfDicts 784 779 -0.6% 1.01x (?)
Dictionary 514 514 +0.0% 1.00x
Dictionary2 630 635 +0.8% 0.99x (?)
Dictionary2OfObjects 2062 2073 +0.5% 0.99x (?)
Dictionary3 226 226 +0.0% 1.00x
Dictionary3OfObjects 735 732 -0.4% 1.00x (?)
Dictionary4 331 316 -4.5% 1.05x
Dictionary4Legacy 694 713 +2.7% 0.97x (?)
Dictionary4OfObjects 438 432 -1.4% 1.01x
Dictionary4OfObjectsLegacy 904 929 +2.8% 0.97x
DictionaryBridgeToObjC_Access 954 945 -0.9% 1.01x (?)
DictionaryBridgeToObjC_Bridge 19 19 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 166 168 +1.2% 0.99x (?)
DictionaryCompactMapValuesOfCastValue 14272 14291 +0.1% 1.00x (?)
DictionaryCompactMapValuesOfNilValue 7276 7218 -0.8% 1.01x (?)
DictionaryCopy 109871 109442 -0.4% 1.00x (?)
DictionaryFilter 109292 108024 -1.2% 1.01x (?)
DictionaryGroup 219 218 -0.5% 1.00x (?)
DictionaryGroupOfObjects 2120 2131 +0.5% 0.99x (?)
DictionaryKeysContainsCocoa 39 40 +2.6% 0.98x (?)
DictionaryKeysContainsNative 31 31 +0.0% 1.00x
DictionaryLiteral 1900 1918 +0.9% 0.99x (?)
DictionaryOfObjects 2376 2378 +0.1% 1.00x (?)
DictionaryRemove 4525 4487 -0.8% 1.01x (?)
DictionaryRemoveOfObjects 25854 25751 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutation 267 267 +0.0% 1.00x
DictionarySubscriptDefaultMutationArray 621 622 +0.2% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 4012 4027 +0.4% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1703 1711 +0.5% 1.00x (?)
DictionarySwap 1040 1027 -1.2% 1.01x
DictionarySwapAt 7015 6982 -0.5% 1.00x (?)
DictionarySwapAtOfObjects 52079 51961 -0.2% 1.00x (?)
DictionarySwapOfObjects 8846 8897 +0.6% 0.99x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 65397 64871 -0.8% 1.01x (?)
DropFirstAnySeqCRangeIter 93 93 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 93 93 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1842 1842 +0.0% 1.00x
DropFirstAnySequenceLazy 1841 1841 +0.0% 1.00x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2680 2679 -0.0% 1.00x (?)
DropFirstSequenceLazy 2774 2767 -0.3% 1.00x (?)
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 21769 21606 -0.7% 1.01x (?)
DropLastAnySeqCRangeIter 3314 3343 +0.9% 0.99x (?)
DropLastAnySeqCRangeIterLazy 3312 3342 +0.9% 0.99x (?)
DropLastAnySeqCntRange 11 11 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 11 11 +0.0% 1.00x
DropLastAnySequence 4936 4948 +0.2% 1.00x (?)
DropLastAnySequenceLazy 5031 5040 +0.2% 1.00x (?)
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropLastSequence 637 666 +4.6% 0.96x
DropLastSequenceLazy 637 666 +4.6% 0.96x
DropWhileAnyCollection 100 99 -1.0% 1.01x
DropWhileAnyCollectionLazy 130 130 +0.0% 1.00x
DropWhileAnySeqCRangeIter 75 76 +1.3% 0.99x
DropWhileAnySeqCRangeIterLazy 130 130 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 130 130 +0.0% 1.00x
DropWhileAnySequence 1860 1858 -0.1% 1.00x (?)
DropWhileAnySequenceLazy 1855 1854 -0.1% 1.00x (?)
DropWhileArrayLazy 88 88 +0.0% 1.00x
DropWhileCountableRange 35 36 +2.9% 0.97x
DropWhileCountableRangeLazy 105 105 +0.0% 1.00x
DropWhileSequence 2202 2219 +0.8% 0.99x (?)
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 49 49 +0.0% 1.00x
EqualSubstringString 50 49 -2.0% 1.02x
EqualSubstringSubstring 49 48 -2.0% 1.02x (?)
EqualSubstringSubstringGenericEquatable 49 48 -2.0% 1.02x
ErrorHandling 1227 1211 -1.3% 1.01x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 1246 1246 +0.0% 1.00x
FilterEvenUsingReduce 1307 1308 +0.1% 1.00x (?)
FilterEvenUsingReduceInto 162 160 -1.2% 1.01x (?)
FloatingPointPrinting_Double_description_small 21551 21548 -0.0% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 21131 21054 -0.4% 1.00x (?)
FloatingPointPrinting_Double_interpolated 62387 62276 -0.2% 1.00x (?)
FloatingPointPrinting_Float80_description_small 28303 28377 +0.3% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 27389 27504 +0.4% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 65693 65600 -0.1% 1.00x (?)
FloatingPointPrinting_Float_description_small 5541 5365 -3.2% 1.03x
FloatingPointPrinting_Float_description_uniform 5517 5324 -3.5% 1.04x
FloatingPointPrinting_Float_interpolated 39019 38707 -0.8% 1.01x (?)
FrequenciesUsingReduce 4920 4897 -0.5% 1.00x (?)
FrequenciesUsingReduceInto 1524 1505 -1.2% 1.01x (?)
Hanoi 2216 2213 -0.1% 1.00x (?)
HashTest 949 949 +0.0% 1.00x
Histogram 678 652 -3.8% 1.04x (?)
Integrate 334 335 +0.3% 1.00x (?)
Join 169 167 -1.2% 1.01x
LazilyFilteredArrayContains 37446 37449 +0.0% 1.00x (?)
LazilyFilteredArrays 65732 66582 +1.3% 0.99x (?)
LazilyFilteredRange 3869 3849 -0.5% 1.01x (?)
LessSubstringSubstring 48 48 +0.0% 1.00x
LessSubstringSubstringGenericComparable 48 48 +0.0% 1.00x
LinkedList 7529 7534 +0.1% 1.00x (?)
LuhnAlgoEager 447 446 -0.2% 1.00x (?)
LuhnAlgoLazy 449 444 -1.1% 1.01x (?)
MapReduceAnyCollectionShort 2057 2047 -0.5% 1.00x (?)
MapReduceClass 3014 2992 -0.7% 1.01x (?)
MapReduceClassShort 4568 4569 +0.0% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 37 36 -2.7% 1.03x (?)
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 460 460 +0.0% 1.00x
MapReduceShort 1994 2046 +2.6% 0.97x (?)
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 48 50 +4.2% 0.96x (?)
Memset 215 216 +0.5% 1.00x (?)
MonteCarloE 10326 10238 -0.9% 1.01x
MonteCarloPi 42925 42702 -0.5% 1.01x (?)
NSDictionaryCastToSwift 6760 6862 +1.5% 0.99x (?)
NSError 164 164 +0.0% 1.00x
NSStringConversion 690 702 +1.7% 0.98x (?)
ObjectAllocation 132 132 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 25565 25847 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 44850 45285 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 43997 42762 -2.8% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 108152 107256 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 49037 50113 +2.2% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5070 4915 -3.1% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 68858 70086 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSStringForced 2708 2718 +0.4% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6329 6193 -2.1% 1.02x (?)
ObjectiveCBridgeStubDateMutation 400 400 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 32816 33211 +1.2% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 6568 6504 -1.0% 1.01x (?)
ObjectiveCBridgeStubFromNSString 1016 1034 +1.8% 0.98x (?)
ObjectiveCBridgeStubFromNSStringRef 161 155 -3.7% 1.04x
ObjectiveCBridgeStubNSDataAppend 2537 2532 -0.2% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 12848 13213 +2.8% 0.97x (?)
ObjectiveCBridgeStubToArrayOfNSString 39574 39769 +0.5% 1.00x (?)
ObjectiveCBridgeStubToNSDate 14925 15081 +1.0% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3406 3436 +0.9% 0.99x (?)
ObjectiveCBridgeStubToNSString 2334 2341 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 115 112 -2.6% 1.03x (?)
ObjectiveCBridgeStubURLAppendPath 277547 276875 -0.2% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 277066 273737 -1.2% 1.01x (?)
ObjectiveCBridgeToNSArray 14884 14751 -0.9% 1.01x (?)
ObjectiveCBridgeToNSDictionary 27031 27198 +0.6% 0.99x (?)
ObjectiveCBridgeToNSSet 16859 17503 +3.8% 0.96x (?)
ObjectiveCBridgeToNSString 455 451 -0.9% 1.01x
ObserverClosure 2172 2159 -0.6% 1.01x (?)
ObserverForwarderStruct 1228 1207 -1.7% 1.02x (?)
ObserverPartiallyAppliedMethod 3742 3732 -0.3% 1.00x (?)
ObserverUnappliedMethod 2485 2464 -0.8% 1.01x (?)
OpaqueConsumingUsers 4178 4187 +0.2% 1.00x (?)
PartialApplyDynamicType 0 0 +0.0% 1.00x
PointerArithmetics 31483 31485 +0.0% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1963 1963 +0.0% 1.00x
PopFrontArrayGeneric 1905 1909 +0.2% 1.00x (?)
PopFrontUnsafePointer 9100 9099 -0.0% 1.00x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 65532 63787 -2.7% 1.03x (?)
PrefixAnySeqCRangeIterLazy 40 40 +0.0% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 1378 1378 +0.0% 1.00x
PrefixAnySequenceLazy 1378 1378 +0.0% 1.00x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 2222 2221 -0.0% 1.00x (?)
PrefixSequenceLazy 2274 2274 +0.0% 1.00x
PrefixWhileAnyCollection 146 146 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 71 71 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 384 404 +5.2% 0.95x
PrefixWhileAnySeqCRangeIterLazy 89 89 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 142 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixWhileAnySequence 1538 1539 +0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1391 1391 +0.0% 1.00x
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 362 380 +5.0% 0.95x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 918 914 -0.4% 1.00x (?)
PrimsSplit 924 918 -0.6% 1.01x (?)
QueueConcrete 1151 1150 -0.1% 1.00x (?)
QueueGeneric 1138 1133 -0.4% 1.00x (?)
RC4 161 161 +0.0% 1.00x
RGBHistogram 3015 3002 -0.4% 1.00x (?)
RGBHistogramOfObjects 23685 23571 -0.5% 1.00x (?)
Radix2CooleyTukey 12189 12209 +0.2% 1.00x (?)
Radix2CooleyTukeyf 8954 8942 -0.1% 1.00x (?)
RandomDoubleDef 26762 27002 +0.9% 0.99x (?)
RandomDoubleLCG 2318 2347 +1.3% 0.99x
RandomIntegersDef 24478 24371 -0.4% 1.00x (?)
RandomIntegersLCG 173 173 +0.0% 1.00x
RandomShuffleDef 802436 811025 +1.1% 0.99x
RandomShuffleLCG 56741 56894 +0.3% 1.00x (?)
RangeAssignment 336 351 +4.5% 0.96x (?)
RangeIterationSigned 171 171 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 1060 1058 -0.2% 1.00x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 47 49 +4.3% 0.96x
RemoveWhereFilterString 241 239 -0.8% 1.01x (?)
RemoveWhereFilterStrings 437 437 +0.0% 1.00x
RemoveWhereMoveInts 14 14 +0.0% 1.00x
RemoveWhereMoveStrings 705 708 +0.4% 1.00x (?)
RemoveWhereQuadraticInts 1292 1290 -0.2% 1.00x (?)
RemoveWhereQuadraticString 377 372 -1.3% 1.01x (?)
RemoveWhereQuadraticStrings 2758 2757 -0.0% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 857 857 +0.0% 1.00x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16692 16621 -0.4% 1.00x (?)
ReversedDictionary 274 272 -0.7% 1.01x (?)
RomanNumbers 84851 83140 -2.0% 1.02x
SequenceAlgosAnySequence 12119 11993 -1.0% 1.01x (?)
SequenceAlgosArray 1573 1572 -0.1% 1.00x (?)
SequenceAlgosContiguousArray 1566 1572 +0.4% 1.00x (?)
SequenceAlgosList 1355 1349 -0.4% 1.00x (?)
SequenceAlgosRange 2576 2576 +0.0% 1.00x
SequenceAlgosUnfoldSequence 1102 1102 +0.0% 1.00x
SetExclusiveOr 5099 5043 -1.1% 1.01x (?)
SetExclusiveOr_OfObjects 11794 11512 -2.4% 1.02x
SetIntersect 694 700 +0.9% 0.99x (?)
SetIntersect_OfObjects 1815 1763 -2.9% 1.03x (?)
SetIsSubsetOf 343 345 +0.6% 0.99x (?)
SetIsSubsetOf_OfObjects 439 438 -0.2% 1.00x (?)
SetUnion 4412 4371 -0.9% 1.01x (?)
SetUnion_OfObjects 10269 10022 -2.4% 1.02x (?)
SevenBoom 847 841 -0.7% 1.01x (?)
SortLargeExistentials 5614 5569 -0.8% 1.01x
SortLettersInPlace 986 989 +0.3% 1.00x (?)
SortSortedStrings 853 852 -0.1% 1.00x (?)
SortStrings 1782 1777 -0.3% 1.00x (?)
StackPromo 24913 24688 -0.9% 1.01x (?)
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1776 1774 -0.1% 1.00x (?)
StrToInt 3199 3148 -1.6% 1.02x
StringBuilder 497 497 +0.0% 1.00x
StringBuilderLong 1254 1252 -0.2% 1.00x (?)
StringBuilderSmallReservingCapacity 507 507 +0.0% 1.00x
StringBuilderWithLongSubstring 1429 1432 +0.2% 1.00x (?)
StringComparison_abnormal 829 813 -1.9% 1.02x (?)
StringComparison_ascii 1028 1017 -1.1% 1.01x
StringComparison_emoji 863 857 -0.7% 1.01x
StringComparison_fastPrenormal 854 835 -2.2% 1.02x
StringComparison_latin1 663 653 -1.5% 1.02x
StringComparison_longSharedPrefix 953 944 -0.9% 1.01x
StringComparison_nonBMPSlowestPrenormal 1658 1667 +0.5% 0.99x (?)
StringComparison_slowerPrenormal 1806 1802 -0.2% 1.00x (?)
StringComparison_zalgo 111261 111291 +0.0% 1.00x (?)
StringEnumRawValueInitialization 858 857 -0.1% 1.00x (?)
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2232 2204 -1.3% 1.01x
StringHasPrefixUnicode 99111 98995 -0.1% 1.00x (?)
StringHasSuffixAscii 2289 2233 -2.4% 1.03x
StringHasSuffixUnicode 99676 99587 -0.1% 1.00x (?)
StringHashing_abnormal 1345 1361 +1.2% 0.99x (?)
StringHashing_ascii 33 33 +0.0% 1.00x
StringHashing_emoji 1888 1903 +0.8% 0.99x (?)
StringHashing_fastPrenormal 8353 8470 +1.4% 0.99x (?)
StringHashing_latin1 2556 2593 +1.4% 0.99x (?)
StringHashing_longSharedPrefix 7709 7741 +0.4% 1.00x (?)
StringHashing_nonBMPSlowestPrenormal 2059 2055 -0.2% 1.00x (?)
StringHashing_slowerPrenormal 2750 2764 +0.5% 0.99x (?)
StringHashing_zalgo 3493 3493 +0.0% 1.00x
StringInterpolation 9122 9050 -0.8% 1.01x (?)
StringInterpolationManySmallSegments 18603 18015 -3.2% 1.03x (?)
StringInterpolationSmall 4359 4170 -4.3% 1.05x
StringMatch 12394 12313 -0.7% 1.01x
StringRemoveDupes 489 487 -0.4% 1.00x (?)
StringUTF16Builder 2641 2639 -0.1% 1.00x (?)
StringUTF16SubstringBuilder 5778 5884 +1.8% 0.98x (?)
StringWalk 1557 1553 -0.3% 1.00x (?)
StringWithCString 124911 123105 -1.4% 1.01x
StringWordBuilder 2375 2296 -3.3% 1.03x
SubstringComparable 13 13 +0.0% 1.00x
SubstringEqualString 600 599 -0.2% 1.00x (?)
SubstringEquatable 1415 1397 -1.3% 1.01x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 74 74 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 21808 21619 -0.9% 1.01x (?)
SuffixAnySeqCRangeIter 3607 3630 +0.6% 0.99x
SuffixAnySeqCRangeIterLazy 3609 3637 +0.8% 0.99x (?)
SuffixAnySeqCntRange 17 17 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 17 17 +0.0% 1.00x
SuffixAnySequence 4919 4907 -0.2% 1.00x (?)
SuffixAnySequenceLazy 4999 4982 -0.3% 1.00x (?)
SuffixSequence 3600 3625 +0.7% 0.99x (?)
SuffixSequenceLazy 3583 3632 +1.4% 0.99x (?)
SumUsingReduce 97 97 +0.0% 1.00x
SumUsingReduceInto 101 102 +1.0% 0.99x
SuperChars 20134 20128 -0.0% 1.00x (?)
TwoSum 1482 1490 +0.5% 0.99x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 312 312 +0.0% 1.00x
UTF8Decode_InitDecoding 1348 1349 +0.1% 1.00x (?)
UTF8Decode_InitDecoding_ascii 651 652 +0.2% 1.00x (?)
UTF8Decode_InitFromBytes 1178 1185 +0.6% 0.99x (?)
UTF8Decode_InitFromBytes_ascii 501 481 -4.0% 1.04x (?)
UTF8Decode_InitFromData 1236 1252 +1.3% 0.99x (?)
UTF8Decode_InitFromData_ascii 689 701 +1.7% 0.98x (?)
Walsh 434 445 +2.5% 0.98x
WordCountHistogramASCII 8047 8061 +0.2% 1.00x (?)
WordCountHistogramUTF16 11290 11205 -0.8% 1.01x (?)
WordCountUniqueASCII 2132 2056 -3.6% 1.04x
WordCountUniqueUTF16 4629 4610 -0.4% 1.00x (?)
WordSplitASCII 9040 9265 +2.5% 0.98x (?)
WordSplitUTF16 10279 10659 +3.7% 0.96x (?)
XorLoop 401 402 +0.2% 1.00x (?)

Unoptimized (Onone)

Regression (10)
TEST OLD NEW DELTA SPEEDUP
UTF8Decode_InitFromData_ascii 705 835 +18.4% 0.84x (?)
CharIteration_russian_unicodeScalars_Backwards 209329 242128 +15.7% 0.86x (?)
DictionaryKeysContainsCocoa 63 72 +14.3% 0.88x (?)
DictionaryBridgeToObjC_Access 1634 1827 +11.8% 0.89x (?)
RandomDoubleLCG 58745 64847 +10.4% 0.91x
RandomDoubleDef 91963 101368 +10.2% 0.91x (?)
ArrayValueProp2 14911 16166 +8.4% 0.92x
DictionaryCompactMapValuesOfCastValue 125210 134540 +7.5% 0.93x (?)
BinaryFloatingPointPropertiesBinade 85 91 +7.1% 0.93x
CharacterPropertiesPrecomputed 3493 3725 +6.6% 0.94x (?)
Improvement (22)
TEST OLD NEW DELTA SPEEDUP
PrefixWhileAnySequenceLazy 15072 11195 -25.7% 1.35x (?)
DropWhileAnySequenceLazy 16439 12678 -22.9% 1.30x (?)
CharIteration_punctuated_unicodeScalars_Backwards 63996 54332 -15.1% 1.18x (?)
StackPromo 104250 93457 -10.4% 1.12x
FloatingPointPrinting_Float80_interpolated 127630 114991 -9.9% 1.11x
CharacterPropertiesStashed 2591 2359 -9.0% 1.10x (?)
CharIndexing_tweet_unicodeScalars 707764 647008 -8.6% 1.09x (?)
PrefixSequence 11136 10265 -7.8% 1.08x
DictionaryKeysContainsNative 60 56 -6.7% 1.07x (?)
Chars 37835 35319 -6.6% 1.07x
StringMatch 43863 40973 -6.6% 1.07x (?)
StringUTF16SubstringBuilder 23105 21646 -6.3% 1.07x (?)
UTF8Decode_InitFromBytes_ascii 527 494 -6.3% 1.07x (?)
StringEdits 380280 356478 -6.3% 1.07x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 119362 111895 -6.3% 1.07x (?)
Combos 2434 2283 -6.2% 1.07x (?)
ArrayOfGenericPOD2 1132 1073 -5.2% 1.05x
ObjectiveCBridgeStubToNSDate 16225 15397 -5.1% 1.05x (?)
WordSplitASCII 13920 13220 -5.0% 1.05x (?)
CharIndexing_punctuated_unicodeScalars 74787 71063 -5.0% 1.05x (?)
StringWithCString 43459 41331 -4.9% 1.05x
PrefixAnySequenceLazy 11120 10576 -4.9% 1.05x (?)
No Changes (428)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5278 5243 -0.7% 1.01x (?)
AnyHashableWithAClass 107445 107418 -0.0% 1.00x (?)
Array2D 618522 617630 -0.1% 1.00x (?)
ArrayAppend 4432 4547 +2.6% 0.97x
ArrayAppendArrayOfInt 871 870 -0.1% 1.00x (?)
ArrayAppendAscii 26923 27108 +0.7% 0.99x (?)
ArrayAppendAsciiSubstring 71531 71212 -0.4% 1.00x (?)
ArrayAppendFromGeneric 876 872 -0.5% 1.00x (?)
ArrayAppendGenericStructs 1503 1521 +1.2% 0.99x (?)
ArrayAppendLatin1 66506 66273 -0.4% 1.00x (?)
ArrayAppendLatin1Substring 160851 161112 +0.2% 1.00x (?)
ArrayAppendLazyMap 167003 166225 -0.5% 1.00x
ArrayAppendOptionals 1518 1510 -0.5% 1.01x (?)
ArrayAppendRepeatCol 189475 193496 +2.1% 0.98x
ArrayAppendReserved 4165 4279 +2.7% 0.97x
ArrayAppendSequence 104507 104088 -0.4% 1.00x
ArrayAppendStrings 6462 6340 -1.9% 1.02x
ArrayAppendToFromGeneric 866 878 +1.4% 0.99x (?)
ArrayAppendToGeneric 885 880 -0.6% 1.01x (?)
ArrayAppendUTF16 66445 65975 -0.7% 1.01x
ArrayAppendUTF16Substring 158488 158832 +0.2% 1.00x (?)
ArrayInClass 6343 6368 +0.4% 1.00x (?)
ArrayLiteral 1783 1795 +0.7% 0.99x
ArrayOfGenericRef 10509 10538 +0.3% 1.00x (?)
ArrayOfPOD 761 760 -0.1% 1.00x
ArrayOfRef 9663 9662 -0.0% 1.00x (?)
ArrayPlusEqualArrayOfInt 876 877 +0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 236235 237915 +0.7% 0.99x (?)
ArrayPlusEqualSingleElementCollection 233070 237306 +1.8% 0.98x (?)
ArrayPlusEqualThreeElements 9783 10029 +2.5% 0.98x (?)
ArraySubscript 108355 108672 +0.3% 1.00x (?)
ArrayValueProp 3663 3676 +0.4% 1.00x (?)
ArrayValueProp3 4223 4255 +0.8% 0.99x (?)
ArrayValueProp4 4145 4170 +0.6% 0.99x (?)
BinaryFloatingPointPropertiesNextUp 132 137 +3.8% 0.96x
BinaryFloatingPointPropertiesUlp 134 132 -1.5% 1.02x
BitCount 8674 8892 +2.5% 0.98x
ByteSwap 9834 9550 -2.9% 1.03x
COWArrayGuaranteedParameterOverhead 15240 15483 +1.6% 0.98x (?)
COWTree 12289 12161 -1.0% 1.01x (?)
CSVParsing 2889493 2875081 -0.5% 1.01x (?)
CSVParsingAlt 1416500 1431312 +1.0% 0.99x (?)
CSVParsingAltIndices 2552893 2467641 -3.3% 1.03x (?)
CStringLongAscii 4282 4123 -3.7% 1.04x
CStringLongNonAscii 2546 2458 -3.5% 1.04x (?)
CStringShortAscii 6146 6343 +3.2% 0.97x (?)
Calculator 1002 975 -2.7% 1.03x
CaptureProp 286465 285812 -0.2% 1.00x (?)
ChainedFilterMap 229944 229221 -0.3% 1.00x (?)
CharIndexing_ascii_unicodeScalars 319822 319275 -0.2% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 364297 358386 -1.6% 1.02x (?)
CharIndexing_chinese_unicodeScalars 241576 240639 -0.4% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 274716 271468 -1.2% 1.01x (?)
CharIndexing_japanese_unicodeScalars 383033 380528 -0.7% 1.01x (?)
CharIndexing_japanese_unicodeScalars_Backwards 439397 430015 -2.1% 1.02x (?)
CharIndexing_korean_unicodeScalars 307959 308626 +0.2% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 355407 349140 -1.8% 1.02x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 56237 56214 -0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 62918 62478 -0.7% 1.01x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 83572 80292 -3.9% 1.04x (?)
CharIndexing_russian_unicodeScalars 265606 265620 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 313435 301908 -3.7% 1.04x (?)
CharIndexing_tweet_unicodeScalars_Backwards 744877 725179 -2.6% 1.03x (?)
CharIndexing_utf16_unicodeScalars 282848 285933 +1.1% 0.99x (?)
CharIndexing_utf16_unicodeScalars_Backwards 318700 313044 -1.8% 1.02x (?)
CharIteration_ascii_unicodeScalars 147739 147163 -0.4% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 251752 246983 -1.9% 1.02x (?)
CharIteration_chinese_unicodeScalars 111491 110780 -0.6% 1.01x (?)
CharIteration_chinese_unicodeScalars_Backwards 194518 186680 -4.0% 1.04x (?)
CharIteration_japanese_unicodeScalars 176674 175849 -0.5% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 302205 296535 -1.9% 1.02x (?)
CharIteration_korean_unicodeScalars 143589 143117 -0.3% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 243791 239826 -1.6% 1.02x (?)
CharIteration_punctuatedJapanese_unicodeScalars 26266 26095 -0.7% 1.01x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 43818 43241 -1.3% 1.01x (?)
CharIteration_punctuated_unicodeScalars 32967 32774 -0.6% 1.01x (?)
CharIteration_russian_unicodeScalars 123565 122029 -1.2% 1.01x (?)
CharIteration_tweet_unicodeScalars 291046 290977 -0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 497758 489099 -1.7% 1.02x (?)
CharIteration_utf16_unicodeScalars 125160 125163 +0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 226965 217215 -4.3% 1.04x (?)
CharacterLiteralsLarge 5757 5750 -0.1% 1.00x (?)
CharacterLiteralsSmall 656 676 +3.0% 0.97x
CharacterPropertiesFetch 5812 5548 -4.5% 1.05x (?)
CharacterPropertiesStashedMemo 4587 4724 +3.0% 0.97x (?)
ClassArrayGetter 965 966 +0.1% 1.00x
DataAccessBytes 2334 2350 +0.7% 0.99x (?)
DataAppendArray 5261 5198 -1.2% 1.01x (?)
DataAppendBytes 4992 4878 -2.3% 1.02x (?)
DataAppendDataLargeToLarge 67879 67749 -0.2% 1.00x (?)
DataAppendDataLargeToMedium 35338 35825 +1.4% 0.99x (?)
DataAppendDataLargeToSmall 34429 34377 -0.2% 1.00x (?)
DataAppendDataMediumToLarge 22594 22596 +0.0% 1.00x (?)
DataAppendDataMediumToMedium 6738 6938 +3.0% 0.97x (?)
DataAppendDataMediumToSmall 5994 6112 +2.0% 0.98x (?)
DataAppendDataSmallToLarge 37158 37691 +1.4% 0.99x (?)
DataAppendDataSmallToMedium 6227 6183 -0.7% 1.01x (?)
DataAppendDataSmallToSmall 5816 6008 +3.3% 0.97x (?)
DataAppendSequence 1960976 1980122 +1.0% 0.99x
DataCopyBytes 468 472 +0.9% 0.99x (?)
DataCount 223 223 +0.0% 1.00x
DataMutateBytes 5150 5230 +1.6% 0.98x (?)
DataReplaceLarge 36922 36809 -0.3% 1.00x (?)
DataReplaceLargeBuffer 59596 59961 +0.6% 0.99x (?)
DataReplaceMedium 7922 7758 -2.1% 1.02x (?)
DataReplaceMediumBuffer 13017 12685 -2.6% 1.03x (?)
DataReplaceSmall 5741 5573 -2.9% 1.03x
DataReplaceSmallBuffer 9763 10194 +4.4% 0.96x (?)
DataReset 2865 2896 +1.1% 0.99x (?)
DataSetCount 569 559 -1.8% 1.02x (?)
DataSubscript 444 443 -0.2% 1.00x (?)
DictOfArraysToArrayOfDicts 3727 3686 -1.1% 1.01x (?)
Dictionary 2166 2165 -0.0% 1.00x (?)
Dictionary2 1274 1275 +0.1% 1.00x (?)
Dictionary2OfObjects 4264 4168 -2.3% 1.02x (?)
Dictionary3 834 832 -0.2% 1.00x
Dictionary3OfObjects 2085 2131 +2.2% 0.98x (?)
Dictionary4 1187 1196 +0.8% 0.99x (?)
Dictionary4Legacy 1443 1458 +1.0% 0.99x (?)
Dictionary4OfObjects 1807 1797 -0.6% 1.01x (?)
Dictionary4OfObjectsLegacy 2054 2068 +0.7% 0.99x (?)
DictionaryBridge 1326 1387 +4.6% 0.96x (?)
DictionaryBridgeToObjC_Bridge 19 19 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 167 175 +4.8% 0.95x (?)
DictionaryCompactMapValuesOfNilValue 34893 35199 +0.9% 0.99x (?)
DictionaryCopy 308877 311742 +0.9% 0.99x (?)
DictionaryFilter 324762 321416 -1.0% 1.01x (?)
DictionaryGroup 4398 4405 +0.2% 1.00x (?)
DictionaryGroupOfObjects 7108 7122 +0.2% 1.00x (?)
DictionaryLiteral 8530 8621 +1.1% 0.99x (?)
DictionaryOfObjects 5958 6230 +4.6% 0.96x
DictionaryRemove 16868 16860 -0.0% 1.00x (?)
DictionaryRemoveOfObjects 52758 53239 +0.9% 0.99x (?)
DictionarySubscriptDefaultMutation 1957 1969 +0.6% 0.99x (?)
DictionarySubscriptDefaultMutationArray 2231 2238 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9499 9508 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 5359 5503 +2.7% 0.97x (?)
DictionarySwap 4857 4929 +1.5% 0.99x
DictionarySwapAt 32210 32138 -0.2% 1.00x (?)
DictionarySwapAtOfObjects 113654 113770 +0.1% 1.00x (?)
DictionarySwapOfObjects 20468 19953 -2.5% 1.03x
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 15759 15868 +0.7% 0.99x
DropFirstAnyCollectionLazy 100105 103187 +3.1% 0.97x (?)
DropFirstAnySeqCRangeIter 24132 24156 +0.1% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 23979 24128 +0.6% 0.99x (?)
DropFirstAnySeqCntRange 15768 15865 +0.6% 0.99x (?)
DropFirstAnySeqCntRangeLazy 15573 15626 +0.3% 1.00x (?)
DropFirstAnySequence 13209 13114 -0.7% 1.01x
DropFirstAnySequenceLazy 13209 13286 +0.6% 0.99x (?)
DropFirstArray 3501 3577 +2.2% 0.98x (?)
DropFirstArrayLazy 29698 29744 +0.2% 1.00x (?)
DropFirstCountableRange 345 345 +0.0% 1.00x
DropFirstCountableRangeLazy 34779 35145 +1.1% 0.99x
DropFirstSequence 12644 12622 -0.2% 1.00x (?)
DropFirstSequenceLazy 12793 12678 -0.9% 1.01x (?)
DropLastAnyCollection 5248 5277 +0.6% 0.99x
DropLastAnyCollectionLazy 34301 35405 +3.2% 0.97x
DropLastAnySeqCRangeIter 39853 39742 -0.3% 1.00x (?)
DropLastAnySeqCRangeIterLazy 39720 39534 -0.5% 1.00x
DropLastAnySeqCntRange 5262 5269 +0.1% 1.00x (?)
DropLastAnySeqCntRangeLazy 5231 5201 -0.6% 1.01x (?)
DropLastAnySequence 30632 29314 -4.3% 1.04x
DropLastAnySequenceLazy 30523 29353 -3.8% 1.04x
DropLastCountableRange 119 119 +0.0% 1.00x
DropLastCountableRangeLazy 11695 11729 +0.3% 1.00x
DropLastSequence 30291 29461 -2.7% 1.03x
DropLastSequenceLazy 30360 29141 -4.0% 1.04x
DropWhileAnyCollection 20130 20218 +0.4% 1.00x
DropWhileAnyCollectionLazy 22909 22812 -0.4% 1.00x (?)
DropWhileAnySeqCRangeIter 24874 25051 +0.7% 0.99x (?)
DropWhileAnySeqCRangeIterLazy 22830 22703 -0.6% 1.01x (?)
DropWhileAnySeqCntRange 20100 20077 -0.1% 1.00x (?)
DropWhileAnySeqCntRangeLazy 23074 22798 -1.2% 1.01x (?)
DropWhileAnySequence 13917 13775 -1.0% 1.01x (?)
DropWhileArrayLazy 13666 13784 +0.9% 0.99x
DropWhileCountableRange 5012 5004 -0.2% 1.00x (?)
DropWhileCountableRangeLazy 22432 22281 -0.7% 1.01x
DropWhileSequence 13377 13460 +0.6% 0.99x (?)
DropWhileSequenceLazy 12102 12220 +1.0% 0.99x (?)
EqualStringSubstring 74 74 +0.0% 1.00x
EqualSubstringString 74 76 +2.7% 0.97x
EqualSubstringSubstring 73 72 -1.4% 1.01x
EqualSubstringSubstringGenericEquatable 57 57 +0.0% 1.00x
ErrorHandling 5188 5209 +0.4% 1.00x (?)
ExclusivityGlobal 186 192 +3.2% 0.97x
ExclusivityIndependent 73 74 +1.4% 0.99x (?)
FatCompactMap 291028 286246 -1.6% 1.02x (?)
FilterEvenUsingReduce 3543 3575 +0.9% 0.99x
FilterEvenUsingReduceInto 1833 1842 +0.5% 1.00x (?)
FloatingPointPrinting_Double_description_small 22194 22366 +0.8% 0.99x (?)
FloatingPointPrinting_Double_description_uniform 34474 34304 -0.5% 1.00x (?)
FloatingPointPrinting_Double_interpolated 96135 96630 +0.5% 0.99x (?)
FloatingPointPrinting_Float80_description_small 29547 29333 -0.7% 1.01x
FloatingPointPrinting_Float80_description_uniform 56992 57318 +0.6% 0.99x (?)
FloatingPointPrinting_Float_description_small 6499 6477 -0.3% 1.00x
FloatingPointPrinting_Float_description_uniform 17178 16962 -1.3% 1.01x
FloatingPointPrinting_Float_interpolated 70547 70458 -0.1% 1.00x (?)
FrequenciesUsingReduce 10530 10450 -0.8% 1.01x (?)
FrequenciesUsingReduceInto 3156 3161 +0.2% 1.00x (?)
Hanoi 19370 19366 -0.0% 1.00x (?)
HashTest 21004 21256 +1.2% 0.99x (?)
Histogram 6313 6308 -0.1% 1.00x (?)
Integrate 588 588 +0.0% 1.00x
IterateData 5010 4985 -0.5% 1.01x (?)
Join 190 190 +0.0% 1.00x
LazilyFilteredArrayContains 738594 746016 +1.0% 0.99x (?)
LazilyFilteredArrays 1431193 1419341 -0.8% 1.01x (?)
LazilyFilteredRange 537436 539046 +0.3% 1.00x
LessSubstringSubstring 73 72 -1.4% 1.01x
LessSubstringSubstringGenericComparable 57 57 +0.0% 1.00x
LinkedList 32441 32434 -0.0% 1.00x (?)
LuhnAlgoEager 6023 6150 +2.1% 0.98x (?)
LuhnAlgoLazy 6097 6246 +2.4% 0.98x (?)
MapReduce 25016 24990 -0.1% 1.00x (?)
MapReduceAnyCollection 25203 24848 -1.4% 1.01x (?)
MapReduceAnyCollectionShort 36511 36227 -0.8% 1.01x (?)
MapReduceClass 29073 29102 +0.1% 1.00x (?)
MapReduceClassShort 40435 40795 +0.9% 0.99x (?)
MapReduceLazyCollection 22478 22451 -0.1% 1.00x (?)
MapReduceLazyCollectionShort 33885 32943 -2.8% 1.03x (?)
MapReduceLazySequence 20447 20464 +0.1% 1.00x (?)
MapReduceSequence 30814 30713 -0.3% 1.00x (?)
MapReduceShort 36393 36520 +0.3% 1.00x (?)
MapReduceShortString 225 226 +0.4% 1.00x (?)
MapReduceString 1730 1722 -0.5% 1.00x (?)
Memset 45101 45121 +0.0% 1.00x (?)
MonteCarloE 1153719 1152481 -0.1% 1.00x (?)
MonteCarloPi 5243311 5255902 +0.2% 1.00x
NSDictionaryCastToSwift 7914 8013 +1.3% 0.99x (?)
NSError 624 601 -3.7% 1.04x (?)
NSStringConversion 751 748 -0.4% 1.00x
NibbleSort 514087 514225 +0.0% 1.00x (?)
NopDeinit 192048 197830 +3.0% 0.97x (?)
ObjectAllocation 1259 1263 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 29886 29187 -2.3% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 9452 9419 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 47476 49514 +4.3% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 48153 48372 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 53956 52297 -3.1% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 6083 6259 +2.9% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 77081 77156 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSString 2899 2953 +1.9% 0.98x (?)
ObjectiveCBridgeFromNSStringForced 2840 2887 +1.7% 0.98x (?)
ObjectiveCBridgeStubDataAppend 6732 6735 +0.0% 1.00x (?)
ObjectiveCBridgeStubDateMutation 747 746 -0.1% 1.00x (?)
ObjectiveCBridgeStubFromArrayOfNSString 36671 35567 -3.0% 1.03x (?)
ObjectiveCBridgeStubFromNSDate 6871 6792 -1.1% 1.01x (?)
ObjectiveCBridgeStubFromNSString 1085 1076 -0.8% 1.01x (?)
ObjectiveCBridgeStubFromNSStringRef 200 198 -1.0% 1.01x (?)
ObjectiveCBridgeStubNSDataAppend 3045 3061 +0.5% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 15363 15381 +0.1% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 39893 40231 +0.8% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3493 3469 -0.7% 1.01x (?)
ObjectiveCBridgeStubToNSString 2425 2427 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 153 153 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 283822 287336 +1.2% 0.99x (?)
ObjectiveCBridgeStubURLAppendPathRef 286571 292242 +2.0% 0.98x (?)
ObjectiveCBridgeToNSArray 15402 15452 +0.3% 1.00x (?)
ObjectiveCBridgeToNSDictionary 29264 29234 -0.1% 1.00x (?)
ObjectiveCBridgeToNSSet 18668 18874 +1.1% 0.99x (?)
ObjectiveCBridgeToNSString 539 538 -0.2% 1.00x (?)
ObserverClosure 6381 6384 +0.0% 1.00x (?)
ObserverForwarderStruct 4170 4178 +0.2% 1.00x (?)
ObserverPartiallyAppliedMethod 7936 7975 +0.5% 1.00x (?)
ObserverUnappliedMethod 7870 7908 +0.5% 1.00x (?)
OpaqueConsumingUsers 13419 13419 +0.0% 1.00x
OpenClose 557 554 -0.5% 1.01x (?)
PartialApplyDynamicType 39857 41862 +5.0% 0.95x
Phonebook 15803 16238 +2.8% 0.97x
PointerArithmetics 398607 379664 -4.8% 1.05x
PolymorphicCalls 2458 2444 -0.6% 1.01x (?)
PopFrontArray 4688 4653 -0.7% 1.01x
PopFrontArrayGeneric 6380 6366 -0.2% 1.00x (?)
PopFrontUnsafePointer 12734 12760 +0.2% 1.00x (?)
PrefixAnyCollection 15743 15824 +0.5% 0.99x
PrefixAnyCollectionLazy 103136 103929 +0.8% 0.99x (?)
PrefixAnySeqCRangeIter 19031 19223 +1.0% 0.99x (?)
PrefixAnySeqCRangeIterLazy 19105 19160 +0.3% 1.00x (?)
PrefixAnySeqCntRange 15720 15789 +0.4% 1.00x (?)
PrefixAnySeqCntRangeLazy 15621 15579 -0.3% 1.00x (?)
PrefixAnySequence 10634 10648 +0.1% 1.00x (?)
PrefixArray 3474 3583 +3.1% 0.97x
PrefixArrayLazy 29693 29799 +0.4% 1.00x (?)
PrefixCountableRange 345 346 +0.3% 1.00x
PrefixCountableRangeLazy 34770 35125 +1.0% 0.99x
PrefixSequenceLazy 10257 10279 +0.2% 1.00x (?)
PrefixWhileAnyCollection 29063 29252 +0.7% 0.99x (?)
PrefixWhileAnyCollectionLazy 18791 18721 -0.4% 1.00x (?)
PrefixWhileAnySeqCRangeIter 33720 33640 -0.2% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 18785 18592 -1.0% 1.01x
PrefixWhileAnySeqCntRange 29037 29229 +0.7% 0.99x
PrefixWhileAnySeqCntRangeLazy 18820 18939 +0.6% 0.99x
PrefixWhileAnySequence 26803 25850 -3.6% 1.04x
PrefixWhileArray 10585 10411 -1.6% 1.02x (?)
PrefixWhileArrayLazy 12108 12038 -0.6% 1.01x
PrefixWhileCountableRange 14077 14158 +0.6% 0.99x
PrefixWhileCountableRangeLazy 18571 18354 -1.2% 1.01x
PrefixWhileSequence 26544 26003 -2.0% 1.02x (?)
PrefixWhileSequenceLazy 11037 10913 -1.1% 1.01x (?)
Prims 9408 9330 -0.8% 1.01x (?)
PrimsSplit 9362 9302 -0.6% 1.01x (?)
QueueConcrete 13998 14075 +0.6% 0.99x
QueueGeneric 18332 18419 +0.5% 1.00x (?)
RC4 16202 16237 +0.2% 1.00x (?)
RGBHistogram 22812 22825 +0.1% 1.00x (?)
RGBHistogramOfObjects 81428 79518 -2.3% 1.02x (?)
Radix2CooleyTukey 46912 46750 -0.3% 1.00x
Radix2CooleyTukeyf 40339 40327 -0.0% 1.00x (?)
RandomIntegersDef 44808 44797 -0.0% 1.00x (?)
RandomIntegersLCG 32726 32881 +0.5% 1.00x
RandomShuffleDef 2170029 2174608 +0.2% 1.00x (?)
RandomShuffleLCG 1432951 1442593 +0.7% 0.99x
RangeAssignment 2861 2872 +0.4% 1.00x (?)
RangeIterationSigned 14693 14829 +0.9% 0.99x (?)
RangeReplaceableCollectionPlusDefault 11982 11906 -0.6% 1.01x (?)
RecursiveOwnedParameter 6173 6167 -0.1% 1.00x (?)
RemoveWhereFilterInts 2056 2057 +0.0% 1.00x (?)
RemoveWhereFilterString 1361 1351 -0.7% 1.01x (?)
RemoveWhereFilterStrings 2589 2600 +0.4% 1.00x
RemoveWhereMoveInts 3334 3336 +0.1% 1.00x (?)
RemoveWhereMoveStrings 3891 3905 +0.4% 1.00x
RemoveWhereQuadraticInts 8481 8468 -0.2% 1.00x (?)
RemoveWhereQuadraticString 2630 2609 -0.8% 1.01x
RemoveWhereQuadraticStrings 10091 10089 -0.0% 1.00x (?)
RemoveWhereSwapInts 5994 6002 +0.1% 1.00x (?)
RemoveWhereSwapStrings 6730 6755 +0.4% 1.00x
ReversedArray 12604 12802 +1.6% 0.98x
ReversedBidirectional 45039 45035 -0.0% 1.00x (?)
ReversedDictionary 23720 23533 -0.8% 1.01x (?)
RomanNumbers 1324208 1333289 +0.7% 0.99x (?)
SequenceAlgosAnySequence 13123 13122 -0.0% 1.00x (?)
SequenceAlgosArray 737274 734317 -0.4% 1.00x
SequenceAlgosContiguousArray 302890 299792 -1.0% 1.01x
SequenceAlgosList 8777 8770 -0.1% 1.00x (?)
SequenceAlgosRange 1285041 1283127 -0.1% 1.00x (?)
SequenceAlgosUnfoldSequence 6616 6560 -0.8% 1.01x
SetExclusiveOr 16350 16321 -0.2% 1.00x (?)
SetExclusiveOr_OfObjects 42229 42973 +1.8% 0.98x (?)
SetIntersect 6819 6851 +0.5% 1.00x
SetIntersect_OfObjects 10657 10630 -0.3% 1.00x (?)
SetIsSubsetOf 1217 1210 -0.6% 1.01x (?)
SetIsSubsetOf_OfObjects 2297 2300 +0.1% 1.00x (?)
SetUnion 11912 11834 -0.7% 1.01x (?)
SetUnion_OfObjects 30339 30612 +0.9% 0.99x (?)
SevenBoom 1025 1020 -0.5% 1.00x (?)
Sim2DArray 43854 43640 -0.5% 1.00x
SortLargeExistentials 9769 9844 +0.8% 0.99x
SortLettersInPlace 1595 1590 -0.3% 1.00x (?)
SortSortedStrings 913 916 +0.3% 1.00x
SortStrings 1891 1911 +1.1% 0.99x (?)
SortStringsUnicode 2830 2931 +3.6% 0.97x
StaticArray 2618 2617 -0.0% 1.00x (?)
StrComplexWalk 7052 7049 -0.0% 1.00x (?)
StrToInt 78907 82815 +5.0% 0.95x (?)
StringAdder 756 749 -0.9% 1.01x
StringBuilder 5039 5067 +0.6% 0.99x (?)
StringBuilderLong 1466 1480 +1.0% 0.99x (?)
StringBuilderSmallReservingCapacity 5230 5050 -3.4% 1.04x (?)
StringBuilderWithLongSubstring 3197 3341 +4.5% 0.96x (?)
StringComparison_abnormal 1316 1300 -1.2% 1.01x (?)
StringComparison_ascii 8819 8846 +0.3% 1.00x (?)
StringComparison_emoji 1989 1968 -1.1% 1.01x (?)
StringComparison_fastPrenormal 4861 4852 -0.2% 1.00x (?)
StringComparison_latin1 3777 3780 +0.1% 1.00x (?)
StringComparison_longSharedPrefix 2348 2344 -0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3722 3698 -0.6% 1.01x
StringComparison_slowerPrenormal 4149 4121 -0.7% 1.01x (?)
StringComparison_zalgo 114074 113950 -0.1% 1.00x (?)
StringEnumRawValueInitialization 21014 21361 +1.7% 0.98x
StringEqualPointerComparison 1747 1749 +0.1% 1.00x (?)
StringFromLongWholeSubstring 22 22 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 196 197 +0.5% 0.99x (?)
StringHasPrefixAscii 3263 3234 -0.9% 1.01x
StringHasPrefixUnicode 100807 100333 -0.5% 1.00x (?)
StringHasSuffixAscii 3294 3214 -2.4% 1.02x
StringHasSuffixUnicode 101078 100831 -0.2% 1.00x (?)
StringHashing_abnormal 1450 1463 +0.9% 0.99x (?)
StringHashing_ascii 207 208 +0.5% 1.00x
StringHashing_emoji 2075 2132 +2.7% 0.97x (?)
StringHashing_fastPrenormal 8622 8721 +1.1% 0.99x
StringHashing_latin1 2819 2853 +1.2% 0.99x (?)
StringHashing_longSharedPrefix 7861 7907 +0.6% 0.99x (?)
StringHashing_nonBMPSlowestPrenormal 2422 2314 -4.5% 1.05x (?)
StringHashing_slowerPrenormal 2938 2953 +0.5% 0.99x (?)
StringHashing_zalgo 3637 3637 +0.0% 1.00x
StringInterpolation 11871 11784 -0.7% 1.01x (?)
StringInterpolationManySmallSegments 18848 18619 -1.2% 1.01x (?)
StringInterpolationSmall 5991 6037 +0.8% 0.99x (?)
StringRemoveDupes 733 728 -0.7% 1.01x
StringUTF16Builder 7905 7921 +0.2% 1.00x (?)
StringWalk 13142 13501 +2.7% 0.97x
StringWordBuilder 2495 2475 -0.8% 1.01x
StringWordBuilderReservingCapacity 2048 2028 -1.0% 1.01x
SubstringComparable 1576 1583 +0.4% 1.00x
SubstringEqualString 1707 1707 +0.0% 1.00x
SubstringEquatable 5451 5338 -2.1% 1.02x (?)
SubstringFromLongString 15 15 +0.0% 1.00x
SubstringFromLongStringGeneric 105 104 -1.0% 1.01x
SuffixAnyCollection 5255 5282 +0.5% 0.99x
SuffixAnyCollectionLazy 33593 33622 +0.1% 1.00x (?)
SuffixAnySeqCRangeIter 35506 35627 +0.3% 1.00x
SuffixAnySeqCRangeIterLazy 35536 35599 +0.2% 1.00x (?)
SuffixAnySeqCntRange 5258 5260 +0.0% 1.00x (?)
SuffixAnySeqCntRangeLazy 5244 5215 -0.6% 1.01x
SuffixAnySequence 25970 25897 -0.3% 1.00x (?)
SuffixAnySequenceLazy 25798 25491 -1.2% 1.01x
SuffixCountableRange 119 119 +0.0% 1.00x
SuffixCountableRangeLazy 11681 11732 +0.4% 1.00x
SuffixSequence 25582 25370 -0.8% 1.01x
SuffixSequenceLazy 25734 25372 -1.4% 1.01x
SumUsingReduce 156112 156265 +0.1% 1.00x (?)
SumUsingReduceInto 149590 150294 +0.5% 1.00x
SuperChars 92818 97586 +5.1% 0.95x
TwoSum 3486 3467 -0.5% 1.01x (?)
TypeFlood 192 196 +2.1% 0.98x (?)
UTF8Decode 28865 28989 +0.4% 1.00x
UTF8Decode_InitDecoding 1400 1391 -0.6% 1.01x (?)
UTF8Decode_InitDecoding_ascii 895 895 +0.0% 1.00x
UTF8Decode_InitFromBytes 1200 1191 -0.7% 1.01x (?)
UTF8Decode_InitFromData 1271 1300 +2.3% 0.98x
Walsh 12515 12514 -0.0% 1.00x (?)
WordCountHistogramASCII 36744 36965 +0.6% 0.99x (?)
WordCountHistogramUTF16 42743 42480 -0.6% 1.01x (?)
WordCountUniqueASCII 7005 7001 -0.1% 1.00x (?)
WordCountUniqueUTF16 9582 9889 +3.2% 0.97x (?)
WordSplitUTF16 14602 14964 +2.5% 0.98x (?)
XorLoop 23784 23876 +0.4% 1.00x
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@airspeedswift airspeedswift merged commit bd7171b into swiftlang:master Jul 15, 2018
@jrose-apple
Copy link
Contributor

…Um. Is this worth the regression? NibbleSort and PhoneBook are both actual sorting tests, no?

@airspeedswift
Copy link
Member Author

NibbleSort is kind of a pathological case, but we do care about PhoneBook. But it's easier to debug why the hand-specialization is needed after landing on master. We can revert if it can't be figured out in time for 5.0. I raised https://bugs.swift.org/browse/SR-8267 to track that.

@airspeedswift
Copy link
Member Author

Also, note this isn't just for the sake of de-gybbing, this was code bloat in the std lib (two near-identical copies of multiple functions)

@airspeedswift airspeedswift deleted the degyb-sort branch August 18, 2018 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants