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

[SE-0206][stdlib] hash(into:)/hashValue cleanup #16154

Merged
merged 3 commits into from
Apr 30, 2018

Conversation

lorentey
Copy link
Member

@lorentey lorentey commented Apr 25, 2018

Add hash(into:) implementations for stdlib types that currently lack them, and remove hashValue implementations that can be generated by the compiler.

@lorentey lorentey force-pushed the hash-into-everywhere branch 2 times, most recently from cdf602b to 28d5607 Compare April 25, 2018 13:33
@lorentey lorentey changed the title [SE-0206][stdlib] Add missing hash(into:) declarations [SE-0206][stdlib] hash(into:)/hashValue cleanup Apr 25, 2018
@lorentey
Copy link
Member Author

@swift-ci please benchmark

@lorentey
Copy link
Member Author

@swift-ci test

@lorentey
Copy link
Member Author

hashValue not being @inlinable may affect some benchmarks that still use it. Let's see how much of an impact it has.

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (24)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 373 537 +44.0% 0.69x
SetIntersect_OfObjects 2036 2621 +28.7% 0.78x
SetUnion_OfObjects 10693 13310 +24.5% 0.80x
SetExclusiveOr_OfObjects 12676 15724 +24.0% 0.81x
RangeIterationSigned 154 179 +16.2% 0.86x
SetIsSubsetOf_OfObjects 482 552 +14.5% 0.87x
DictionarySwapOfObjects 8582 9551 +11.3% 0.90x (?)
DictionarySubscriptDefaultMutationOfObjects 1707 1889 +10.7% 0.90x
Dictionary3OfObjects 743 821 +10.5% 0.90x
Dictionary2OfObjects 2135 2350 +10.1% 0.91x
StringAdder 621 677 +9.0% 0.92x
StringBuilder 655 707 +7.9% 0.93x
RemoveWhereFilterInts 38 41 +7.9% 0.93x
Prims 1043 1125 +7.9% 0.93x
DictionaryOfObjects 2330 2508 +7.6% 0.93x (?)
DictionaryGroupOfObjects 2072 2227 +7.5% 0.93x
DropFirstAnySequenceLazy 4487 4819 +7.4% 0.93x (?)
RGBHistogramOfObjects 22754 24344 +7.0% 0.93x
DataAppendArray 5479 5856 +6.9% 0.94x (?)
PrimsSplit 1051 1123 +6.9% 0.94x
StringComparison_fastPrenormal 694 741 +6.8% 0.94x
DictionaryRemoveOfObjects 25934 27662 +6.7% 0.94x
DataCopyBytes 2243 2390 +6.6% 0.94x
CStringLongNonAscii 1961 2071 +5.6% 0.95x
Improvement (17)
TEST OLD NEW DELTA SPEEDUP
WordSplitUTF16 9340 7439 -20.4% 1.26x
WordSplitASCII 7199 5878 -18.3% 1.22x
StringWordBuilder 2301 2066 -10.2% 1.11x (?)
StringRemoveDupes 719 651 -9.5% 1.10x
FrequenciesUsingReduceInto 1602 1451 -9.4% 1.10x
CharIndexing_tweet_unicodeScalars 30349 27738 -8.6% 1.09x
CharIndexing_japanese_unicodeScalars 18641 17128 -8.1% 1.09x
CharIndexing_ascii_unicodeScalars 15568 14309 -8.1% 1.09x
CharIndexing_korean_unicodeScalars 15098 13879 -8.1% 1.09x
CharIndexing_russian_unicodeScalars 12970 11926 -8.0% 1.09x
CharIndexing_chinese_unicodeScalars 11787 10840 -8.0% 1.09x
RemoveWhereMoveInts 13 12 -7.7% 1.08x
CharIndexing_punctuated_unicodeScalars 3517 3248 -7.6% 1.08x
CharIndexing_punctuatedJapanese_unicodeScalars 2811 2598 -7.6% 1.08x
ObjectiveCBridgeToNSDictionary 23396 21847 -6.6% 1.07x (?)
CharIteration_tweet_unicodeScalars 37970 35920 -5.4% 1.06x
ObjectiveCBridgeFromNSArrayAnyObjectForced 4346 4116 -5.3% 1.06x (?)
No Changes (381)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3311 3462 +4.6% 0.96x (?)
AnyHashableWithAClass 75494 76102 +0.8% 0.99x (?)
Array2D 2273 2274 +0.0% 1.00x (?)
ArrayAppend 975 977 +0.2% 1.00x (?)
ArrayAppendArrayOfInt 670 671 +0.1% 1.00x (?)
ArrayAppendAscii 12451 12599 +1.2% 0.99x
ArrayAppendFromGeneric 672 673 +0.1% 1.00x (?)
ArrayAppendGenericStructs 1208 1208 +0.0% 1.00x
ArrayAppendLatin1 36410 36509 +0.3% 1.00x (?)
ArrayAppendLazyMap 1175 1174 -0.1% 1.00x (?)
ArrayAppendOptionals 1205 1208 +0.2% 1.00x (?)
ArrayAppendRepeatCol 1175 1175 +0.0% 1.00x
ArrayAppendReserved 747 748 +0.1% 1.00x (?)
ArrayAppendSequence 977 976 -0.1% 1.00x (?)
ArrayAppendStrings 5583 5660 +1.4% 0.99x
ArrayAppendToFromGeneric 671 672 +0.1% 1.00x (?)
ArrayAppendToGeneric 673 672 -0.1% 1.00x (?)
ArrayAppendUTF16 35764 35776 +0.0% 1.00x (?)
ArrayInClass 77 77 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 129 129 +0.0% 1.00x
ArrayOfGenericRef 3893 3957 +1.6% 0.98x (?)
ArrayOfPOD 155 155 +0.0% 1.00x
ArrayOfRef 3905 3912 +0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 670 671 +0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 4903 4926 +0.5% 1.00x (?)
ArrayPlusEqualSingleElementCollection 975 976 +0.1% 1.00x (?)
ArrayPlusEqualThreeElements 1492 1491 -0.1% 1.00x (?)
ArraySubscript 1366 1371 +0.4% 1.00x (?)
ArrayValueProp 7 7 +0.0% 1.00x
ArrayValueProp2 7 7 +0.0% 1.00x
ArrayValueProp3 7 7 +0.0% 1.00x
ArrayValueProp4 7 7 +0.0% 1.00x
BinaryFloatingPointPropertiesBinade 23 23 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 25 25 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 31 31 +0.0% 1.00x
BitCount 181 181 +0.0% 1.00x
ByteSwap 91 91 +0.0% 1.00x
COWTree 4841 4776 -1.3% 1.01x (?)
CSVParsing 633242 636104 +0.5% 1.00x (?)
CSVParsingAlt 700697 695813 -0.7% 1.01x (?)
CSVParsingAltIndices 312099 316246 +1.3% 0.99x (?)
CStringLongAscii 4164 4169 +0.1% 1.00x (?)
CStringShortAscii 2819 2834 +0.5% 0.99x (?)
Calculator 969 994 +2.6% 0.97x
CaptureProp 3686 3665 -0.6% 1.01x (?)
ChainedFilterMap 1263 1263 +0.0% 1.00x
CharIndexing_ascii_unicodeScalars_Backwards 14670 14356 -2.1% 1.02x
CharIndexing_chinese_unicodeScalars_Backwards 11111 10873 -2.1% 1.02x
CharIndexing_japanese_unicodeScalars_Backwards 17560 17186 -2.1% 1.02x
CharIndexing_korean_unicodeScalars_Backwards 14230 13920 -2.2% 1.02x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2661 2601 -2.3% 1.02x
CharIndexing_punctuated_unicodeScalars_Backwards 3330 3255 -2.3% 1.02x
CharIndexing_russian_unicodeScalars_Backwards 12225 11963 -2.1% 1.02x
CharIndexing_tweet_unicodeScalars_Backwards 28926 28009 -3.2% 1.03x
CharIndexing_utf16_unicodeScalars 20783 20269 -2.5% 1.03x
CharIndexing_utf16_unicodeScalars_Backwards 20996 20890 -0.5% 1.01x (?)
CharIteration_ascii_unicodeScalars 19234 18491 -3.9% 1.04x
CharIteration_ascii_unicodeScalars_Backwards 13546 13458 -0.6% 1.01x
CharIteration_chinese_unicodeScalars 14550 13977 -3.9% 1.04x
CharIteration_chinese_unicodeScalars_Backwards 10261 10194 -0.7% 1.01x
CharIteration_japanese_unicodeScalars 23033 22149 -3.8% 1.04x
CharIteration_japanese_unicodeScalars_Backwards 16221 16108 -0.7% 1.01x (?)
CharIteration_korean_unicodeScalars 18653 17929 -3.9% 1.04x
CharIteration_korean_unicodeScalars_Backwards 13138 13050 -0.7% 1.01x
CharIteration_punctuatedJapanese_unicodeScalars 3425 3301 -3.6% 1.04x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2452 2442 -0.4% 1.00x (?)
CharIteration_punctuated_unicodeScalars 4310 4158 -3.5% 1.04x
CharIteration_punctuated_unicodeScalars_Backwards 3069 3053 -0.5% 1.01x (?)
CharIteration_russian_unicodeScalars 16001 15383 -3.9% 1.04x
CharIteration_russian_unicodeScalars_Backwards 11288 11215 -0.6% 1.01x
CharIteration_tweet_unicodeScalars_Backwards 26757 26538 -0.8% 1.01x
CharIteration_utf16_unicodeScalars 25083 24822 -1.0% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 16652 16760 +0.6% 0.99x (?)
CharacterLiteralsLarge 5250 5253 +0.1% 1.00x (?)
CharacterLiteralsSmall 195 195 +0.0% 1.00x
CharacterPropertiesFetch 4046 4069 +0.6% 0.99x (?)
CharacterPropertiesPrecomputed 1105 1112 +0.6% 0.99x (?)
CharacterPropertiesStashed 1302 1294 -0.6% 1.01x (?)
CharacterPropertiesStashedMemo 1497 1510 +0.9% 0.99x (?)
Chars 1089 1090 +0.1% 1.00x (?)
ClassArrayGetter 13 13 +0.0% 1.00x
Combos 442 437 -1.1% 1.01x (?)
DataAccessBytes 1096 1091 -0.5% 1.00x (?)
DataAppendBytes 5316 5312 -0.1% 1.00x (?)
DataAppendDataLargeToLarge 61443 61171 -0.4% 1.00x (?)
DataAppendDataLargeToMedium 32468 32510 +0.1% 1.00x (?)
DataAppendDataLargeToSmall 31486 31477 -0.0% 1.00x (?)
DataAppendDataMediumToLarge 34616 34556 -0.2% 1.00x (?)
DataAppendDataMediumToMedium 6865 7080 +3.1% 0.97x (?)
DataAppendDataMediumToSmall 6171 6202 +0.5% 1.00x (?)
DataAppendDataSmallToLarge 33626 33759 +0.4% 1.00x (?)
DataAppendDataSmallToMedium 6327 6486 +2.5% 0.98x (?)
DataAppendDataSmallToSmall 6272 5990 -4.5% 1.05x (?)
DataAppendSequence 17369 17199 -1.0% 1.01x (?)
DataCount 34 34 +0.0% 1.00x
DataMutateBytes 3909 3919 +0.3% 1.00x (?)
DataReplaceLarge 36505 37596 +3.0% 0.97x (?)
DataReplaceLargeBuffer 51812 52270 +0.9% 0.99x (?)
DataReplaceMedium 10132 10111 -0.2% 1.00x (?)
DataReplaceMediumBuffer 10804 11266 +4.3% 0.96x (?)
DataReplaceSmall 7890 8002 +1.4% 0.99x (?)
DataReplaceSmallBuffer 8323 8541 +2.6% 0.97x (?)
DataReset 2855 2862 +0.2% 1.00x (?)
DataSetCount 792 785 -0.9% 1.01x
DataSubscript 212 213 +0.5% 1.00x
DictOfArraysToArrayOfDicts 734 731 -0.4% 1.00x (?)
Dictionary 654 655 +0.2% 1.00x (?)
Dictionary2 781 772 -1.2% 1.01x (?)
Dictionary3 267 263 -1.5% 1.02x (?)
Dictionary4 309 312 +1.0% 0.99x (?)
Dictionary4OfObjects 465 470 +1.1% 0.99x (?)
DictionaryBridge 1059 1073 +1.3% 0.99x (?)
DictionaryCopy 107928 107840 -0.1% 1.00x (?)
DictionaryFilter 107226 107046 -0.2% 1.00x (?)
DictionaryGroup 251 251 +0.0% 1.00x
DictionaryLiteral 1902 1887 -0.8% 1.01x (?)
DictionaryRemove 4885 4872 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutation 307 307 +0.0% 1.00x
DictionarySubscriptDefaultMutationArray 631 625 -1.0% 1.01x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 3744 3937 +5.2% 0.95x (?)
DictionarySwap 1339 1331 -0.6% 1.01x (?)
DictionarySwapAt 6234 6218 -0.3% 1.00x (?)
DictionarySwapAtOfObjects 47362 48542 +2.5% 0.98x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 75 75 +0.0% 1.00x
DropFirstAnyCollectionLazy 56364 56285 -0.1% 1.00x (?)
DropFirstAnySeqCRangeIter 19328 19007 -1.7% 1.02x (?)
DropFirstAnySeqCRangeIterLazy 19332 19000 -1.7% 1.02x (?)
DropFirstAnySeqCntRange 36 36 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 37 36 -2.7% 1.03x
DropFirstAnySequence 4552 4452 -2.2% 1.02x (?)
DropFirstArray 31 31 +0.0% 1.00x
DropFirstArrayLazy 31 31 +0.0% 1.00x
DropFirstCountableRange 31 31 +0.0% 1.00x
DropFirstCountableRangeLazy 31 31 +0.0% 1.00x
DropFirstSequence 2404 2404 +0.0% 1.00x
DropFirstSequenceLazy 2489 2482 -0.3% 1.00x (?)
DropLastAnyCollection 27 27 +0.0% 1.00x
DropLastAnyCollectionLazy 18630 18534 -0.5% 1.01x (?)
DropLastAnySeqCRangeIter 3263 3223 -1.2% 1.01x
DropLastAnySeqCRangeIterLazy 3275 3222 -1.6% 1.02x (?)
DropLastAnySeqCntRange 12 12 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 12 12 +0.0% 1.00x
DropLastAnySequence 4544 4536 -0.2% 1.00x (?)
DropLastAnySequenceLazy 4649 4652 +0.1% 1.00x (?)
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropLastSequence 490 483 -1.4% 1.01x (?)
DropLastSequenceLazy 490 483 -1.4% 1.01x
DropWhileAnyCollection 96 96 +0.0% 1.00x
DropWhileAnyCollectionLazy 112 112 +0.0% 1.00x
DropWhileAnySeqCRangeIter 15204 15036 -1.1% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 112 112 +0.0% 1.00x
DropWhileAnySeqCntRange 45 45 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 112 112 +0.0% 1.00x
DropWhileAnySequence 4371 4341 -0.7% 1.01x (?)
DropWhileAnySequenceLazy 1664 1664 +0.0% 1.00x
DropWhileArrayLazy 79 79 +0.0% 1.00x
DropWhileCountableRange 32 32 +0.0% 1.00x
DropWhileCountableRangeLazy 94 94 +0.0% 1.00x
DropWhileSequence 1983 1981 -0.1% 1.00x (?)
DropWhileSequenceLazy 79 79 +0.0% 1.00x
EqualStringSubstring 50 50 +0.0% 1.00x
EqualSubstringString 57 57 +0.0% 1.00x
EqualSubstringSubstring 44 43 -2.3% 1.02x
EqualSubstringSubstringGenericEquatable 44 44 +0.0% 1.00x
ErrorHandling 1332 1367 +2.6% 0.97x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 187126 182715 -2.4% 1.02x
FilterEvenUsingReduce 1166 1165 -0.1% 1.00x (?)
FilterEvenUsingReduceInto 135 133 -1.5% 1.02x (?)
FloatingPointPrinting_Double_description_small 21017 21008 -0.0% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 20734 20679 -0.3% 1.00x (?)
FloatingPointPrinting_Double_interpolated 68848 69861 +1.5% 0.99x (?)
FloatingPointPrinting_Float80_description_small 27605 27827 +0.8% 0.99x (?)
FloatingPointPrinting_Float80_description_uniform 26886 26931 +0.2% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 71853 72810 +1.3% 0.99x (?)
FloatingPointPrinting_Float_description_small 4663 4659 -0.1% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 4704 4607 -2.1% 1.02x
FloatingPointPrinting_Float_interpolated 46852 47619 +1.6% 0.98x (?)
FrequenciesUsingReduce 4626 4486 -3.0% 1.03x (?)
Hanoi 1901 1962 +3.2% 0.97x (?)
HashTest 906 916 +1.1% 0.99x (?)
Histogram 812 811 -0.1% 1.00x (?)
Integrate 300 300 +0.0% 1.00x
IterateData 1636 1642 +0.4% 1.00x (?)
Join 162 162 +0.0% 1.00x
LazilyFilteredArrayContains 32885 31817 -3.2% 1.03x
LazilyFilteredArrays 59526 59001 -0.9% 1.01x (?)
LazilyFilteredRange 3465 3449 -0.5% 1.00x (?)
LessSubstringSubstring 44 43 -2.3% 1.02x
LessSubstringSubstringGenericComparable 44 44 +0.0% 1.00x
LinkedList 6762 6746 -0.2% 1.00x
LuhnAlgoEager 266 266 +0.0% 1.00x
LuhnAlgoLazy 268 267 -0.4% 1.00x (?)
MapReduce 357 358 +0.3% 1.00x (?)
MapReduceAnyCollection 360 360 +0.0% 1.00x
MapReduceAnyCollectionShort 2031 2034 +0.1% 1.00x (?)
MapReduceClass 2699 2684 -0.6% 1.01x (?)
MapReduceClassShort 4127 4093 -0.8% 1.01x (?)
MapReduceLazyCollection 12 12 +0.0% 1.00x
MapReduceLazyCollectionShort 33 33 +0.0% 1.00x
MapReduceLazySequence 77 77 +0.0% 1.00x
MapReduceSequence 405 403 -0.5% 1.00x (?)
MapReduceShort 1800 1789 -0.6% 1.01x (?)
MapReduceShortString 27 27 +0.0% 1.00x
MapReduceString 71 71 +0.0% 1.00x
Memset 193 192 -0.5% 1.01x (?)
MonteCarloE 9286 9289 +0.0% 1.00x (?)
MonteCarloPi 38395 38412 +0.0% 1.00x (?)
NSDictionaryCastToSwift 4911 4961 +1.0% 0.99x (?)
NSError 154 156 +1.3% 0.99x (?)
NSStringConversion 631 619 -1.9% 1.02x
NibbleSort 3293 3293 +0.0% 1.00x
NopDeinit 28913 28979 +0.2% 1.00x (?)
ObjectAllocation 118 119 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObject 21552 21744 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 40076 39247 -2.1% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39664 38147 -3.8% 1.04x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 100003 98063 -1.9% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 43583 44047 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4221 4261 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 56854 59098 +3.9% 0.96x (?)
ObjectiveCBridgeFromNSString 1091 1074 -1.6% 1.02x (?)
ObjectiveCBridgeFromNSStringForced 2397 2378 -0.8% 1.01x (?)
ObjectiveCBridgeStubDataAppend 10115 9932 -1.8% 1.02x (?)
ObjectiveCBridgeStubDateMutation 359 359 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29130 28726 -1.4% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 5763 5838 +1.3% 0.99x (?)
ObjectiveCBridgeStubFromNSString 917 915 -0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 142 144 +1.4% 0.99x (?)
ObjectiveCBridgeStubNSDataAppend 2288 2264 -1.0% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 11569 11793 +1.9% 0.98x (?)
ObjectiveCBridgeStubToArrayOfNSString 34157 34124 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSDate 13231 13012 -1.7% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3013 3022 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSString 2135 2135 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 101 101 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 250582 255562 +2.0% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 245524 250401 +2.0% 0.98x (?)
ObjectiveCBridgeToNSArray 12705 12635 -0.6% 1.01x (?)
ObjectiveCBridgeToNSSet 14582 14289 -2.0% 1.02x (?)
ObjectiveCBridgeToNSString 436 442 +1.4% 0.99x (?)
ObserverClosure 1903 1916 +0.7% 0.99x (?)
ObserverForwarderStruct 1066 1066 +0.0% 1.00x
ObserverPartiallyAppliedMethod 3330 3346 +0.5% 1.00x (?)
ObserverUnappliedMethod 2287 2295 +0.3% 1.00x (?)
OpenClose 236 233 -1.3% 1.01x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4491 4537 +1.0% 0.99x
PointerArithmetics 28253 28259 +0.0% 1.00x (?)
PolymorphicCalls 22 22 +0.0% 1.00x
PopFrontArray 1673 1673 +0.0% 1.00x
PopFrontArrayGeneric 1681 1681 +0.0% 1.00x
PopFrontUnsafePointer 8055 8058 +0.0% 1.00x (?)
PrefixAnyCollection 75 75 +0.0% 1.00x
PrefixAnyCollectionLazy 56383 56106 -0.5% 1.00x (?)
PrefixAnySeqCRangeIter 15074 14798 -1.8% 1.02x (?)
PrefixAnySeqCRangeIterLazy 15072 14695 -2.5% 1.03x (?)
PrefixAnySeqCntRange 25 25 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 25 25 +0.0% 1.00x
PrefixAnySequence 3900 3895 -0.1% 1.00x (?)
PrefixAnySequenceLazy 3898 3897 -0.0% 1.00x (?)
PrefixArray 31 31 +0.0% 1.00x
PrefixArrayLazy 31 31 +0.0% 1.00x
PrefixCountableRange 31 31 +0.0% 1.00x
PrefixCountableRangeLazy 31 31 +0.0% 1.00x
PrefixSequence 1994 1985 -0.5% 1.00x
PrefixSequenceLazy 2040 2041 +0.0% 1.00x (?)
PrefixWhileAnyCollection 138 138 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 81 81 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 8097 7952 -1.8% 1.02x
PrefixWhileAnySeqCRangeIterLazy 65 65 +0.0% 1.00x
PrefixWhileAnySeqCntRange 53 53 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 81 81 +0.0% 1.00x
PrefixWhileAnySequence 9115 9048 -0.7% 1.01x (?)
PrefixWhileAnySequenceLazy 1249 1249 +0.0% 1.00x
PrefixWhileArray 79 79 +0.0% 1.00x
PrefixWhileArrayLazy 63 63 +0.0% 1.00x
PrefixWhileCountableRange 33 32 -3.0% 1.03x
PrefixWhileCountableRangeLazy 31 31 +0.0% 1.00x
PrefixWhileSequence 323 323 +0.0% 1.00x
PrefixWhileSequenceLazy 47 47 +0.0% 1.00x
QueueConcrete 1011 1010 -0.1% 1.00x (?)
QueueGeneric 1012 1010 -0.2% 1.00x (?)
RC4 150 152 +1.3% 0.99x
RGBHistogram 3565 3543 -0.6% 1.01x (?)
RangeAssignment 316 302 -4.4% 1.05x
RangeReplaceableCollectionPlusDefault 894 903 +1.0% 0.99x (?)
RecursiveOwnedParameter 103 103 +0.0% 1.00x
RemoveWhereFilterString 313 312 -0.3% 1.00x (?)
RemoveWhereFilterStrings 385 385 +0.0% 1.00x
RemoveWhereMoveStrings 629 629 +0.0% 1.00x
RemoveWhereQuadraticInts 1154 1153 -0.1% 1.00x (?)
RemoveWhereQuadraticString 443 442 -0.2% 1.00x (?)
RemoveWhereQuadraticStrings 2470 2470 +0.0% 1.00x
RemoveWhereSwapInts 17 17 +0.0% 1.00x
RemoveWhereSwapStrings 763 760 -0.4% 1.00x (?)
ReversedArray 51 51 +0.0% 1.00x
ReversedBidirectional 14861 14888 +0.2% 1.00x (?)
ReversedDictionary 277 277 +0.0% 1.00x
RomanNumbers 122268 124717 +2.0% 0.98x (?)
SequenceAlgosAnySequence 10763 10490 -2.5% 1.03x
SequenceAlgosArray 1387 1386 -0.1% 1.00x (?)
SequenceAlgosContiguousArray 1386 1386 +0.0% 1.00x
SequenceAlgosList 1215 1213 -0.2% 1.00x (?)
SequenceAlgosRange 2311 2311 +0.0% 1.00x
SequenceAlgosUnfoldSequence 989 989 +0.0% 1.00x
SetExclusiveOr 5787 5788 +0.0% 1.00x (?)
SetIntersect 865 870 +0.6% 0.99x (?)
SetIsSubsetOf 335 335 +0.0% 1.00x
SetUnion 5018 5131 +2.3% 0.98x (?)
SevenBoom 789 789 +0.0% 1.00x
SortLargeExistentials 5527 5480 -0.9% 1.01x (?)
SortLettersInPlace 948 947 -0.1% 1.00x (?)
SortSortedStrings 896 917 +2.3% 0.98x
SortStrings 1824 1844 +1.1% 0.99x
SortStringsUnicode 2254 2334 +3.5% 0.97x
StackPromo 20326 20347 +0.1% 1.00x (?)
StaticArray 8 8 +0.0% 1.00x
StrComplexWalk 1599 1605 +0.4% 1.00x (?)
StrToInt 2561 2542 -0.7% 1.01x
StringBuilderLong 1091 1091 +0.0% 1.00x
StringBuilderWithLongSubstring 1248 1245 -0.2% 1.00x (?)
StringComparison_abnormal 712 732 +2.8% 0.97x
StringComparison_ascii 1118 1149 +2.8% 0.97x
StringComparison_emoji 720 705 -2.1% 1.02x
StringComparison_latin1 549 575 +4.7% 0.95x
StringComparison_longSharedPrefix 827 837 +1.2% 0.99x
StringComparison_nonBMPSlowestPrenormal 1418 1386 -2.3% 1.02x (?)
StringComparison_slowerPrenormal 1514 1478 -2.4% 1.02x (?)
StringComparison_zalgo 112096 111169 -0.8% 1.01x (?)
StringEdits 154629 152984 -1.1% 1.01x (?)
StringEnumRawValueInitialization 746 742 -0.5% 1.01x (?)
StringEqualPointerComparison 265 256 -3.4% 1.04x
StringFromLongWholeSubstring 18 18 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 19 19 +0.0% 1.00x
StringHasPrefixAscii 1746 1823 +4.4% 0.96x
StringHasPrefixUnicode 97289 99224 +2.0% 0.98x (?)
StringHasSuffixAscii 1874 1952 +4.2% 0.96x
StringHasSuffixUnicode 101569 102869 +1.3% 0.99x (?)
StringInterpolation 8956 9004 +0.5% 0.99x (?)
StringInterpolationManySmallSegments 16748 17238 +2.9% 0.97x (?)
StringInterpolationSmall 5767 5885 +2.0% 0.98x (?)
StringMatch 9891 10281 +3.9% 0.96x
StringUTF16Builder 2485 2434 -2.1% 1.02x (?)
StringUTF16SubstringBuilder 5311 5089 -4.2% 1.04x (?)
StringWalk 1275 1284 +0.7% 0.99x (?)
StringWithCString 36417 36418 +0.0% 1.00x (?)
StringWordBuilderReservingCapacity 1773 1711 -3.5% 1.04x
SubstringComparable 23 24 +4.3% 0.96x
SubstringEqualString 692 681 -1.6% 1.02x
SubstringEquatable 1225 1216 -0.7% 1.01x (?)
SubstringFromLongString 9 9 +0.0% 1.00x
SubstringFromLongStringGeneric 67 67 +0.0% 1.00x
SuffixAnyCollection 27 27 +0.0% 1.00x
SuffixAnyCollectionLazy 18609 18649 +0.2% 1.00x (?)
SuffixAnySeqCRangeIter 3482 3430 -1.5% 1.02x
SuffixAnySeqCRangeIterLazy 3480 3428 -1.5% 1.02x
SuffixAnySeqCntRange 18 18 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 18 18 +0.0% 1.00x
SuffixAnySequence 4532 4524 -0.2% 1.00x (?)
SuffixAnySequenceLazy 4639 4617 -0.5% 1.00x (?)
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 3316 3283 -1.0% 1.01x (?)
SuffixSequenceLazy 3319 3286 -1.0% 1.01x
SumUsingReduce 91 87 -4.4% 1.05x
SumUsingReduceInto 87 91 +4.6% 0.96x
SuperChars 13123 13107 -0.1% 1.00x (?)
TwoSum 1582 1583 +0.1% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 264 261 -1.1% 1.01x
Walsh 364 361 -0.8% 1.01x (?)
WordCountHistogramASCII 7215 7280 +0.9% 0.99x (?)
WordCountHistogramUTF16 13040 12962 -0.6% 1.01x (?)
WordCountUniqueASCII 2240 2225 -0.7% 1.01x (?)
WordCountUniqueUTF16 7296 6973 -4.4% 1.05x (?)
XorLoop 343 343 +0.0% 1.00x

Unoptimized (Onone)

Regression (12)
TEST OLD NEW DELTA SPEEDUP
CharIndexing_tweet_unicodeScalars_Backwards 683229 804290 +17.7% 0.85x (?)
DataReplaceSmallBuffer 8015 8966 +11.9% 0.89x (?)
NSDictionaryCastToSwift 5992 6644 +10.9% 0.90x (?)
SuffixAnySeqCRangeIterLazy 32641 36038 +10.4% 0.91x
FloatingPointPrinting_Float_interpolated 63177 69416 +9.9% 0.91x (?)
StringWithCString 37053 40542 +9.4% 0.91x
SuffixAnySeqCRangeIter 33042 35998 +8.9% 0.92x
CharIndexing_ascii_unicodeScalars_Backwards 349644 379072 +8.4% 0.92x (?)
StackPromo 88820 95928 +8.0% 0.93x (?)
DataAppendBytes 4718 5006 +6.1% 0.94x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5211 5516 +5.9% 0.94x (?)
PrefixAnyCollectionLazy 89042 94103 +5.7% 0.95x (?)
Improvement (23)
TEST OLD NEW DELTA SPEEDUP
WordSplitUTF16 12410 10365 -16.5% 1.20x
SetIntersect_OfObjects 11253 9517 -15.4% 1.18x
WordSplitASCII 10362 8817 -14.9% 1.18x
PrefixWhileAnySeqCRangeIterLazy 19395 16562 -14.6% 1.17x (?)
CharIndexing_korean_unicodeScalars_Backwards 371586 319333 -14.1% 1.16x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 85178 73679 -13.5% 1.16x (?)
SetIsSubsetOf_OfObjects 1743 1513 -13.2% 1.15x
PrefixWhileAnyCollectionLazy 18888 16706 -11.6% 1.13x (?)
PrefixWhileAnySeqCntRangeLazy 18594 16650 -10.5% 1.12x (?)
StringInterpolation 11932 10790 -9.6% 1.11x
WordCountUniqueASCII 7392 6700 -9.4% 1.10x
Dictionary4OfObjects 1844 1673 -9.3% 1.10x
WordCountUniqueUTF16 12848 11688 -9.0% 1.10x
StringRemoveDupes 705 643 -8.8% 1.10x
StringBuilderWithLongSubstring 4820 4402 -8.7% 1.09x (?)
FrequenciesUsingReduceInto 3061 2820 -7.9% 1.09x (?)
LuhnAlgoEager 5121 4759 -7.1% 1.08x (?)
ExclusivityIndependent 71 66 -7.0% 1.08x (?)
SetUnion_OfObjects 30102 28231 -6.2% 1.07x
ObjectiveCBridgeFromNSArrayAnyObjectToString 45554 42735 -6.2% 1.07x (?)
StringInterpolationSmall 8162 7663 -6.1% 1.07x (?)
PrefixArrayLazy 28909 27467 -5.0% 1.05x (?)
DropFirstAnyCollectionLazy 93298 88843 -4.8% 1.05x (?)
No Changes (387)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5312 5291 -0.4% 1.00x (?)
AnyHashableWithAClass 90806 91064 +0.3% 1.00x (?)
Array2D 567618 567823 +0.0% 1.00x (?)
ArrayAppend 4166 4171 +0.1% 1.00x (?)
ArrayAppendArrayOfInt 730 733 +0.4% 1.00x (?)
ArrayAppendAscii 35380 34801 -1.6% 1.02x
ArrayAppendFromGeneric 735 736 +0.1% 1.00x (?)
ArrayAppendGenericStructs 1275 1277 +0.2% 1.00x (?)
ArrayAppendLatin1 58063 57616 -0.8% 1.01x
ArrayAppendLazyMap 153303 153302 -0.0% 1.00x (?)
ArrayAppendOptionals 1275 1276 +0.1% 1.00x (?)
ArrayAppendRepeatCol 165650 163740 -1.2% 1.01x
ArrayAppendReserved 3834 3836 +0.1% 1.00x (?)
ArrayAppendSequence 93570 93339 -0.2% 1.00x
ArrayAppendStrings 5683 5757 +1.3% 0.99x
ArrayAppendToFromGeneric 732 735 +0.4% 1.00x (?)
ArrayAppendToGeneric 737 739 +0.3% 1.00x
ArrayAppendUTF16 57571 57418 -0.3% 1.00x (?)
ArrayInClass 5713 5600 -2.0% 1.02x (?)
ArrayLiteral 1616 1622 +0.4% 1.00x (?)
ArrayOfGenericPOD2 1062 1062 +0.0% 1.00x
ArrayOfGenericRef 9597 9584 -0.1% 1.00x (?)
ArrayOfPOD 759 758 -0.1% 1.00x
ArrayOfRef 8857 8817 -0.5% 1.00x (?)
ArrayPlusEqualArrayOfInt 733 734 +0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 211146 210152 -0.5% 1.00x (?)
ArrayPlusEqualSingleElementCollection 208669 207939 -0.3% 1.00x (?)
ArrayPlusEqualThreeElements 8311 8482 +2.1% 0.98x
ArraySubscript 97481 96828 -0.7% 1.01x (?)
ArrayValueProp 3283 3307 +0.7% 0.99x
ArrayValueProp2 13604 13553 -0.4% 1.00x (?)
ArrayValueProp3 3757 3761 +0.1% 1.00x (?)
ArrayValueProp4 3711 3728 +0.5% 1.00x
BinaryFloatingPointPropertiesBinade 79 77 -2.5% 1.03x
BinaryFloatingPointPropertiesNextUp 120 123 +2.5% 0.98x
BinaryFloatingPointPropertiesUlp 118 115 -2.5% 1.03x
BitCount 8175 8176 +0.0% 1.00x (?)
ByteSwap 8813 8806 -0.1% 1.00x (?)
COWTree 10493 10775 +2.7% 0.97x (?)
CSVParsing 2599884 2608836 +0.3% 1.00x (?)
CSVParsingAlt 1367473 1338407 -2.1% 1.02x (?)
CSVParsingAltIndices 2174576 2269708 +4.4% 0.96x
CStringLongAscii 4822 4995 +3.6% 0.97x
CStringLongNonAscii 2218 2254 +1.6% 0.98x (?)
CStringShortAscii 5571 5587 +0.3% 1.00x (?)
Calculator 1835 1873 +2.1% 0.98x
CaptureProp 254169 253690 -0.2% 1.00x (?)
ChainedFilterMap 209764 210185 +0.2% 1.00x (?)
CharIndexing_ascii_unicodeScalars 283948 289276 +1.9% 0.98x (?)
CharIndexing_chinese_unicodeScalars 213495 215467 +0.9% 0.99x (?)
CharIndexing_chinese_unicodeScalars_Backwards 251930 251532 -0.2% 1.00x (?)
CharIndexing_japanese_unicodeScalars 337257 342111 +1.4% 0.99x (?)
CharIndexing_japanese_unicodeScalars_Backwards 397795 400918 +0.8% 0.99x (?)
CharIndexing_korean_unicodeScalars 273172 277546 +1.6% 0.98x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 50019 51071 +2.1% 0.98x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 59807 57490 -3.9% 1.04x (?)
CharIndexing_punctuated_unicodeScalars 63663 63625 -0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars 234298 239580 +2.3% 0.98x (?)
CharIndexing_russian_unicodeScalars_Backwards 287706 280863 -2.4% 1.02x (?)
CharIndexing_tweet_unicodeScalars 576330 578255 +0.3% 1.00x (?)
CharIndexing_utf16_unicodeScalars 246374 248218 +0.7% 0.99x (?)
CharIndexing_utf16_unicodeScalars_Backwards 278262 284016 +2.1% 0.98x (?)
CharIteration_ascii_unicodeScalars 134530 133648 -0.7% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 233553 238008 +1.9% 0.98x (?)
CharIteration_chinese_unicodeScalars 101280 101084 -0.2% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 178561 178840 +0.2% 1.00x (?)
CharIteration_japanese_unicodeScalars 159924 159940 +0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 293388 285910 -2.5% 1.03x (?)
CharIteration_korean_unicodeScalars 129629 130250 +0.5% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 239002 231461 -3.2% 1.03x (?)
CharIteration_punctuatedJapanese_unicodeScalars 23742 23796 +0.2% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 41553 41713 +0.4% 1.00x (?)
CharIteration_punctuated_unicodeScalars 29952 29848 -0.3% 1.00x
CharIteration_punctuated_unicodeScalars_Backwards 51675 52231 +1.1% 0.99x (?)
CharIteration_russian_unicodeScalars 111182 111193 +0.0% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 205995 196874 -4.4% 1.05x (?)
CharIteration_tweet_unicodeScalars 265233 264392 -0.3% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 493588 479753 -2.8% 1.03x (?)
CharIteration_utf16_unicodeScalars 113951 113568 -0.3% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 203240 202198 -0.5% 1.01x (?)
CharacterLiteralsLarge 5209 5227 +0.3% 1.00x (?)
CharacterLiteralsSmall 611 632 +3.4% 0.97x
CharacterPropertiesFetch 5090 5059 -0.6% 1.01x (?)
CharacterPropertiesPrecomputed 3227 3257 +0.9% 0.99x (?)
CharacterPropertiesStashed 2115 2110 -0.2% 1.00x (?)
CharacterPropertiesStashedMemo 4097 4101 +0.1% 1.00x (?)
Chars 31895 31901 +0.0% 1.00x (?)
ClassArrayGetter 885 885 +0.0% 1.00x
Combos 2047 2131 +4.1% 0.96x (?)
DataAccessBytes 2134 2170 +1.7% 0.98x (?)
DataAppendArray 4877 4906 +0.6% 0.99x (?)
DataAppendDataLargeToLarge 60480 60349 -0.2% 1.00x (?)
DataAppendDataLargeToMedium 31369 31693 +1.0% 0.99x (?)
DataAppendDataLargeToSmall 30571 30763 +0.6% 0.99x (?)
DataAppendDataMediumToLarge 33554 33539 -0.0% 1.00x (?)
DataAppendDataMediumToMedium 6148 6128 -0.3% 1.00x (?)
DataAppendDataMediumToSmall 5347 5320 -0.5% 1.01x (?)
DataAppendDataSmallToLarge 32945 32809 -0.4% 1.00x (?)
DataAppendDataSmallToMedium 5402 5471 +1.3% 0.99x (?)
DataAppendDataSmallToSmall 5588 5426 -2.9% 1.03x (?)
DataAppendSequence 1718667 1697230 -1.2% 1.01x
DataCopyBytes 2223 2239 +0.7% 0.99x (?)
DataCount 200 200 +0.0% 1.00x
DataMutateBytes 4657 4729 +1.5% 0.98x (?)
DataReplaceLarge 35833 35945 +0.3% 1.00x (?)
DataReplaceLargeBuffer 51982 51587 -0.8% 1.01x (?)
DataReplaceMedium 8155 7961 -2.4% 1.02x (?)
DataReplaceMediumBuffer 10776 10529 -2.3% 1.02x (?)
DataReplaceSmall 6383 6179 -3.2% 1.03x (?)
DataReset 2543 2578 +1.4% 0.99x (?)
DataSetCount 507 506 -0.2% 1.00x (?)
DataSubscript 398 398 +0.0% 1.00x
DictOfArraysToArrayOfDicts 3146 3160 +0.4% 1.00x (?)
Dictionary 2118 2084 -1.6% 1.02x
Dictionary2 1337 1334 -0.2% 1.00x (?)
Dictionary2OfObjects 4295 4173 -2.8% 1.03x (?)
Dictionary3 807 798 -1.1% 1.01x (?)
Dictionary3OfObjects 1965 2049 +4.3% 0.96x (?)
Dictionary4 1055 1055 +0.0% 1.00x
DictionaryBridge 1192 1184 -0.7% 1.01x (?)
DictionaryCopy 287554 287395 -0.1% 1.00x (?)
DictionaryFilter 295946 294664 -0.4% 1.00x (?)
DictionaryGroup 4087 4021 -1.6% 1.02x (?)
DictionaryGroupOfObjects 6636 6562 -1.1% 1.01x (?)
DictionaryLiteral 7949 7942 -0.1% 1.00x (?)
DictionaryOfObjects 5561 5826 +4.8% 0.95x (?)
DictionaryRemove 16234 16101 -0.8% 1.01x (?)
DictionaryRemoveOfObjects 49977 49517 -0.9% 1.01x (?)
DictionarySubscriptDefaultMutation 1821 1841 +1.1% 0.99x (?)
DictionarySubscriptDefaultMutationArray 2036 2050 +0.7% 0.99x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 8776 8570 -2.3% 1.02x (?)
DictionarySubscriptDefaultMutationOfObjects 5016 4898 -2.4% 1.02x (?)
DictionarySwap 4814 4759 -1.1% 1.01x (?)
DictionarySwapAt 32952 31528 -4.3% 1.05x (?)
DictionarySwapAtOfObjects 102390 102379 -0.0% 1.00x (?)
DictionarySwapOfObjects 17668 17401 -1.5% 1.02x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 13880 13660 -1.6% 1.02x (?)
DropFirstAnySeqCRangeIter 21483 21410 -0.3% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21495 21270 -1.0% 1.01x (?)
DropFirstAnySeqCntRange 13873 13636 -1.7% 1.02x (?)
DropFirstAnySeqCntRangeLazy 14026 13683 -2.4% 1.03x (?)
DropFirstAnySequence 11617 11524 -0.8% 1.01x
DropFirstAnySequenceLazy 11619 11452 -1.4% 1.01x
DropFirstArray 3101 3091 -0.3% 1.00x (?)
DropFirstArrayLazy 28752 27481 -4.4% 1.05x
DropFirstCountableRange 289 289 +0.0% 1.00x
DropFirstCountableRangeLazy 31298 30811 -1.6% 1.02x (?)
DropFirstSequence 11276 11169 -0.9% 1.01x
DropFirstSequenceLazy 11297 11229 -0.6% 1.01x
DropLastAnyCollection 4682 4576 -2.3% 1.02x (?)
DropLastAnyCollectionLazy 30264 30871 +2.0% 0.98x (?)
DropLastAnySeqCRangeIter 36444 37601 +3.2% 0.97x (?)
DropLastAnySeqCRangeIterLazy 36640 37335 +1.9% 0.98x (?)
DropLastAnySeqCntRange 4640 4558 -1.8% 1.02x (?)
DropLastAnySeqCntRangeLazy 4686 4574 -2.4% 1.02x (?)
DropLastAnySequence 27665 27189 -1.7% 1.02x (?)
DropLastAnySequenceLazy 27657 27370 -1.0% 1.01x (?)
DropLastCountableRange 100 100 +0.0% 1.00x
DropLastCountableRangeLazy 10350 10458 +1.0% 0.99x (?)
DropLastSequence 27461 27089 -1.4% 1.01x (?)
DropLastSequenceLazy 27559 26965 -2.2% 1.02x
DropWhileAnyCollection 18177 19003 +4.5% 0.96x
DropWhileAnyCollectionLazy 20658 20271 -1.9% 1.02x (?)
DropWhileAnySeqCRangeIter 22326 22023 -1.4% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 20317 20129 -0.9% 1.01x
DropWhileAnySeqCntRange 17996 17703 -1.6% 1.02x (?)
DropWhileAnySeqCntRangeLazy 20423 20192 -1.1% 1.01x (?)
DropWhileAnySequence 12282 12233 -0.4% 1.00x (?)
DropWhileAnySequenceLazy 11245 11099 -1.3% 1.01x
DropWhileArrayLazy 12558 12526 -0.3% 1.00x
DropWhileCountableRange 4396 4305 -2.1% 1.02x
DropWhileCountableRangeLazy 20034 19856 -0.9% 1.01x (?)
DropWhileSequence 11874 11971 +0.8% 0.99x (?)
DropWhileSequenceLazy 10838 10796 -0.4% 1.00x
EqualStringSubstring 64 64 +0.0% 1.00x
EqualSubstringString 64 64 +0.0% 1.00x
EqualSubstringSubstring 64 64 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 52 52 +0.0% 1.00x
ErrorHandling 5463 5606 +2.6% 0.97x (?)
ExclusivityGlobal 179 172 -3.9% 1.04x
FatCompactMap 266797 263324 -1.3% 1.01x
FilterEvenUsingReduce 3237 3255 +0.6% 0.99x (?)
FilterEvenUsingReduceInto 1669 1679 +0.6% 0.99x (?)
FloatingPointPrinting_Double_description_small 22092 22068 -0.1% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 32867 32566 -0.9% 1.01x (?)
FloatingPointPrinting_Double_interpolated 89584 90150 +0.6% 0.99x (?)
FloatingPointPrinting_Float80_description_small 28333 28405 +0.3% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 56640 55730 -1.6% 1.02x (?)
FloatingPointPrinting_Float80_interpolated 114142 109355 -4.2% 1.04x (?)
FloatingPointPrinting_Float_description_small 6288 6421 +2.1% 0.98x
FloatingPointPrinting_Float_description_uniform 15917 15617 -1.9% 1.02x (?)
FrequenciesUsingReduce 10008 9681 -3.3% 1.03x (?)
Hanoi 18092 18026 -0.4% 1.00x (?)
HashTest 19673 19728 +0.3% 1.00x (?)
Histogram 5942 5942 +0.0% 1.00x
Integrate 411 411 +0.0% 1.00x
IterateData 4919 4900 -0.4% 1.00x (?)
Join 697 691 -0.9% 1.01x
LazilyFilteredArrayContains 671224 670616 -0.1% 1.00x (?)
LazilyFilteredArrays 1294163 1297312 +0.2% 1.00x (?)
LazilyFilteredRange 479880 478134 -0.4% 1.00x
LessSubstringSubstring 64 64 +0.0% 1.00x
LessSubstringSubstringGenericComparable 52 51 -1.9% 1.02x
LinkedList 29212 29183 -0.1% 1.00x
LuhnAlgoLazy 5135 5113 -0.4% 1.00x (?)
MapReduce 22907 22934 +0.1% 1.00x (?)
MapReduceAnyCollection 22775 22950 +0.8% 0.99x (?)
MapReduceAnyCollectionShort 32888 33441 +1.7% 0.98x (?)
MapReduceClass 26385 26613 +0.9% 0.99x (?)
MapReduceClassShort 37963 37490 -1.2% 1.01x (?)
MapReduceLazyCollection 20433 20510 +0.4% 1.00x (?)
MapReduceLazyCollectionShort 30243 29986 -0.8% 1.01x (?)
MapReduceLazySequence 18291 18136 -0.8% 1.01x (?)
MapReduceSequence 27379 27544 +0.6% 0.99x
MapReduceShort 33211 32902 -0.9% 1.01x (?)
MapReduceShortString 212 222 +4.7% 0.95x
MapReduceString 1551 1555 +0.3% 1.00x (?)
Memset 39581 39577 -0.0% 1.00x (?)
MonteCarloE 1034520 1038065 +0.3% 1.00x (?)
MonteCarloPi 4710763 4668658 -0.9% 1.01x
NSError 557 548 -1.6% 1.02x (?)
NSStringConversion 673 661 -1.8% 1.02x
NibbleSort 452847 451225 -0.4% 1.00x (?)
NopDeinit 181467 174131 -4.0% 1.04x (?)
ObjectAllocation 1117 1111 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 24777 25495 +2.9% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 9243 8945 -3.2% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 40635 42302 +4.1% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 106432 107878 +1.4% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObject 48652 49107 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 67201 66709 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSString 2557 2680 +4.8% 0.95x (?)
ObjectiveCBridgeFromNSStringForced 2510 2473 -1.5% 1.01x (?)
ObjectiveCBridgeStubDataAppend 5663 5585 -1.4% 1.01x (?)
ObjectiveCBridgeStubDateMutation 668 668 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29846 28829 -3.4% 1.04x (?)
ObjectiveCBridgeStubFromNSDate 6175 6179 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 961 945 -1.7% 1.02x (?)
ObjectiveCBridgeStubFromNSStringRef 173 173 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2693 2682 -0.4% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 14575 14149 -2.9% 1.03x (?)
ObjectiveCBridgeStubToArrayOfNSString 34545 34404 -0.4% 1.00x (?)
ObjectiveCBridgeStubToNSDate 14112 13943 -1.2% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3134 3125 -0.3% 1.00x (?)
ObjectiveCBridgeStubToNSString 2173 2174 +0.0% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 138 138 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 266915 265958 -0.4% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 280009 270030 -3.6% 1.04x (?)
ObjectiveCBridgeToNSArray 13224 13174 -0.4% 1.00x (?)
ObjectiveCBridgeToNSDictionary 24213 24266 +0.2% 1.00x (?)
ObjectiveCBridgeToNSSet 15469 15441 -0.2% 1.00x (?)
ObjectiveCBridgeToNSString 469 479 +2.1% 0.98x (?)
ObserverClosure 5816 5838 +0.4% 1.00x (?)
ObserverForwarderStruct 3847 3811 -0.9% 1.01x
ObserverPartiallyAppliedMethod 7133 7147 +0.2% 1.00x (?)
ObserverUnappliedMethod 7503 7471 -0.4% 1.00x (?)
OpenClose 778 771 -0.9% 1.01x
PartialApplyDynamicType 34976 35777 +2.3% 0.98x (?)
Phonebook 16705 17235 +3.2% 0.97x
PointerArithmetics 107880 107879 -0.0% 1.00x (?)
PolymorphicCalls 2129 2133 +0.2% 1.00x (?)
PopFrontArray 4163 4169 +0.1% 1.00x (?)
PopFrontArrayGeneric 4883 4744 -2.8% 1.03x
PopFrontUnsafePointer 9541 9549 +0.1% 1.00x (?)
PrefixAnyCollection 13889 13671 -1.6% 1.02x (?)
PrefixAnySeqCRangeIter 17251 16653 -3.5% 1.04x (?)
PrefixAnySeqCRangeIterLazy 17267 16866 -2.3% 1.02x (?)
PrefixAnySeqCntRange 13892 13639 -1.8% 1.02x (?)
PrefixAnySeqCntRangeLazy 14035 13666 -2.6% 1.03x (?)
PrefixAnySequence 9459 9431 -0.3% 1.00x (?)
PrefixAnySequenceLazy 9448 9373 -0.8% 1.01x (?)
PrefixArray 3105 3080 -0.8% 1.01x (?)
PrefixCountableRange 290 289 -0.3% 1.00x
PrefixCountableRangeLazy 31124 30768 -1.1% 1.01x (?)
PrefixSequence 9126 9005 -1.3% 1.01x (?)
PrefixSequenceLazy 9137 9066 -0.8% 1.01x
PrefixWhileAnyCollection 26142 25750 -1.5% 1.02x (?)
PrefixWhileAnySeqCRangeIter 30695 30744 +0.2% 1.00x (?)
PrefixWhileAnySeqCntRange 26049 25696 -1.4% 1.01x (?)
PrefixWhileAnySequence 24133 23872 -1.1% 1.01x (?)
PrefixWhileAnySequenceLazy 9927 9909 -0.2% 1.00x (?)
PrefixWhileArray 9534 9445 -0.9% 1.01x
PrefixWhileArrayLazy 11046 10958 -0.8% 1.01x
PrefixWhileCountableRange 12451 12330 -1.0% 1.01x
PrefixWhileCountableRangeLazy 16510 16354 -0.9% 1.01x (?)
PrefixWhileSequence 23615 23408 -0.9% 1.01x (?)
PrefixWhileSequenceLazy 9694 9629 -0.7% 1.01x (?)
Prims 8918 8741 -2.0% 1.02x
PrimsSplit 9008 8702 -3.4% 1.04x
QueueConcrete 12777 12713 -0.5% 1.01x (?)
QueueGeneric 17065 16762 -1.8% 1.02x
RC4 14611 14448 -1.1% 1.01x (?)
RGBHistogram 22636 22472 -0.7% 1.01x (?)
RGBHistogramOfObjects 69890 69589 -0.4% 1.00x (?)
RangeAssignment 2364 2426 +2.6% 0.97x
RangeIterationSigned 13698 13115 -4.3% 1.04x (?)
RangeReplaceableCollectionPlusDefault 10017 9754 -2.6% 1.03x (?)
RecursiveOwnedParameter 5211 5170 -0.8% 1.01x (?)
RemoveWhereFilterInts 1745 1745 +0.0% 1.00x
RemoveWhereFilterString 1171 1190 +1.6% 0.98x (?)
RemoveWhereFilterStrings 2210 2208 -0.1% 1.00x (?)
RemoveWhereMoveInts 3198 3192 -0.2% 1.00x (?)
RemoveWhereMoveStrings 3669 3667 -0.1% 1.00x (?)
RemoveWhereQuadraticInts 7215 7180 -0.5% 1.00x
RemoveWhereQuadraticString 2070 2047 -1.1% 1.01x (?)
RemoveWhereQuadraticStrings 8880 8815 -0.7% 1.01x
RemoveWhereSwapInts 5597 5591 -0.1% 1.00x (?)
RemoveWhereSwapStrings 6210 6218 +0.1% 1.00x (?)
ReversedArray 11857 11592 -2.2% 1.02x
ReversedBidirectional 38933 39058 +0.3% 1.00x (?)
ReversedDictionary 20551 20629 +0.4% 1.00x (?)
RomanNumbers 1188845 1237445 +4.1% 0.96x (?)
SequenceAlgosAnySequence 11762 11706 -0.5% 1.00x (?)
SequenceAlgosArray 681694 683810 +0.3% 1.00x (?)
SequenceAlgosContiguousArray 254540 260787 +2.5% 0.98x
SequenceAlgosList 7789 7819 +0.4% 1.00x (?)
SequenceAlgosRange 1151731 1149077 -0.2% 1.00x (?)
SequenceAlgosUnfoldSequence 5972 5856 -1.9% 1.02x (?)
SetExclusiveOr 15337 15264 -0.5% 1.00x (?)
SetExclusiveOr_OfObjects 41988 40490 -3.6% 1.04x (?)
SetIntersect 6110 6138 +0.5% 1.00x (?)
SetIsSubsetOf 1088 1082 -0.6% 1.01x (?)
SetUnion 11078 11062 -0.1% 1.00x (?)
SevenBoom 969 972 +0.3% 1.00x (?)
Sim2DArray 38998 38952 -0.1% 1.00x (?)
SortLargeExistentials 10378 10369 -0.1% 1.00x (?)
SortLettersInPlace 1757 1736 -1.2% 1.01x (?)
SortSortedStrings 1013 1030 +1.7% 0.98x
SortStrings 2033 2090 +2.8% 0.97x
SortStringsUnicode 2530 2651 +4.8% 0.95x
StaticArray 2293 2286 -0.3% 1.00x (?)
StrComplexWalk 6519 6522 +0.0% 1.00x (?)
StrToInt 71642 73294 +2.3% 0.98x (?)
StringAdder 1006 1027 +2.1% 0.98x
StringBuilder 4943 5191 +5.0% 0.95x (?)
StringBuilderLong 2640 2607 -1.2% 1.01x
StringComparison_abnormal 1200 1192 -0.7% 1.01x (?)
StringComparison_ascii 8419 8382 -0.4% 1.00x
StringComparison_emoji 1770 1782 +0.7% 0.99x (?)
StringComparison_fastPrenormal 4397 4394 -0.1% 1.00x (?)
StringComparison_latin1 3425 3441 +0.5% 1.00x
StringComparison_longSharedPrefix 2111 2124 +0.6% 0.99x (?)
StringComparison_nonBMPSlowestPrenormal 3271 3305 +1.0% 0.99x (?)
StringComparison_slowerPrenormal 3691 3719 +0.8% 0.99x (?)
StringComparison_zalgo 115276 115240 -0.0% 1.00x (?)
StringEdits 349665 350283 +0.2% 1.00x (?)
StringEnumRawValueInitialization 29460 30444 +3.3% 0.97x
StringEqualPointerComparison 1429 1427 -0.1% 1.00x
StringFromLongWholeSubstring 11 11 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 177 180 +1.7% 0.98x (?)
StringHasPrefixAscii 2733 2804 +2.6% 0.97x
StringHasPrefixUnicode 95269 96624 +1.4% 0.99x (?)
StringHasSuffixAscii 2851 2981 +4.6% 0.96x
StringHasSuffixUnicode 94723 96622 +2.0% 0.98x (?)
StringInterpolationManySmallSegments 18065 18667 +3.3% 0.97x (?)
StringMatch 37365 36759 -1.6% 1.02x (?)
StringUTF16Builder 7297 7252 -0.6% 1.01x (?)
StringUTF16SubstringBuilder 20281 20206 -0.4% 1.00x (?)
StringWalk 11763 11316 -3.8% 1.04x
StringWordBuilder 2189 2237 +2.2% 0.98x
StringWordBuilderReservingCapacity 1875 1837 -2.0% 1.02x
SubstringComparable 1465 1469 +0.3% 1.00x (?)
SubstringEqualString 1514 1541 +1.8% 0.98x
SubstringEquatable 4840 4863 +0.5% 1.00x (?)
SubstringFromLongString 16 16 +0.0% 1.00x
SubstringFromLongStringGeneric 97 96 -1.0% 1.01x (?)
SuffixAnyCollection 4648 4573 -1.6% 1.02x (?)
SuffixAnyCollectionLazy 29566 29850 +1.0% 0.99x (?)
SuffixAnySeqCntRange 4641 4556 -1.8% 1.02x (?)
SuffixAnySeqCntRangeLazy 4688 4570 -2.5% 1.03x (?)
SuffixAnySequence 23740 23479 -1.1% 1.01x (?)
SuffixAnySequenceLazy 23756 23880 +0.5% 0.99x (?)
SuffixCountableRange 100 100 +0.0% 1.00x
SuffixCountableRangeLazy 10383 10155 -2.2% 1.02x (?)
SuffixSequence 24359 23707 -2.7% 1.03x (?)
SuffixSequenceLazy 23870 23627 -1.0% 1.01x (?)
SumUsingReduce 142577 143908 +0.9% 0.99x
SumUsingReduceInto 136664 136785 +0.1% 1.00x
SuperChars 74513 75572 +1.4% 0.99x (?)
TwoSum 3369 3412 +1.3% 0.99x (?)
TypeFlood 185 190 +2.7% 0.97x (?)
UTF8Decode 26534 26541 +0.0% 1.00x (?)
Walsh 10753 10740 -0.1% 1.00x (?)
WordCountHistogramASCII 34342 33812 -1.5% 1.02x
WordCountHistogramUTF16 41019 40248 -1.9% 1.02x
XorLoop 20821 20835 +0.1% 1.00x (?)
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 8-Core Intel Xeon E5
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 8
  L2 Cache (per Core): 256 KB
  L3 Cache: 25 MB
  Memory: 64 GB

/// your program. Do not save hash values to use during a future execution.
@inlinable // FIXME(sil-serialize-all)
public var hashValue: Int {
public func hash(into hasher: inout Hasher) {
Copy link
Contributor

Choose a reason for hiding this comment

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

All other hash(into:) are inlinable but this one, is that intended?

Copy link
Member Author

Choose a reason for hiding this comment

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

Oops, good catch!

@lorentey
Copy link
Member Author

That's a surprisingly significant impact. If #16157 lands, then it will mostly hide this issue, but it will affect older user code. (The performance regression will still show up in the new Dictionary4Legacy benchmark, just not in the list above.)

One option is to leave the hashValue definitions in the stdlib. However, it may be a better idea to synthesize generated hash(into:)/hashValue implementations as @inlinable if the type is a @_fixed_layout struct or a @_frozen enum. @slavapestov what do you think?

@lorentey
Copy link
Member Author

lorentey commented Apr 26, 2018

Weirdly, it looks like the accidental omission of @inlinable from Character.hash(into:) may have actually improved Character hashing benchmarks. (I don't understand why this may be the case.)

cc @lancep, @milseman

@lorentey
Copy link
Member Author

@swift-ci please benchmark

@lorentey
Copy link
Member Author

@swift-ci smoke test

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (13)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 417 599 +43.6% 0.70x
BinaryFloatingPointPropertiesBinade 25 31 +24.0% 0.81x
ObjectiveCBridgeStubToNSDate 13773 14871 +8.0% 0.93x (?)
RemoveWhereFilterInts 45 48 +6.7% 0.94x
Dictionary4OfObjectsLegacy 938 997 +6.3% 0.94x (?)
EqualSubstringString 64 68 +6.2% 0.94x (?)
EqualSubstringSubstring 48 51 +6.2% 0.94x
EqualSubstringSubstringGenericEquatable 48 51 +6.2% 0.94x
ArrayAppendUTF16 39680 41977 +5.8% 0.95x
BinaryFloatingPointPropertiesUlp 35 37 +5.7% 0.95x
AngryPhonebook 3734 3940 +5.5% 0.95x (?)
DataReplaceLarge 41154 43422 +5.5% 0.95x (?)
EqualStringSubstring 56 59 +5.4% 0.95x
Improvement (12)
TEST OLD NEW DELTA SPEEDUP
WordSplitUTF16 10126 8431 -16.7% 1.20x (?)
WordSplitASCII 7996 6704 -16.2% 1.19x (?)
FrequenciesUsingReduceInto 1785 1550 -13.2% 1.15x
ChainedFilterMap 1408 1247 -11.4% 1.13x
Chars 1214 1092 -10.0% 1.11x
StringRemoveDupes 789 720 -8.7% 1.10x
DropFirstAnySeqCntRange 41 38 -7.3% 1.08x
RemoveWhereMoveInts 15 14 -6.7% 1.07x
ObjectiveCBridgeStubFromNSStringRef 165 155 -6.1% 1.06x
Hanoi 2318 2178 -6.0% 1.06x
StringAdder 775 730 -5.8% 1.06x
ObjectiveCBridgeStubNSDateMutationRef 13493 12731 -5.6% 1.06x (?)
No Changes (399)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 84556 85044 +0.6% 0.99x (?)
Array2D 2546 2513 -1.3% 1.01x (?)
ArrayAppend 1073 1077 +0.4% 1.00x (?)
ArrayAppendArrayOfInt 791 790 -0.1% 1.00x (?)
ArrayAppendAscii 13993 13921 -0.5% 1.01x (?)
ArrayAppendFromGeneric 794 800 +0.8% 0.99x (?)
ArrayAppendGenericStructs 1428 1427 -0.1% 1.00x (?)
ArrayAppendLatin1 40495 41058 +1.4% 0.99x
ArrayAppendLazyMap 1344 1335 -0.7% 1.01x (?)
ArrayAppendOptionals 1402 1413 +0.8% 0.99x (?)
ArrayAppendRepeatCol 1330 1340 +0.8% 0.99x (?)
ArrayAppendReserved 805 808 +0.4% 1.00x (?)
ArrayAppendSequence 1120 1122 +0.2% 1.00x (?)
ArrayAppendStrings 6223 6336 +1.8% 0.98x
ArrayAppendToFromGeneric 798 796 -0.3% 1.00x (?)
ArrayAppendToGeneric 798 799 +0.1% 1.00x (?)
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 150 150 +0.0% 1.00x
ArrayOfGenericRef 4399 4419 +0.5% 1.00x (?)
ArrayOfPOD 183 183 +0.0% 1.00x
ArrayOfRef 4341 4347 +0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 793 786 -0.9% 1.01x (?)
ArrayPlusEqualFiveElementCollection 5459 5428 -0.6% 1.01x (?)
ArrayPlusEqualSingleElementCollection 1072 1078 +0.6% 0.99x (?)
ArrayPlusEqualThreeElements 1657 1663 +0.4% 1.00x (?)
ArraySubscript 1521 1531 +0.7% 0.99x (?)
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
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BitCount 202 211 +4.5% 0.96x
ByteSwap 102 103 +1.0% 0.99x (?)
COWTree 5406 5334 -1.3% 1.01x (?)
CSVParsing 713552 714020 +0.1% 1.00x (?)
CSVParsingAlt 780387 783521 +0.4% 1.00x (?)
CSVParsingAltIndices 340818 344049 +0.9% 0.99x (?)
CStringLongAscii 4799 5038 +5.0% 0.95x
CStringLongNonAscii 2278 2294 +0.7% 0.99x (?)
CStringShortAscii 3182 3198 +0.5% 0.99x (?)
Calculator 1155 1115 -3.5% 1.04x
CaptureProp 4090 4074 -0.4% 1.00x (?)
CharIndexing_ascii_unicodeScalars 17362 17358 -0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 16362 16352 -0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars 13144 13137 -0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12391 12390 -0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars 20787 20778 -0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19579 19588 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars 16833 16827 -0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 15862 15855 -0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 3139 3129 -0.3% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2971 2966 -0.2% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 3927 3921 -0.2% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3712 3716 +0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars 14463 14457 -0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 13628 13631 +0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 33831 33834 +0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 32267 32247 -0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars 23110 23065 -0.2% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 23264 23361 +0.4% 1.00x (?)
CharIteration_ascii_unicodeScalars 21410 21100 -1.4% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 15101 15100 -0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars 16205 15962 -1.5% 1.02x
CharIteration_chinese_unicodeScalars_Backwards 11440 11436 -0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars 25656 25327 -1.3% 1.01x
CharIteration_japanese_unicodeScalars_Backwards 18079 18083 +0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 20768 20484 -1.4% 1.01x
CharIteration_korean_unicodeScalars_Backwards 14648 14640 -0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3824 3762 -1.6% 1.02x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2736 2730 -0.2% 1.00x (?)
CharIteration_punctuated_unicodeScalars 4803 4726 -1.6% 1.02x
CharIteration_punctuated_unicodeScalars_Backwards 3424 3418 -0.2% 1.00x (?)
CharIteration_russian_unicodeScalars 17839 17567 -1.5% 1.02x
CharIteration_russian_unicodeScalars_Backwards 12583 12576 -0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars 42311 41637 -1.6% 1.02x
CharIteration_tweet_unicodeScalars_Backwards 29831 29818 -0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars 27956 27972 +0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 18669 18544 -0.7% 1.01x (?)
CharacterLiteralsLarge 5981 5906 -1.3% 1.01x (?)
CharacterLiteralsSmall 217 220 +1.4% 0.99x
CharacterPropertiesFetch 4527 4494 -0.7% 1.01x (?)
CharacterPropertiesPrecomputed 1246 1263 +1.4% 0.99x (?)
CharacterPropertiesStashed 1450 1437 -0.9% 1.01x (?)
CharacterPropertiesStashedMemo 1662 1667 +0.3% 1.00x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 488 489 +0.2% 1.00x (?)
DataAccessBytes 1221 1221 +0.0% 1.00x
DataAppendArray 6474 6508 +0.5% 0.99x (?)
DataAppendBytes 5930 6150 +3.7% 0.96x (?)
DataAppendDataLargeToLarge 68537 70265 +2.5% 0.98x (?)
DataAppendDataLargeToMedium 36060 36472 +1.1% 0.99x (?)
DataAppendDataLargeToSmall 35371 35551 +0.5% 0.99x (?)
DataAppendDataMediumToLarge 38471 38773 +0.8% 0.99x (?)
DataAppendDataMediumToMedium 7664 7775 +1.4% 0.99x (?)
DataAppendDataMediumToSmall 6890 7154 +3.8% 0.96x (?)
DataAppendDataSmallToLarge 37654 37716 +0.2% 1.00x (?)
DataAppendDataSmallToMedium 7272 7432 +2.2% 0.98x (?)
DataAppendDataSmallToSmall 6742 7088 +5.1% 0.95x (?)
DataAppendSequence 19245 19376 +0.7% 0.99x (?)
DataCopyBytes 2512 2509 -0.1% 1.00x (?)
DataCount 38 37 -2.6% 1.03x
DataMutateBytes 4344 4284 -1.4% 1.01x (?)
DataReplaceLargeBuffer 58003 58570 +1.0% 0.99x (?)
DataReplaceMedium 11668 12193 +4.5% 0.96x (?)
DataReplaceMediumBuffer 12121 12567 +3.7% 0.96x (?)
DataReplaceSmall 8865 9139 +3.1% 0.97x (?)
DataReplaceSmallBuffer 9261 9461 +2.2% 0.98x (?)
DataReset 3212 3212 +0.0% 1.00x
DataSetCount 896 926 +3.3% 0.97x
DataSubscript 237 236 -0.4% 1.00x (?)
DictOfArraysToArrayOfDicts 824 825 +0.1% 1.00x (?)
Dictionary 738 730 -1.1% 1.01x (?)
Dictionary2 860 858 -0.2% 1.00x (?)
Dictionary2OfObjects 2236 2247 +0.5% 1.00x (?)
Dictionary3 299 295 -1.3% 1.01x (?)
Dictionary3OfObjects 765 768 +0.4% 1.00x (?)
Dictionary4 352 346 -1.7% 1.02x
Dictionary4Legacy 823 788 -4.3% 1.04x
Dictionary4OfObjects 460 455 -1.1% 1.01x (?)
DictionaryBridge 1174 1190 +1.4% 0.99x (?)
DictionaryCopy 122891 123493 +0.5% 1.00x (?)
DictionaryFilter 122808 123242 +0.4% 1.00x (?)
DictionaryGroup 284 282 -0.7% 1.01x (?)
DictionaryGroupOfObjects 2129 2134 +0.2% 1.00x (?)
DictionaryLiteral 2109 2117 +0.4% 1.00x (?)
DictionaryOfObjects 2487 2483 -0.2% 1.00x (?)
DictionaryRemove 5473 5511 +0.7% 0.99x (?)
DictionaryRemoveOfObjects 26475 26563 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutation 342 341 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArray 697 699 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 4026 4036 +0.2% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1728 1738 +0.6% 0.99x (?)
DictionarySwap 1497 1496 -0.1% 1.00x (?)
DictionarySwapAt 7279 7294 +0.2% 1.00x (?)
DictionarySwapAtOfObjects 52754 52390 -0.7% 1.01x (?)
DictionarySwapOfObjects 8642 8642 +0.0% 1.00x
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 84 84 +0.0% 1.00x
DropFirstAnyCollectionLazy 62901 61669 -2.0% 1.02x (?)
DropFirstAnySeqCRangeIter 21270 21321 +0.2% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21251 21297 +0.2% 1.00x (?)
DropFirstAnySeqCntRangeLazy 41 41 +0.0% 1.00x
DropFirstAnySequence 5007 4991 -0.3% 1.00x (?)
DropFirstAnySequenceLazy 5036 4989 -0.9% 1.01x (?)
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 2680 -0.0% 1.00x (?)
DropFirstSequenceLazy 2775 2767 -0.3% 1.00x (?)
DropLastAnyCollection 30 31 +3.3% 0.97x (?)
DropLastAnyCollectionLazy 21275 20762 -2.4% 1.02x (?)
DropLastAnySeqCRangeIter 3673 3653 -0.5% 1.01x (?)
DropLastAnySeqCRangeIterLazy 3666 3655 -0.3% 1.00x (?)
DropLastAnySeqCntRange 13 13 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 13 13 +0.0% 1.00x
DropLastAnySequence 5185 5082 -2.0% 1.02x (?)
DropLastAnySequenceLazy 5257 5213 -0.8% 1.01x (?)
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastCountableRangeLazy 12 12 +0.0% 1.00x
DropLastSequence 562 568 +1.1% 0.99x (?)
DropLastSequenceLazy 563 567 +0.7% 0.99x (?)
DropWhileAnyCollection 107 107 +0.0% 1.00x
DropWhileAnyCollectionLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCRangeIter 16830 16744 -0.5% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCntRange 50 50 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 125 125 +0.0% 1.00x
DropWhileAnySequence 4880 4866 -0.3% 1.00x (?)
DropWhileAnySequenceLazy 1855 1856 +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 2222 2209 -0.6% 1.01x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
ErrorHandling 1521 1488 -2.2% 1.02x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 206035 204416 -0.8% 1.01x (?)
FilterEvenUsingReduce 1290 1296 +0.5% 1.00x (?)
FilterEvenUsingReduceInto 147 148 +0.7% 0.99x (?)
FloatingPointPrinting_Double_description_small 23334 23277 -0.2% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 22782 22717 -0.3% 1.00x (?)
FloatingPointPrinting_Double_interpolated 77100 77384 +0.4% 1.00x (?)
FloatingPointPrinting_Float80_description_small 30851 30784 -0.2% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 30140 30121 -0.1% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 80620 80945 +0.4% 1.00x (?)
FloatingPointPrinting_Float_description_small 5171 5194 +0.4% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 5034 5123 +1.8% 0.98x
FloatingPointPrinting_Float_interpolated 52573 53230 +1.2% 0.99x (?)
FrequenciesUsingReduce 5212 5050 -3.1% 1.03x (?)
HashTest 1027 1024 -0.3% 1.00x (?)
Histogram 913 906 -0.8% 1.01x (?)
Integrate 334 334 +0.0% 1.00x
IterateData 1820 1824 +0.2% 1.00x (?)
Join 189 189 +0.0% 1.00x
LazilyFilteredArrayContains 36657 36662 +0.0% 1.00x (?)
LazilyFilteredArrays 65589 64917 -1.0% 1.01x (?)
LazilyFilteredRange 3876 3881 +0.1% 1.00x (?)
LessSubstringSubstring 48 49 +2.1% 0.98x
LessSubstringSubstringGenericComparable 48 49 +2.1% 0.98x
LinkedList 7554 7521 -0.4% 1.00x (?)
LuhnAlgoEager 299 297 -0.7% 1.01x (?)
LuhnAlgoLazy 300 298 -0.7% 1.01x (?)
MapReduce 428 428 +0.0% 1.00x
MapReduceAnyCollection 429 429 +0.0% 1.00x
MapReduceAnyCollectionShort 2284 2281 -0.1% 1.00x (?)
MapReduceClass 3012 3032 +0.7% 0.99x
MapReduceClassShort 4570 4564 -0.1% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 36 36 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 444 454 +2.3% 0.98x (?)
MapReduceShort 2022 2020 -0.1% 1.00x (?)
MapReduceShortString 30 30 +0.0% 1.00x
MapReduceString 81 81 +0.0% 1.00x
Memset 214 214 +0.0% 1.00x
MonteCarloE 10265 10406 +1.4% 0.99x
MonteCarloPi 42630 42739 +0.3% 1.00x (?)
NSDictionaryCastToSwift 5582 5464 -2.1% 1.02x (?)
NSError 172 170 -1.2% 1.01x (?)
NSStringConversion 734 719 -2.0% 1.02x (?)
NibbleSort 3671 3672 +0.0% 1.00x (?)
NopDeinit 32236 33929 +5.3% 0.95x
ObjectAllocation 132 131 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 24257 24845 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4632 4529 -2.2% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 44046 44545 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 42159 42641 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 108058 112750 +4.3% 0.96x (?)
ObjectiveCBridgeFromNSSetAnyObject 50118 48809 -2.6% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4741 4841 +2.1% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 65014 64771 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSString 1228 1220 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2690 2649 -1.5% 1.02x (?)
ObjectiveCBridgeStubDataAppend 11459 11807 +3.0% 0.97x (?)
ObjectiveCBridgeStubDateMutation 400 400 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 32443 32208 -0.7% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 6564 6536 -0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSString 1037 1058 +2.0% 0.98x (?)
ObjectiveCBridgeStubNSDataAppend 2505 2510 +0.2% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 38115 37918 -0.5% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3402 3381 -0.6% 1.01x (?)
ObjectiveCBridgeStubToNSString 2379 2375 -0.2% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 113 113 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 282896 272232 -3.8% 1.04x (?)
ObjectiveCBridgeStubURLAppendPathRef 278376 273733 -1.7% 1.02x (?)
ObjectiveCBridgeToNSArray 14061 14092 +0.2% 1.00x (?)
ObjectiveCBridgeToNSDictionary 25273 25822 +2.2% 0.98x (?)
ObjectiveCBridgeToNSSet 16764 16263 -3.0% 1.03x (?)
ObjectiveCBridgeToNSString 493 492 -0.2% 1.00x (?)
ObserverClosure 2158 2164 +0.3% 1.00x (?)
ObserverForwarderStruct 1246 1259 +1.0% 0.99x (?)
ObserverPartiallyAppliedMethod 3752 3766 +0.4% 1.00x (?)
ObserverUnappliedMethod 2608 2620 +0.5% 1.00x (?)
OpenClose 263 265 +0.8% 0.99x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 5184 5140 -0.8% 1.01x
PointerArithmetics 31489 31494 +0.0% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1865 1869 +0.2% 1.00x (?)
PopFrontArrayGeneric 1877 1826 -2.7% 1.03x (?)
PopFrontUnsafePointer 8983 8651 -3.7% 1.04x (?)
PrefixAnyCollection 84 83 -1.2% 1.01x (?)
PrefixAnyCollectionLazy 63026 61694 -2.1% 1.02x (?)
PrefixAnySeqCRangeIter 16536 16552 +0.1% 1.00x (?)
PrefixAnySeqCRangeIterLazy 16529 16555 +0.2% 1.00x (?)
PrefixAnySeqCntRange 28 28 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 28 27 -3.6% 1.04x
PrefixAnySequence 4380 4319 -1.4% 1.01x
PrefixAnySequenceLazy 4381 4309 -1.6% 1.02x
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 2214 -0.4% 1.00x (?)
PrefixSequenceLazy 2275 2274 -0.0% 1.00x (?)
PrefixWhileAnyCollection 154 154 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 90 90 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 9058 9019 -0.4% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 72 72 +0.0% 1.00x
PrefixWhileAnySeqCntRange 60 59 -1.7% 1.02x
PrefixWhileAnySeqCntRangeLazy 90 90 +0.0% 1.00x
PrefixWhileAnySequence 10237 10222 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1392 1392 +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 377 377 +0.0% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 918 918 +0.0% 1.00x
PrimsSplit 914 920 +0.7% 0.99x (?)
QueueConcrete 1146 1146 +0.0% 1.00x
QueueGeneric 1148 1148 +0.0% 1.00x
RC4 170 170 +0.0% 1.00x
RGBHistogram 3986 3948 -1.0% 1.01x (?)
RGBHistogramOfObjects 24502 24490 -0.0% 1.00x (?)
RangeAssignment 365 365 +0.0% 1.00x
RangeIterationSigned 171 171 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 985 992 +0.7% 0.99x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterString 352 351 -0.3% 1.00x (?)
RemoveWhereFilterStrings 437 437 +0.0% 1.00x
RemoveWhereMoveStrings 708 707 -0.1% 1.00x (?)
RemoveWhereQuadraticInts 1287 1287 +0.0% 1.00x
RemoveWhereQuadraticString 496 496 +0.0% 1.00x
RemoveWhereQuadraticStrings 2755 2756 +0.0% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 856 855 -0.1% 1.00x (?)
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16683 16482 -1.2% 1.01x (?)
ReversedDictionary 365 367 +0.5% 0.99x (?)
RomanNumbers 140419 138195 -1.6% 1.02x (?)
SequenceAlgosAnySequence 11797 11719 -0.7% 1.01x (?)
SequenceAlgosArray 1575 1567 -0.5% 1.01x (?)
SequenceAlgosContiguousArray 1579 1574 -0.3% 1.00x (?)
SequenceAlgosList 1353 1347 -0.4% 1.00x (?)
SequenceAlgosRange 2576 2576 +0.0% 1.00x
SequenceAlgosUnfoldSequence 1102 1102 +0.0% 1.00x
SetExclusiveOr 6577 6585 +0.1% 1.00x (?)
SetExclusiveOr_OfObjects 11790 11839 +0.4% 1.00x (?)
SetIntersect 958 966 +0.8% 0.99x (?)
SetIntersect_OfObjects 1563 1553 -0.6% 1.01x (?)
SetIsSubsetOf 372 374 +0.5% 0.99x
SetIsSubsetOf_OfObjects 435 438 +0.7% 0.99x
SetUnion 5812 5831 +0.3% 1.00x (?)
SetUnion_OfObjects 10105 10177 +0.7% 0.99x (?)
SevenBoom 878 872 -0.7% 1.01x (?)
SortLargeExistentials 6326 6092 -3.7% 1.04x
SortLettersInPlace 1053 1053 +0.0% 1.00x
SortSortedStrings 1045 1024 -2.0% 1.02x
SortStrings 2125 2055 -3.3% 1.03x
SortStringsUnicode 2658 2555 -3.9% 1.04x
StackPromo 22660 23592 +4.1% 0.96x
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1784 1789 +0.3% 1.00x (?)
StrToInt 2873 2982 +3.8% 0.96x
StringBuilder 805 776 -3.6% 1.04x
StringBuilderLong 1221 1215 -0.5% 1.00x (?)
StringBuilderWithLongSubstring 1411 1403 -0.6% 1.01x (?)
StringComparison_abnormal 792 807 +1.9% 0.98x (?)
StringComparison_ascii 1311 1286 -1.9% 1.02x
StringComparison_emoji 823 812 -1.3% 1.01x (?)
StringComparison_fastPrenormal 827 800 -3.3% 1.03x
StringComparison_latin1 654 625 -4.4% 1.05x
StringComparison_longSharedPrefix 941 931 -1.1% 1.01x
StringComparison_nonBMPSlowestPrenormal 1612 1581 -1.9% 1.02x
StringComparison_slowerPrenormal 1717 1698 -1.1% 1.01x (?)
StringComparison_zalgo 124707 124577 -0.1% 1.00x (?)
StringEdits 172954 173305 +0.2% 1.00x (?)
StringEnumRawValueInitialization 840 837 -0.4% 1.00x (?)
StringEqualPointerComparison 295 295 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 22 +4.8% 0.95x
StringHasPrefixAscii 2061 2032 -1.4% 1.01x
StringHasPrefixUnicode 110187 109466 -0.7% 1.01x (?)
StringHasSuffixAscii 2204 2175 -1.3% 1.01x (?)
StringHasSuffixUnicode 116092 114506 -1.4% 1.01x (?)
StringInterpolation 10103 10066 -0.4% 1.00x (?)
StringInterpolationManySmallSegments 19323 19235 -0.5% 1.00x (?)
StringInterpolationSmall 6650 6518 -2.0% 1.02x (?)
StringMatch 11635 11646 +0.1% 1.00x (?)
StringUTF16Builder 2703 2731 +1.0% 0.99x (?)
StringUTF16SubstringBuilder 6015 5800 -3.6% 1.04x (?)
StringWalk 1436 1412 -1.7% 1.02x
StringWithCString 42920 45067 +5.0% 0.95x
StringWordBuilder 2328 2328 +0.0% 1.00x
StringWordBuilderReservingCapacity 1924 1996 +3.7% 0.96x
SubstringComparable 27 27 +0.0% 1.00x
SubstringEqualString 780 799 +2.4% 0.98x
SubstringEquatable 1410 1403 -0.5% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 75 75 +0.0% 1.00x
SuffixAnyCollection 31 31 +0.0% 1.00x
SuffixAnyCollectionLazy 21011 20594 -2.0% 1.02x (?)
SuffixAnySeqCRangeIter 3891 3849 -1.1% 1.01x (?)
SuffixAnySeqCRangeIterLazy 3890 3850 -1.0% 1.01x (?)
SuffixAnySeqCntRange 20 20 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 20 20 +0.0% 1.00x
SuffixAnySequence 5138 5070 -1.3% 1.01x (?)
SuffixAnySequenceLazy 5332 5192 -2.6% 1.03x (?)
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3717 3726 +0.2% 1.00x (?)
SuffixSequenceLazy 3724 3723 -0.0% 1.00x (?)
SumUsingReduce 101 101 +0.0% 1.00x
SumUsingReduceInto 97 97 +0.0% 1.00x
SuperChars 14723 14728 +0.0% 1.00x (?)
TwoSum 1766 1767 +0.1% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 294 294 +0.0% 1.00x
Walsh 394 407 +3.3% 0.97x
WordCountHistogramASCII 8336 8297 -0.5% 1.00x (?)
WordCountHistogramUTF16 14841 14520 -2.2% 1.02x (?)
WordCountUniqueASCII 2515 2469 -1.8% 1.02x (?)
WordCountUniqueUTF16 7993 7787 -2.6% 1.03x (?)
XorLoop 401 400 -0.2% 1.00x (?)

Unoptimized (Onone)

Regression (17)
TEST OLD NEW DELTA SPEEDUP
SequenceAlgosContiguousArray 284296 338141 +18.9% 0.84x
CharIndexing_tweet_unicodeScalars 644470 738140 +14.5% 0.87x
CharIndexing_punctuated_unicodeScalars 70596 80164 +13.6% 0.88x
ObjectiveCBridgeStubFromArrayOfNSString 32917 36861 +12.0% 0.89x (?)
LessSubstringSubstringGenericComparable 54 60 +11.1% 0.90x
SuffixAnySeqCRangeIterLazy 36279 40114 +10.6% 0.90x
SuffixAnySeqCRangeIter 36620 40316 +10.1% 0.91x
RomanNumbers 1296623 1426082 +10.0% 0.91x
StackPromo 98540 108093 +9.7% 0.91x (?)
StringUTF16Builder 7973 8683 +8.9% 0.92x (?)
MapReduceShortString 232 251 +8.2% 0.92x
StringBuilderWithLongSubstring 4707 5046 +7.2% 0.93x (?)
DropFirstCountableRangeLazy 33720 36018 +6.8% 0.94x
MapReduceLazyCollection 22827 24333 +6.6% 0.94x
SumUsingReduce 160361 170359 +6.2% 0.94x
SuffixCountableRangeLazy 11210 11875 +5.9% 0.94x
PrefixCountableRangeLazy 33678 35651 +5.9% 0.94x
Improvement (22)
TEST OLD NEW DELTA SPEEDUP
FrequenciesUsingReduceInto 3931 3207 -18.4% 1.23x
ObjectiveCBridgeFromNSSetAnyObjectForced 6508 5542 -14.8% 1.17x (?)
WordSplitASCII 11944 10246 -14.2% 1.17x
CharIteration_punctuated_unicodeScalars_Backwards 67366 58610 -13.0% 1.15x (?)
PrefixWhileAnyCollectionLazy 20710 18522 -10.6% 1.12x (?)
ArrayOfGenericPOD2 1187 1072 -9.7% 1.11x
CharIndexing_korean_unicodeScalars_Backwards 408707 369848 -9.5% 1.11x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 70528 63987 -9.3% 1.10x (?)
WordSplitUTF16 13505 12256 -9.2% 1.10x
StringWithCString 45562 41822 -8.2% 1.09x
StringInterpolation 12675 11663 -8.0% 1.09x (?)
DataReplaceMediumBuffer 13046 12033 -7.8% 1.08x (?)
TypeFlood 211 195 -7.6% 1.08x (?)
StringRemoveDupes 775 720 -7.1% 1.08x
FrequenciesUsingReduce 11999 11181 -6.8% 1.07x (?)
PrefixWhileAnySeqCRangeIterLazy 20044 18689 -6.8% 1.07x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 120156 112961 -6.0% 1.06x (?)
ErrorHandling 6813 6435 -5.5% 1.06x (?)
CharIndexing_utf16_unicodeScalars_Backwards 329822 312756 -5.2% 1.05x (?)
DataAppendArray 6002 5704 -5.0% 1.05x (?)
NSStringConversion 799 760 -4.9% 1.05x (?)
Dictionary 2446 2327 -4.9% 1.05x
No Changes (385)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5427 5487 +1.1% 0.99x (?)
AnyHashableWithAClass 101795 102477 +0.7% 0.99x (?)
Array2D 636397 635156 -0.2% 1.00x (?)
ArrayAppend 4670 4670 +0.0% 1.00x
ArrayAppendArrayOfInt 864 861 -0.3% 1.00x (?)
ArrayAppendAscii 39873 39387 -1.2% 1.01x (?)
ArrayAppendFromGeneric 871 869 -0.2% 1.00x (?)
ArrayAppendGenericStructs 1506 1506 +0.0% 1.00x
ArrayAppendLatin1 64869 65166 +0.5% 1.00x (?)
ArrayAppendLazyMap 169571 171320 +1.0% 0.99x (?)
ArrayAppendOptionals 1505 1501 -0.3% 1.00x (?)
ArrayAppendRepeatCol 182615 184197 +0.9% 0.99x
ArrayAppendReserved 4282 4280 -0.0% 1.00x (?)
ArrayAppendSequence 102652 103340 +0.7% 0.99x
ArrayAppendStrings 6354 6468 +1.8% 0.98x
ArrayAppendToFromGeneric 872 867 -0.6% 1.01x (?)
ArrayAppendToGeneric 874 879 +0.6% 0.99x
ArrayAppendUTF16 64868 65216 +0.5% 0.99x (?)
ArrayInClass 6218 6189 -0.5% 1.00x (?)
ArrayLiteral 1796 1801 +0.3% 1.00x (?)
ArrayOfGenericRef 10750 10793 +0.4% 1.00x (?)
ArrayOfPOD 760 760 +0.0% 1.00x
ArrayOfRef 9935 9951 +0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 868 867 -0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 237672 236660 -0.4% 1.00x (?)
ArrayPlusEqualSingleElementCollection 235204 233756 -0.6% 1.01x (?)
ArrayPlusEqualThreeElements 9415 9369 -0.5% 1.00x (?)
ArraySubscript 107261 106835 -0.4% 1.00x (?)
ArrayValueProp 3656 3665 +0.2% 1.00x (?)
ArrayValueProp2 15262 15261 -0.0% 1.00x (?)
ArrayValueProp3 4167 4188 +0.5% 0.99x (?)
ArrayValueProp4 4105 4119 +0.3% 1.00x (?)
BinaryFloatingPointPropertiesBinade 85 88 +3.5% 0.97x
BinaryFloatingPointPropertiesNextUp 137 134 -2.2% 1.02x
BinaryFloatingPointPropertiesUlp 128 131 +2.3% 0.98x
BitCount 8890 8890 +0.0% 1.00x
ByteSwap 9664 9632 -0.3% 1.00x
COWTree 11999 11770 -1.9% 1.02x (?)
CSVParsing 2887038 2912827 +0.9% 0.99x (?)
CSVParsingAlt 1463423 1435893 -1.9% 1.02x (?)
CSVParsingAltIndices 2520062 2502483 -0.7% 1.01x (?)
CStringLongAscii 5532 5383 -2.7% 1.03x
CStringLongNonAscii 2549 2454 -3.7% 1.04x
CStringShortAscii 6507 6252 -3.9% 1.04x (?)
Calculator 2160 2079 -3.7% 1.04x
CaptureProp 277181 284687 +2.7% 0.97x (?)
ChainedFilterMap 235808 234085 -0.7% 1.01x (?)
CharIndexing_ascii_unicodeScalars 318550 330024 +3.6% 0.97x (?)
CharIndexing_ascii_unicodeScalars_Backwards 366957 379774 +3.5% 0.97x (?)
CharIndexing_chinese_unicodeScalars 241395 242930 +0.6% 0.99x (?)
CharIndexing_chinese_unicodeScalars_Backwards 278016 290336 +4.4% 0.96x (?)
CharIndexing_japanese_unicodeScalars 385637 385320 -0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 434342 448794 +3.3% 0.97x (?)
CharIndexing_korean_unicodeScalars 314200 308361 -1.9% 1.02x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 56803 56256 -1.0% 1.01x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 84882 83855 -1.2% 1.01x (?)
CharIndexing_russian_unicodeScalars 265235 265269 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 305414 309406 +1.3% 0.99x (?)
CharIndexing_tweet_unicodeScalars_Backwards 772903 763082 -1.3% 1.01x (?)
CharIndexing_utf16_unicodeScalars 286707 278745 -2.8% 1.03x (?)
CharIteration_ascii_unicodeScalars 150575 149761 -0.5% 1.01x (?)
CharIteration_ascii_unicodeScalars_Backwards 267555 276738 +3.4% 0.97x (?)
CharIteration_chinese_unicodeScalars 114456 113808 -0.6% 1.01x
CharIteration_chinese_unicodeScalars_Backwards 198881 200274 +0.7% 0.99x (?)
CharIteration_japanese_unicodeScalars 188543 179661 -4.7% 1.05x
CharIteration_japanese_unicodeScalars_Backwards 315700 327541 +3.8% 0.96x (?)
CharIteration_korean_unicodeScalars 146321 146132 -0.1% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 264179 259050 -1.9% 1.02x (?)
CharIteration_punctuatedJapanese_unicodeScalars 26814 26836 +0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 47292 47595 +0.6% 0.99x (?)
CharIteration_punctuated_unicodeScalars 33658 33496 -0.5% 1.00x (?)
CharIteration_russian_unicodeScalars 125510 125446 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 217957 222656 +2.2% 0.98x (?)
CharIteration_tweet_unicodeScalars 305752 304014 -0.6% 1.01x
CharIteration_tweet_unicodeScalars_Backwards 524465 530757 +1.2% 0.99x (?)
CharIteration_utf16_unicodeScalars 127708 126555 -0.9% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 225842 226045 +0.1% 1.00x (?)
CharacterLiteralsLarge 5843 5841 -0.0% 1.00x (?)
CharacterLiteralsSmall 678 701 +3.4% 0.97x
CharacterPropertiesFetch 5554 5532 -0.4% 1.00x (?)
CharacterPropertiesPrecomputed 3662 3685 +0.6% 0.99x (?)
CharacterPropertiesStashed 2334 2357 +1.0% 0.99x (?)
CharacterPropertiesStashedMemo 4512 4425 -1.9% 1.02x (?)
Chars 36179 36138 -0.1% 1.00x (?)
ClassArrayGetter 992 990 -0.2% 1.00x
Combos 2459 2446 -0.5% 1.01x (?)
DataAccessBytes 2406 2408 +0.1% 1.00x (?)
DataAppendBytes 5233 5135 -1.9% 1.02x (?)
DataAppendDataLargeToLarge 67332 67177 -0.2% 1.00x (?)
DataAppendDataLargeToMedium 35216 35194 -0.1% 1.00x (?)
DataAppendDataLargeToSmall 34166 34280 +0.3% 1.00x (?)
DataAppendDataMediumToLarge 37445 37131 -0.8% 1.01x (?)
DataAppendDataMediumToMedium 6694 6814 +1.8% 0.98x (?)
DataAppendDataMediumToSmall 6039 6295 +4.2% 0.96x (?)
DataAppendDataSmallToLarge 36867 36589 -0.8% 1.01x (?)
DataAppendDataSmallToMedium 6076 6159 +1.4% 0.99x (?)
DataAppendDataSmallToSmall 6108 5894 -3.5% 1.04x (?)
DataAppendSequence 1892681 1906020 +0.7% 0.99x (?)
DataCopyBytes 2495 2587 +3.7% 0.96x (?)
DataCount 223 223 +0.0% 1.00x
DataMutateBytes 5236 5246 +0.2% 1.00x (?)
DataReplaceLarge 40245 40001 -0.6% 1.01x (?)
DataReplaceLargeBuffer 60126 59354 -1.3% 1.01x (?)
DataReplaceMedium 9107 8980 -1.4% 1.01x (?)
DataReplaceSmall 7025 6898 -1.8% 1.02x (?)
DataReplaceSmallBuffer 10403 9959 -4.3% 1.04x (?)
DataReset 2948 2937 -0.4% 1.00x (?)
DataSetCount 570 558 -2.1% 1.02x (?)
DataSubscript 443 443 +0.0% 1.00x
DictOfArraysToArrayOfDicts 3460 3528 +2.0% 0.98x (?)
Dictionary2 1508 1501 -0.5% 1.00x (?)
Dictionary2OfObjects 4246 4239 -0.2% 1.00x (?)
Dictionary3 902 908 +0.7% 0.99x (?)
Dictionary3OfObjects 2115 2142 +1.3% 0.99x (?)
Dictionary4 1177 1183 +0.5% 0.99x (?)
Dictionary4Legacy 1580 1535 -2.8% 1.03x
Dictionary4OfObjects 1752 1748 -0.2% 1.00x (?)
Dictionary4OfObjectsLegacy 2163 2183 +0.9% 0.99x (?)
DictionaryBridge 1291 1302 +0.9% 0.99x (?)
DictionaryCopy 328709 329324 +0.2% 1.00x (?)
DictionaryFilter 337355 334789 -0.8% 1.01x (?)
DictionaryGroup 4530 4558 +0.6% 0.99x (?)
DictionaryGroupOfObjects 7002 7124 +1.7% 0.98x (?)
DictionaryLiteral 9208 9030 -1.9% 1.02x (?)
DictionaryOfObjects 5950 5883 -1.1% 1.01x (?)
DictionaryRemove 17939 17793 -0.8% 1.01x (?)
DictionaryRemoveOfObjects 50685 50542 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutation 2008 2023 +0.7% 0.99x (?)
DictionarySubscriptDefaultMutationArray 2287 2275 -0.5% 1.01x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9184 9220 +0.4% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 5224 5110 -2.2% 1.02x (?)
DictionarySwap 5273 5222 -1.0% 1.01x (?)
DictionarySwapAt 35703 35377 -0.9% 1.01x (?)
DictionarySwapAtOfObjects 113568 112787 -0.7% 1.01x (?)
DictionarySwapOfObjects 18537 18606 +0.4% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 15448 15353 -0.6% 1.01x
DropFirstAnyCollectionLazy 105015 103697 -1.3% 1.01x (?)
DropFirstAnySeqCRangeIter 23446 23681 +1.0% 0.99x
DropFirstAnySeqCRangeIterLazy 23525 23834 +1.3% 0.99x
DropFirstAnySeqCntRange 15434 15324 -0.7% 1.01x (?)
DropFirstAnySeqCntRangeLazy 15350 15358 +0.1% 1.00x (?)
DropFirstAnySequence 12903 13108 +1.6% 0.98x
DropFirstAnySequenceLazy 12818 12962 +1.1% 0.99x
DropFirstArray 3429 3432 +0.1% 1.00x (?)
DropFirstArrayLazy 32578 32048 -1.6% 1.02x (?)
DropFirstCountableRange 322 323 +0.3% 1.00x (?)
DropFirstSequence 12502 12649 +1.2% 0.99x
DropFirstSequenceLazy 12461 12610 +1.2% 0.99x
DropLastAnyCollection 5182 5136 -0.9% 1.01x
DropLastAnyCollectionLazy 36154 35003 -3.2% 1.03x (?)
DropLastAnySeqCRangeIter 40657 42455 +4.4% 0.96x
DropLastAnySeqCRangeIterLazy 40582 42381 +4.4% 0.96x
DropLastAnySeqCntRange 5180 5120 -1.2% 1.01x
DropLastAnySeqCntRangeLazy 5129 5133 +0.1% 1.00x (?)
DropLastAnySequence 30923 30929 +0.0% 1.00x (?)
DropLastAnySequenceLazy 31120 31126 +0.0% 1.00x (?)
DropLastCountableRange 112 112 +0.0% 1.00x
DropLastCountableRangeLazy 11259 11823 +5.0% 0.95x
DropLastSequence 30610 30774 +0.5% 0.99x (?)
DropLastSequenceLazy 31130 30838 -0.9% 1.01x (?)
DropWhileAnyCollection 19859 19956 +0.5% 1.00x (?)
DropWhileAnyCollectionLazy 22455 22544 +0.4% 1.00x
DropWhileAnySeqCRangeIter 24477 24563 +0.4% 1.00x
DropWhileAnySeqCRangeIterLazy 22362 22462 +0.4% 1.00x (?)
DropWhileAnySeqCntRange 19785 19848 +0.3% 1.00x
DropWhileAnySeqCntRangeLazy 22376 22405 +0.1% 1.00x (?)
DropWhileAnySequence 13632 13686 +0.4% 1.00x (?)
DropWhileAnySequenceLazy 12472 12506 +0.3% 1.00x (?)
DropWhileArrayLazy 13974 14075 +0.7% 0.99x (?)
DropWhileCountableRange 4841 4901 +1.2% 0.99x
DropWhileCountableRangeLazy 22055 22066 +0.0% 1.00x (?)
DropWhileSequence 13267 13346 +0.6% 0.99x (?)
DropWhileSequenceLazy 12111 12094 -0.1% 1.00x (?)
EqualStringSubstring 71 72 +1.4% 0.99x
EqualSubstringString 71 72 +1.4% 0.99x
EqualSubstringSubstring 72 73 +1.4% 0.99x
EqualSubstringSubstringGenericEquatable 57 59 +3.5% 0.97x
ExclusivityGlobal 197 189 -4.1% 1.04x
ExclusivityIndependent 75 74 -1.3% 1.01x
FatCompactMap 298427 295357 -1.0% 1.01x
FilterEvenUsingReduce 3654 3778 +3.4% 0.97x (?)
FilterEvenUsingReduceInto 1877 1883 +0.3% 1.00x (?)
FloatingPointPrinting_Double_description_small 24489 24584 +0.4% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 36273 36125 -0.4% 1.00x (?)
FloatingPointPrinting_Double_interpolated 96741 93026 -3.8% 1.04x (?)
FloatingPointPrinting_Float80_description_small 31719 31550 -0.5% 1.01x (?)
FloatingPointPrinting_Float80_description_uniform 64977 62249 -4.2% 1.04x (?)
FloatingPointPrinting_Float80_interpolated 120719 117590 -2.6% 1.03x (?)
FloatingPointPrinting_Float_description_small 6994 6769 -3.2% 1.03x
FloatingPointPrinting_Float_description_uniform 17742 17288 -2.6% 1.03x (?)
FloatingPointPrinting_Float_interpolated 73979 72263 -2.3% 1.02x (?)
Hanoi 20586 20676 +0.4% 1.00x (?)
HashTest 22003 22197 +0.9% 0.99x (?)
Histogram 6835 6538 -4.3% 1.05x (?)
Integrate 458 461 +0.7% 0.99x
IterateData 5440 5456 +0.3% 1.00x (?)
Join 783 783 +0.0% 1.00x
LazilyFilteredArrayContains 758763 752488 -0.8% 1.01x (?)
LazilyFilteredArrays 1431606 1438670 +0.5% 1.00x (?)
LazilyFilteredRange 532885 532640 -0.0% 1.00x (?)
LessSubstringSubstring 70 73 +4.3% 0.96x
LinkedList 32454 32475 +0.1% 1.00x (?)
LuhnAlgoEager 5603 5527 -1.4% 1.01x (?)
LuhnAlgoLazy 5815 5681 -2.3% 1.02x (?)
MapReduce 25729 26757 +4.0% 0.96x
MapReduceAnyCollection 25666 26830 +4.5% 0.96x
MapReduceAnyCollectionShort 38749 39832 +2.8% 0.97x
MapReduceClass 29707 30606 +3.0% 0.97x
MapReduceClassShort 41273 41655 +0.9% 0.99x (?)
MapReduceLazyCollectionShort 33943 35318 +4.1% 0.96x
MapReduceLazySequence 20330 20602 +1.3% 0.99x
MapReduceSequence 30579 31858 +4.2% 0.96x
MapReduceShort 37932 38888 +2.5% 0.98x (?)
MapReduceString 1738 1824 +4.9% 0.95x
Memset 44144 44107 -0.1% 1.00x (?)
MonteCarloE 1139119 1140095 +0.1% 1.00x (?)
MonteCarloPi 5164766 5143881 -0.4% 1.00x (?)
NSDictionaryCastToSwift 7029 7045 +0.2% 1.00x (?)
NSError 609 605 -0.7% 1.01x (?)
NibbleSort 497000 501495 +0.9% 0.99x
NopDeinit 201864 192603 -4.6% 1.05x
ObjectAllocation 1252 1252 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 29017 28717 -1.0% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 9256 9438 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 46603 48790 +4.7% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 47693 46709 -2.1% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 53482 53887 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 71979 70780 -1.7% 1.02x (?)
ObjectiveCBridgeFromNSString 2857 2897 +1.4% 0.99x (?)
ObjectiveCBridgeFromNSStringForced 2821 2796 -0.9% 1.01x (?)
ObjectiveCBridgeStubDataAppend 6272 6422 +2.4% 0.98x (?)
ObjectiveCBridgeStubDateMutation 744 744 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 6987 7002 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSString 1077 1084 +0.6% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 194 193 -0.5% 1.01x (?)
ObjectiveCBridgeStubNSDataAppend 2971 3002 +1.0% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 15815 15746 -0.4% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 38033 38102 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSDate 16091 16087 -0.0% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3446 3450 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 2418 2424 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 154 154 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 302279 299985 -0.8% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 303280 309080 +1.9% 0.98x (?)
ObjectiveCBridgeToNSArray 14549 14284 -1.8% 1.02x (?)
ObjectiveCBridgeToNSDictionary 27019 26543 -1.8% 1.02x (?)
ObjectiveCBridgeToNSSet 18126 17521 -3.3% 1.03x (?)
ObjectiveCBridgeToNSString 551 531 -3.6% 1.04x (?)
ObserverClosure 6440 6483 +0.7% 0.99x (?)
ObserverForwarderStruct 4357 4329 -0.6% 1.01x (?)
ObserverPartiallyAppliedMethod 8023 8031 +0.1% 1.00x (?)
ObserverUnappliedMethod 8153 8155 +0.0% 1.00x (?)
OpenClose 877 860 -1.9% 1.02x (?)
PartialApplyDynamicType 39791 39349 -1.1% 1.01x (?)
Phonebook 19340 18879 -2.4% 1.02x
PointerArithmetics 123096 123161 +0.1% 1.00x (?)
PolymorphicCalls 2358 2374 +0.7% 0.99x
PopFrontArray 4715 4637 -1.7% 1.02x
PopFrontArrayGeneric 5411 5402 -0.2% 1.00x (?)
PopFrontUnsafePointer 10668 10668 +0.0% 1.00x
PrefixAnyCollection 15460 15352 -0.7% 1.01x (?)
PrefixAnyCollectionLazy 105861 106095 +0.2% 1.00x (?)
PrefixAnySeqCRangeIter 18810 18953 +0.8% 0.99x
PrefixAnySeqCRangeIterLazy 18837 18977 +0.7% 0.99x (?)
PrefixAnySeqCntRange 15485 15338 -0.9% 1.01x (?)
PrefixAnySeqCntRangeLazy 15321 15361 +0.3% 1.00x (?)
PrefixAnySequence 10495 10520 +0.2% 1.00x (?)
PrefixAnySequenceLazy 10463 10585 +1.2% 0.99x (?)
PrefixArray 3434 3427 -0.2% 1.00x (?)
PrefixArrayLazy 32693 31975 -2.2% 1.02x
PrefixCountableRange 323 323 +0.0% 1.00x
PrefixSequence 10080 10109 +0.3% 1.00x (?)
PrefixSequenceLazy 10140 10186 +0.5% 1.00x (?)
PrefixWhileAnyCollection 28820 28813 -0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIter 34292 34313 +0.1% 1.00x (?)
PrefixWhileAnySeqCntRange 28595 28748 +0.5% 0.99x
PrefixWhileAnySeqCntRangeLazy 18444 18384 -0.3% 1.00x (?)
PrefixWhileAnySequence 26929 26952 +0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 10939 11153 +2.0% 0.98x
PrefixWhileArray 10584 10547 -0.3% 1.00x
PrefixWhileArrayLazy 12352 12296 -0.5% 1.00x (?)
PrefixWhileCountableRange 13723 13912 +1.4% 0.99x
PrefixWhileCountableRangeLazy 18156 18179 +0.1% 1.00x (?)
PrefixWhileSequence 26429 26581 +0.6% 0.99x (?)
PrefixWhileSequenceLazy 10802 10780 -0.2% 1.00x (?)
Prims 9699 9519 -1.9% 1.02x (?)
PrimsSplit 9666 9567 -1.0% 1.01x (?)
QueueConcrete 14414 14293 -0.8% 1.01x
QueueGeneric 19034 19119 +0.4% 1.00x (?)
RC4 16336 16066 -1.7% 1.02x
RGBHistogram 25507 25017 -1.9% 1.02x (?)
RGBHistogramOfObjects 78073 78701 +0.8% 0.99x (?)
RangeAssignment 2689 2701 +0.4% 1.00x (?)
RangeIterationSigned 14726 14616 -0.7% 1.01x (?)
RangeReplaceableCollectionPlusDefault 11370 11346 -0.2% 1.00x (?)
RecursiveOwnedParameter 5925 5919 -0.1% 1.00x (?)
RemoveWhereFilterInts 2007 2007 +0.0% 1.00x
RemoveWhereFilterString 1314 1324 +0.8% 0.99x (?)
RemoveWhereFilterStrings 2554 2557 +0.1% 1.00x (?)
RemoveWhereMoveInts 3832 3805 -0.7% 1.01x
RemoveWhereMoveStrings 4368 4362 -0.1% 1.00x (?)
RemoveWhereQuadraticInts 8059 8036 -0.3% 1.00x (?)
RemoveWhereQuadraticString 2289 2287 -0.1% 1.00x (?)
RemoveWhereQuadraticStrings 10052 10009 -0.4% 1.00x
RemoveWhereSwapInts 6394 6360 -0.5% 1.01x (?)
RemoveWhereSwapStrings 7093 7068 -0.4% 1.00x
ReversedArray 13175 13037 -1.0% 1.01x
ReversedBidirectional 44204 43719 -1.1% 1.01x (?)
ReversedDictionary 23953 23213 -3.1% 1.03x (?)
SequenceAlgosAnySequence 12907 12882 -0.2% 1.00x (?)
SequenceAlgosArray 768694 776230 +1.0% 0.99x
SequenceAlgosList 8691 8717 +0.3% 1.00x
SequenceAlgosRange 1266692 1268974 +0.2% 1.00x (?)
SequenceAlgosUnfoldSequence 6565 6573 +0.1% 1.00x (?)
SetExclusiveOr 17149 17058 -0.5% 1.01x (?)
SetExclusiveOr_OfObjects 39517 39183 -0.8% 1.01x
SetIntersect 6846 6855 +0.1% 1.00x (?)
SetIntersect_OfObjects 9788 9809 +0.2% 1.00x (?)
SetIsSubsetOf 1203 1224 +1.7% 0.98x (?)
SetIsSubsetOf_OfObjects 2156 2145 -0.5% 1.01x (?)
SetUnion 12518 12349 -1.4% 1.01x (?)
SetUnion_OfObjects 28425 28328 -0.3% 1.00x (?)
SevenBoom 1080 1077 -0.3% 1.00x (?)
Sim2DArray 43404 43531 +0.3% 1.00x
SortLargeExistentials 11703 11688 -0.1% 1.00x
SortLettersInPlace 1975 1963 -0.6% 1.01x (?)
SortSortedStrings 1142 1135 -0.6% 1.01x (?)
SortStrings 2317 2316 -0.0% 1.00x (?)
SortStringsUnicode 2850 2778 -2.5% 1.03x
StaticArray 2533 2501 -1.3% 1.01x (?)
StrComplexWalk 6836 6828 -0.1% 1.00x (?)
StrToInt 79792 82449 +3.3% 0.97x (?)
StringAdder 1174 1133 -3.5% 1.04x
StringBuilder 5549 5555 +0.1% 1.00x (?)
StringBuilderLong 2918 2943 +0.9% 0.99x (?)
StringComparison_abnormal 1351 1324 -2.0% 1.02x (?)
StringComparison_ascii 9499 9445 -0.6% 1.01x
StringComparison_emoji 1996 2005 +0.5% 1.00x (?)
StringComparison_fastPrenormal 4954 4904 -1.0% 1.01x (?)
StringComparison_latin1 3863 3814 -1.3% 1.01x (?)
StringComparison_longSharedPrefix 2371 2359 -0.5% 1.01x (?)
StringComparison_nonBMPSlowestPrenormal 3704 3684 -0.5% 1.01x (?)
StringComparison_slowerPrenormal 4178 4163 -0.4% 1.00x (?)
StringComparison_zalgo 127497 127509 +0.0% 1.00x (?)
StringEdits 392553 394424 +0.5% 1.00x (?)
StringEnumRawValueInitialization 33660 33116 -1.6% 1.02x (?)
StringEqualPointerComparison 1654 1653 -0.1% 1.00x (?)
StringFromLongWholeSubstring 12 12 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 198 199 +0.5% 0.99x (?)
StringHasPrefixAscii 3272 3149 -3.8% 1.04x
StringHasPrefixUnicode 107217 107082 -0.1% 1.00x (?)
StringHasSuffixAscii 3263 3317 +1.7% 0.98x
StringHasSuffixUnicode 107678 108138 +0.4% 1.00x (?)
StringInterpolationManySmallSegments 20712 20503 -1.0% 1.01x (?)
StringInterpolationSmall 8588 8508 -0.9% 1.01x (?)
StringMatch 40316 41065 +1.9% 0.98x (?)
StringUTF16SubstringBuilder 23204 22582 -2.7% 1.03x (?)
StringWalk 13152 12583 -4.3% 1.05x
StringWordBuilder 2518 2519 +0.0% 1.00x (?)
StringWordBuilderReservingCapacity 2042 2124 +4.0% 0.96x
SubstringComparable 1662 1659 -0.2% 1.00x (?)
SubstringEqualString 1707 1718 +0.6% 0.99x
SubstringEquatable 5421 5433 +0.2% 1.00x (?)
SubstringFromLongString 18 18 +0.0% 1.00x
SubstringFromLongStringGeneric 108 110 +1.9% 0.98x (?)
SuffixAnyCollection 5180 5135 -0.9% 1.01x
SuffixAnyCollectionLazy 36196 34884 -3.6% 1.04x (?)
SuffixAnySeqCntRange 5188 5134 -1.0% 1.01x
SuffixAnySeqCntRangeLazy 5122 5127 +0.1% 1.00x (?)
SuffixAnySequence 26731 26463 -1.0% 1.01x (?)
SuffixAnySequenceLazy 26858 26521 -1.3% 1.01x
SuffixCountableRange 111 111 +0.0% 1.00x
SuffixSequence 26600 26506 -0.4% 1.00x (?)
SuffixSequenceLazy 26680 26457 -0.8% 1.01x (?)
SumUsingReduceInto 153400 153254 -0.1% 1.00x (?)
SuperChars 86094 85601 -0.6% 1.01x (?)
TwoSum 3772 3769 -0.1% 1.00x (?)
UTF8Decode 29966 29935 -0.1% 1.00x (?)
Walsh 11941 11960 +0.2% 1.00x (?)
WordCountHistogramASCII 38015 37886 -0.3% 1.00x (?)
WordCountHistogramUTF16 46564 45443 -2.4% 1.02x (?)
WordCountUniqueASCII 7474 7446 -0.4% 1.00x
WordCountUniqueUTF16 13257 13274 +0.1% 1.00x (?)
XorLoop 23222 23223 +0.0% 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: 16 GB

These are now synthesized by the compiler.
(Inlinability will be different, but that seems fine.)
The @inlinable attribute was left off by accident, but this turned out to be a measurable performance boost for Character hashing.

Also add @effects(releasenone), for good measure.
@lorentey lorentey force-pushed the hash-into-everywhere branch from 0044bfe to bae6f52 Compare April 30, 2018 09:17
@lorentey
Copy link
Member Author

@swift-ci test and merge

@swift-ci swift-ci merged commit 5f9bf11 into swiftlang:master Apr 30, 2018
@lorentey lorentey deleted the hash-into-everywhere branch April 30, 2018 19:17
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