Skip to content

[stdlib] Remove _random() customization point #17604

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 2, 2018

Conversation

Azoy
Copy link
Contributor

@Azoy Azoy commented Jun 28, 2018

This is a continuation of #16863. @lorentey you said you weren't too worried about the FixedWidthInteger._random() implementation as it will soon use the new words initializer™, but I'm simply curious to see if this has any improvements for custom generators in any way. (Can you benchmark?)

@Azoy Azoy changed the title Remove _random() customization point [stdlib] Remove _random() customization point Jun 28, 2018
@lorentey
Copy link
Member

@swift-ci please benchmark

@lorentey
Copy link
Member

@swift-ci please test

Copy link
Member

@lorentey lorentey left a comment

Choose a reason for hiding this comment

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

Looks good! Hopefully we'll see some nice speedups.

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 04a16df

@lorentey
Copy link
Member

Hm, the Linux failure seems unrelated. Let's try again, for luck?

@swift-ci clean test linux platform

@swift-ci
Copy link
Contributor

swift-ci commented Jun 29, 2018

Build comment file:

Optimized (O)

Regression (12)
TEST OLD NEW DELTA SPEEDUP
BinaryFloatingPointPropertiesBinade 23 28 +21.7% 0.82x
DataCount 30 33 +10.0% 0.91x
Calculator 170 186 +9.4% 0.91x
OpenClose 56 61 +8.9% 0.92x
RC4 133 144 +8.3% 0.92x
MapReduceAnyCollection 332 358 +7.8% 0.93x
WordSplitASCII 6658 7145 +7.3% 0.93x (?)
MapReduce 335 359 +7.2% 0.93x
StringComparison_fastPrenormal 758 812 +7.1% 0.93x
BinaryFloatingPointPropertiesUlp 31 33 +6.5% 0.94x
StringWithCString 38022 40131 +5.5% 0.95x
NopDeinit 28329 29869 +5.4% 0.95x
Improvement (10)
TEST OLD NEW DELTA SPEEDUP
RandomIntegersLCG 891 155 -82.6% 5.75x
RandomShuffleLCG 105885 51783 -51.1% 2.04x
DictionarySwapAt 7680 5935 -22.7% 1.29x
RandomDoubleLCG 2600 2029 -22.0% 1.28x
ChainedFilterMap 1262 1117 -11.5% 1.13x
SetIsSubsetOf_OfObjects 451 406 -10.0% 1.11x (?)
MapReduceLazyCollectionShort 33 30 -9.1% 1.10x
PointerArithmetics 30822 28251 -8.3% 1.09x
ObjectiveCBridgeStubFromArrayOfNSString 30356 28823 -5.1% 1.05x (?)
DataReplaceSmallBuffer 7869 7473 -5.0% 1.05x (?)
No Changes (424)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3414 3391 -0.7% 1.01x (?)
AnyHashableWithAClass 79235 77942 -1.6% 1.02x (?)
Array2D 2545 2544 -0.0% 1.00x (?)
ArrayAppend 952 948 -0.4% 1.00x (?)
ArrayAppendArrayOfInt 673 672 -0.1% 1.00x (?)
ArrayAppendAscii 3457 3436 -0.6% 1.01x (?)
ArrayAppendAsciiSubstring 22342 22582 +1.1% 0.99x
ArrayAppendFromGeneric 675 674 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1210 1211 +0.1% 1.00x (?)
ArrayAppendLatin1 37148 37096 -0.1% 1.00x (?)
ArrayAppendLatin1Substring 129190 128926 -0.2% 1.00x (?)
ArrayAppendLazyMap 1179 1175 -0.3% 1.00x (?)
ArrayAppendOptionals 1212 1212 +0.0% 1.00x
ArrayAppendRepeatCol 1174 1174 +0.0% 1.00x
ArrayAppendReserved 724 717 -1.0% 1.01x (?)
ArrayAppendSequence 980 979 -0.1% 1.00x (?)
ArrayAppendStrings 5552 5653 +1.8% 0.98x
ArrayAppendToFromGeneric 676 674 -0.3% 1.00x (?)
ArrayAppendToGeneric 676 674 -0.3% 1.00x (?)
ArrayAppendUTF16 37208 36959 -0.7% 1.01x (?)
ArrayAppendUTF16Substring 126932 126893 -0.0% 1.00x (?)
ArrayInClass 77 77 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 130 129 -0.8% 1.01x
ArrayOfGenericRef 3945 3948 +0.1% 1.00x (?)
ArrayOfPOD 156 156 +0.0% 1.00x
ArrayOfRef 3899 3909 +0.3% 1.00x (?)
ArrayPlusEqualArrayOfInt 674 674 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4831 4810 -0.4% 1.00x (?)
ArrayPlusEqualSingleElementCollection 954 949 -0.5% 1.01x (?)
ArrayPlusEqualThreeElements 1509 1489 -1.3% 1.01x (?)
ArraySubscript 1359 1378 +1.4% 0.99x (?)
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
BinaryFloatingPointPropertiesNextUp 25 25 +0.0% 1.00x
BitCount 181 189 +4.4% 0.96x
ByteSwap 93 90 -3.2% 1.03x (?)
COWArrayGuaranteedParameterOverhead 7758 7815 +0.7% 0.99x (?)
COWTree 3289 3290 +0.0% 1.00x (?)
CSVParsing 589219 588324 -0.2% 1.00x (?)
CSVParsingAlt 725354 724764 -0.1% 1.00x (?)
CSVParsingAltIndices 304698 308297 +1.2% 0.99x (?)
CStringLongAscii 3617 3762 +4.0% 0.96x
CStringLongNonAscii 2144 2176 +1.5% 0.99x (?)
CStringShortAscii 2989 3006 +0.6% 0.99x (?)
CaptureProp 3686 3667 -0.5% 1.01x (?)
CharIndexing_ascii_unicodeScalars 14612 14609 -0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 14361 14381 +0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars 11061 11067 +0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 10882 10891 +0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars 17482 17485 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 17182 17213 +0.2% 1.00x (?)
CharIndexing_korean_unicodeScalars 14167 14168 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 13927 13945 +0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2648 2657 +0.3% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2617 2619 +0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 3317 3319 +0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3267 3268 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars 12171 12172 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 11962 11983 +0.2% 1.00x (?)
CharIndexing_tweet_unicodeScalars 28794 28794 +0.0% 1.00x
CharIndexing_tweet_unicodeScalars_Backwards 28314 28357 +0.2% 1.00x (?)
CharIndexing_utf16_unicodeScalars 20549 20541 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 20895 20925 +0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars 18308 18205 -0.6% 1.01x (?)
CharIteration_ascii_unicodeScalars_Backwards 13548 13549 +0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars 13853 13804 -0.4% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 10258 10262 +0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars 21930 21808 -0.6% 1.01x
CharIteration_japanese_unicodeScalars_Backwards 16218 16216 -0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 17756 17651 -0.6% 1.01x (?)
CharIteration_korean_unicodeScalars_Backwards 13131 13138 +0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3286 3277 -0.3% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2450 2455 +0.2% 1.00x (?)
CharIteration_punctuated_unicodeScalars 4110 4100 -0.2% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 3066 3071 +0.2% 1.00x (?)
CharIteration_russian_unicodeScalars 15242 15186 -0.4% 1.00x
CharIteration_russian_unicodeScalars_Backwards 11283 11289 +0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars 36453 36030 -1.2% 1.01x (?)
CharIteration_tweet_unicodeScalars_Backwards 26755 26762 +0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars 24928 24809 -0.5% 1.00x
CharIteration_utf16_unicodeScalars_Backwards 16635 16792 +0.9% 0.99x
CharacterLiteralsLarge 5329 5304 -0.5% 1.00x (?)
CharacterLiteralsSmall 195 197 +1.0% 0.99x
CharacterPropertiesFetch 4108 4225 +2.8% 0.97x (?)
CharacterPropertiesPrecomputed 931 926 -0.5% 1.01x (?)
CharacterPropertiesStashed 1366 1326 -2.9% 1.03x
CharacterPropertiesStashedMemo 1437 1415 -1.5% 1.02x (?)
Chars 914 913 -0.1% 1.00x (?)
ClassArrayGetter 13 13 +0.0% 1.00x
Combos 434 436 +0.5% 1.00x (?)
DataAccessBytes 1024 1022 -0.2% 1.00x (?)
DataAppendArray 4594 4592 -0.0% 1.00x (?)
DataAppendBytes 4595 4543 -1.1% 1.01x (?)
DataAppendDataLargeToLarge 60411 60077 -0.6% 1.01x (?)
DataAppendDataLargeToMedium 31636 31826 +0.6% 0.99x (?)
DataAppendDataLargeToSmall 31053 30736 -1.0% 1.01x (?)
DataAppendDataMediumToLarge 33828 33965 +0.4% 1.00x (?)
DataAppendDataMediumToMedium 5859 5935 +1.3% 0.99x (?)
DataAppendDataMediumToSmall 5248 5274 +0.5% 1.00x (?)
DataAppendDataSmallToLarge 33299 33336 +0.1% 1.00x (?)
DataAppendDataSmallToMedium 5360 5370 +0.2% 1.00x (?)
DataAppendDataSmallToSmall 5170 5282 +2.2% 0.98x (?)
DataAppendSequence 18130 18052 -0.4% 1.00x (?)
DataCopyBytes 386 390 +1.0% 0.99x (?)
DataMutateBytes 3469 3468 -0.0% 1.00x (?)
DataReplaceLarge 33558 33195 -1.1% 1.01x (?)
DataReplaceLargeBuffer 50777 50744 -0.1% 1.00x (?)
DataReplaceMedium 6934 6655 -4.0% 1.04x (?)
DataReplaceMediumBuffer 9802 9735 -0.7% 1.01x (?)
DataReplaceSmall 5089 4926 -3.2% 1.03x (?)
DataReset 2508 2505 -0.1% 1.00x (?)
DataSetCount 493 494 +0.2% 1.00x (?)
DataSubscript 197 197 +0.0% 1.00x
DictOfArraysToArrayOfDicts 695 701 +0.9% 0.99x (?)
Dictionary 457 466 +2.0% 0.98x (?)
Dictionary2 567 582 +2.6% 0.97x
Dictionary2OfObjects 1859 1859 +0.0% 1.00x
Dictionary3 200 200 +0.0% 1.00x
Dictionary3OfObjects 661 660 -0.2% 1.00x (?)
Dictionary4 307 297 -3.3% 1.03x
Dictionary4Legacy 666 664 -0.3% 1.00x (?)
Dictionary4OfObjects 410 408 -0.5% 1.00x (?)
Dictionary4OfObjectsLegacy 861 867 +0.7% 0.99x (?)
DictionaryBridge 1040 1036 -0.4% 1.00x (?)
DictionaryCopy 92808 93569 +0.8% 0.99x (?)
DictionaryFilter 92508 93365 +0.9% 0.99x
DictionaryGroup 192 193 +0.5% 0.99x (?)
DictionaryGroupOfObjects 1888 1905 +0.9% 0.99x (?)
DictionaryKeysContainsCocoa 36 36 +0.0% 1.00x
DictionaryKeysContainsNative 28 28 +0.0% 1.00x
DictionaryLiteral 1718 1715 -0.2% 1.00x (?)
DictionaryOfObjects 2128 2126 -0.1% 1.00x (?)
DictionaryRemove 3936 3755 -4.6% 1.05x
DictionaryRemoveOfObjects 23038 23222 +0.8% 0.99x (?)
DictionarySubscriptDefaultMutation 238 239 +0.4% 1.00x (?)
DictionarySubscriptDefaultMutationArray 539 539 +0.0% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 3580 3591 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1542 1528 -0.9% 1.01x (?)
DictionarySwap 934 925 -1.0% 1.01x
DictionarySwapAtOfObjects 46856 46977 +0.3% 1.00x (?)
DictionarySwapOfObjects 7915 7875 -0.5% 1.01x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 68 68 +0.0% 1.00x
DropFirstAnyCollectionLazy 57503 57991 +0.8% 0.99x (?)
DropFirstAnySeqCRangeIter 83 83 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 83 83 +0.0% 1.00x
DropFirstAnySeqCntRange 64 64 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 64 64 +0.0% 1.00x
DropFirstAnySequence 1652 1652 +0.0% 1.00x
DropFirstAnySequenceLazy 1652 1652 +0.0% 1.00x
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 2488 -0.0% 1.00x (?)
DropLastAnyCollection 25 25 +0.0% 1.00x
DropLastAnyCollectionLazy 19144 19322 +0.9% 0.99x (?)
DropLastAnySeqCRangeIter 2948 2946 -0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 2944 2952 +0.3% 1.00x (?)
DropLastAnySeqCntRange 10 10 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 10 10 +0.0% 1.00x
DropLastAnySequence 4428 4428 +0.0% 1.00x
DropLastAnySequenceLazy 4515 4508 -0.2% 1.00x (?)
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropLastSequence 568 590 +3.9% 0.96x
DropLastSequenceLazy 567 590 +4.1% 0.96x
DropWhileAnyCollection 89 89 +0.0% 1.00x
DropWhileAnyCollectionLazy 116 116 +0.0% 1.00x
DropWhileAnySeqCRangeIter 68 68 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 116 116 +0.0% 1.00x
DropWhileAnySeqCntRange 85 85 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 116 116 +0.0% 1.00x
DropWhileAnySequence 1669 1668 -0.1% 1.00x (?)
DropWhileAnySequenceLazy 1664 1663 -0.1% 1.00x (?)
DropWhileArrayLazy 79 79 +0.0% 1.00x
DropWhileCountableRange 32 32 +0.0% 1.00x
DropWhileCountableRangeLazy 94 94 +0.0% 1.00x
DropWhileSequence 1991 1976 -0.8% 1.01x
DropWhileSequenceLazy 79 79 +0.0% 1.00x
EqualStringSubstring 45 46 +2.2% 0.98x
EqualSubstringString 45 45 +0.0% 1.00x
EqualSubstringSubstring 45 45 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 45 45 +0.0% 1.00x
ErrorHandling 1067 1072 +0.5% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 180240 179299 -0.5% 1.01x
FilterEvenUsingReduce 1163 1173 +0.9% 0.99x (?)
FilterEvenUsingReduceInto 131 133 +1.5% 0.98x (?)
FloatingPointPrinting_Double_description_small 19322 19304 -0.1% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 18864 18862 -0.0% 1.00x (?)
FloatingPointPrinting_Double_interpolated 55311 55373 +0.1% 1.00x (?)
FloatingPointPrinting_Float80_description_small 25487 25525 +0.1% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 24700 24636 -0.3% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 58481 58660 +0.3% 1.00x (?)
FloatingPointPrinting_Float_description_small 4856 4948 +1.9% 0.98x
FloatingPointPrinting_Float_description_uniform 4825 5055 +4.8% 0.95x
FloatingPointPrinting_Float_interpolated 34512 34722 +0.6% 0.99x (?)
FrequenciesUsingReduce 4337 4410 +1.7% 0.98x (?)
FrequenciesUsingReduceInto 1341 1342 +0.1% 1.00x (?)
Hanoi 1952 1924 -1.4% 1.01x (?)
HashTest 832 837 +0.6% 0.99x (?)
Histogram 635 627 -1.3% 1.01x
Integrate 301 301 +0.0% 1.00x
IterateData 1353 1385 +2.4% 0.98x
Join 150 151 +0.7% 0.99x (?)
LazilyFilteredArrayContains 32881 32529 -1.1% 1.01x (?)
LazilyFilteredArrays 59009 58977 -0.1% 1.00x (?)
LazilyFilteredRange 3471 3458 -0.4% 1.00x
LessSubstringSubstring 45 45 +0.0% 1.00x
LessSubstringSubstringGenericComparable 45 45 +0.0% 1.00x
LinkedList 6748 6745 -0.0% 1.00x (?)
LuhnAlgoEager 403 404 +0.2% 1.00x (?)
LuhnAlgoLazy 403 399 -1.0% 1.01x (?)
MapReduceAnyCollectionShort 1820 1825 +0.3% 1.00x (?)
MapReduceClass 2692 2693 +0.0% 1.00x (?)
MapReduceClassShort 4146 4097 -1.2% 1.01x (?)
MapReduceLazyCollection 12 12 +0.0% 1.00x
MapReduceLazySequence 77 77 +0.0% 1.00x
MapReduceSequence 404 406 +0.5% 1.00x (?)
MapReduceShort 1784 1807 +1.3% 0.99x (?)
MapReduceShortString 18 18 +0.0% 1.00x
MapReduceString 43 43 +0.0% 1.00x
Memset 191 193 +1.0% 0.99x (?)
MonteCarloE 9167 9298 +1.4% 0.99x
MonteCarloPi 38312 38415 +0.3% 1.00x (?)
NSDictionaryCastToSwift 5997 5988 -0.2% 1.00x (?)
NSError 146 146 +0.0% 1.00x
NSStringConversion 635 623 -1.9% 1.02x
NibbleSort 3315 3288 -0.8% 1.01x (?)
ObjectAllocation 118 119 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObject 21560 22124 +2.6% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4146 4218 +1.7% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 41462 41177 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39916 38172 -4.4% 1.05x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 97711 100673 +3.0% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObject 49668 50128 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4599 4579 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 65834 66559 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSString 1103 1117 +1.3% 0.99x (?)
ObjectiveCBridgeFromNSStringForced 2427 2433 +0.2% 1.00x (?)
ObjectiveCBridgeStubDataAppend 5633 5693 +1.1% 0.99x (?)
ObjectiveCBridgeStubDateMutation 359 359 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 5530 5503 -0.5% 1.00x (?)
ObjectiveCBridgeStubFromNSString 929 920 -1.0% 1.01x (?)
ObjectiveCBridgeStubFromNSStringRef 142 142 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2314 2286 -1.2% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 11645 11538 -0.9% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 35453 35663 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSDate 13412 13285 -0.9% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3058 3079 +0.7% 0.99x (?)
ObjectiveCBridgeStubToNSString 2087 2093 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 103 101 -1.9% 1.02x (?)
ObjectiveCBridgeStubURLAppendPath 245969 240667 -2.2% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 247339 238770 -3.5% 1.04x (?)
ObjectiveCBridgeToNSArray 13233 12962 -2.0% 1.02x (?)
ObjectiveCBridgeToNSDictionary 24053 23135 -3.8% 1.04x (?)
ObjectiveCBridgeToNSSet 15494 15563 +0.4% 1.00x (?)
ObjectiveCBridgeToNSString 403 411 +2.0% 0.98x (?)
ObserverClosure 1910 1903 -0.4% 1.00x (?)
ObserverForwarderStruct 1034 1038 +0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3293 3325 +1.0% 0.99x (?)
ObserverUnappliedMethod 2155 2168 +0.6% 0.99x (?)
OpaqueConsumingUsers 3748 3749 +0.0% 1.00x (?)
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 5970 6183 +3.6% 0.97x
PolymorphicCalls 22 22 +0.0% 1.00x
PopFrontArray 1706 1754 +2.8% 0.97x (?)
PopFrontArrayGeneric 1773 1766 -0.4% 1.00x (?)
PopFrontUnsafePointer 8167 8531 +4.5% 0.96x (?)
PrefixAnyCollection 68 68 +0.0% 1.00x
PrefixAnyCollectionLazy 57355 58168 +1.4% 0.99x (?)
PrefixAnySeqCRangeIter 35 35 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 35 35 +0.0% 1.00x
PrefixAnySeqCntRange 64 64 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 64 64 +0.0% 1.00x
PrefixAnySequence 1236 1236 +0.0% 1.00x
PrefixAnySequenceLazy 1236 1236 +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 1993 1989 -0.2% 1.00x (?)
PrefixSequenceLazy 2041 2041 +0.0% 1.00x
PrefixWhileAnyCollection 131 131 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 64 64 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 340 340 +0.0% 1.00x
PrefixWhileAnySeqCRangeIterLazy 79 79 +0.0% 1.00x
PrefixWhileAnySeqCntRange 127 127 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 64 64 +0.0% 1.00x
PrefixWhileAnySequence 1374 1376 +0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1248 1248 +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 319 319 +0.0% 1.00x
PrefixWhileSequenceLazy 47 47 +0.0% 1.00x
Prims 803 803 +0.0% 1.00x
PrimsSplit 809 811 +0.2% 1.00x (?)
QueueConcrete 1024 1026 +0.2% 1.00x (?)
QueueGeneric 1025 1025 +0.0% 1.00x
RGBHistogram 2937 2888 -1.7% 1.02x (?)
RGBHistogramOfObjects 21152 21211 +0.3% 1.00x (?)
Radix2CooleyTukey 11060 10930 -1.2% 1.01x (?)
Radix2CooleyTukeyf 7918 7857 -0.8% 1.01x (?)
RandomDoubleDef 24184 23864 -1.3% 1.01x (?)
RandomIntegersDef 21859 22051 +0.9% 0.99x (?)
RandomShuffleDef 724408 726984 +0.4% 1.00x (?)
RangeAssignment 301 302 +0.3% 1.00x (?)
RangeIterationSigned 179 179 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 901 901 +0.0% 1.00x
RecursiveOwnedParameter 103 103 +0.0% 1.00x
RemoveWhereFilterInts 41 41 +0.0% 1.00x
RemoveWhereFilterString 221 223 +0.9% 0.99x (?)
RemoveWhereFilterStrings 389 389 +0.0% 1.00x
RemoveWhereMoveInts 13 13 +0.0% 1.00x
RemoveWhereMoveStrings 633 635 +0.3% 1.00x (?)
RemoveWhereQuadraticInts 1158 1159 +0.1% 1.00x (?)
RemoveWhereQuadraticString 338 330 -2.4% 1.02x
RemoveWhereQuadraticStrings 2474 2476 +0.1% 1.00x (?)
RemoveWhereSwapInts 17 17 +0.0% 1.00x
RemoveWhereSwapStrings 770 769 -0.1% 1.00x (?)
ReversedArray 51 51 +0.0% 1.00x
ReversedBidirectional 15195 14980 -1.4% 1.01x
ReversedDictionary 204 204 +0.0% 1.00x
RomanNumbers 72497 74988 +3.4% 0.97x
SequenceAlgosAnySequence 10738 10715 -0.2% 1.00x (?)
SequenceAlgosArray 1386 1387 +0.1% 1.00x (?)
SequenceAlgosContiguousArray 1386 1386 +0.0% 1.00x
SequenceAlgosList 1213 1214 +0.1% 1.00x (?)
SequenceAlgosRange 2311 2311 +0.0% 1.00x
SequenceAlgosUnfoldSequence 988 989 +0.1% 1.00x (?)
SetExclusiveOr 4487 4466 -0.5% 1.00x (?)
SetExclusiveOr_OfObjects 10581 10563 -0.2% 1.00x (?)
SetIntersect 616 613 -0.5% 1.00x (?)
SetIntersect_OfObjects 1573 1566 -0.4% 1.00x (?)
SetIsSubsetOf 319 306 -4.1% 1.04x (?)
SetUnion 3989 4009 +0.5% 1.00x (?)
SetUnion_OfObjects 9013 9045 +0.4% 1.00x (?)
SevenBoom 748 748 +0.0% 1.00x
Sim2DArray 537 537 +0.0% 1.00x
SortLargeExistentials 4990 4996 +0.1% 1.00x (?)
SortLettersInPlace 889 888 -0.1% 1.00x (?)
SortSortedStrings 765 780 +2.0% 0.98x
SortStrings 1583 1602 +1.2% 0.99x
SortStringsUnicode 2275 2285 +0.4% 1.00x (?)
StackPromo 22332 22366 +0.2% 1.00x (?)
StaticArray 8 8 +0.0% 1.00x
StrComplexWalk 1593 1593 +0.0% 1.00x
StrToInt 2846 2902 +2.0% 0.98x
StringAdder 491 507 +3.3% 0.97x
StringBuilder 412 423 +2.7% 0.97x
StringBuilderLong 1121 1120 -0.1% 1.00x (?)
StringBuilderSmallReservingCapacity 424 436 +2.8% 0.97x
StringBuilderWithLongSubstring 1290 1293 +0.2% 1.00x (?)
StringComparison_abnormal 705 696 -1.3% 1.01x
StringComparison_ascii 900 912 +1.3% 0.99x
StringComparison_emoji 771 766 -0.6% 1.01x (?)
StringComparison_latin1 590 604 +2.4% 0.98x
StringComparison_longSharedPrefix 852 856 +0.5% 1.00x
StringComparison_nonBMPSlowestPrenormal 1499 1495 -0.3% 1.00x (?)
StringComparison_slowerPrenormal 1634 1617 -1.0% 1.01x (?)
StringComparison_zalgo 108888 109289 +0.4% 1.00x (?)
StringEdits 151326 154704 +2.2% 0.98x (?)
StringEnumRawValueInitialization 771 770 -0.1% 1.00x (?)
StringEqualPointerComparison 256 256 +0.0% 1.00x
StringFromLongWholeSubstring 19 19 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 19 19 +0.0% 1.00x
StringHasPrefixAscii 2003 2029 +1.3% 0.99x
StringHasPrefixUnicode 89334 89485 +0.2% 1.00x (?)
StringHasSuffixAscii 2054 2080 +1.3% 0.99x
StringHasSuffixUnicode 90170 91019 +0.9% 0.99x (?)
StringInterpolation 8099 8115 +0.2% 1.00x (?)
StringInterpolationManySmallSegments 16396 16521 +0.8% 0.99x (?)
StringInterpolationSmall 3806 3893 +2.3% 0.98x (?)
StringMatch 10751 10924 +1.6% 0.98x
StringRemoveDupes 426 430 +0.9% 0.99x (?)
StringUTF16Builder 2370 2392 +0.9% 0.99x (?)
StringUTF16SubstringBuilder 5282 5246 -0.7% 1.01x (?)
StringWalk 1385 1406 +1.5% 0.99x
StringWordBuilder 2213 2237 +1.1% 0.99x (?)
StringWordBuilderReservingCapacity 1681 1695 +0.8% 0.99x
SubstringComparable 12 12 +0.0% 1.00x
SubstringEqualString 569 567 -0.4% 1.00x (?)
SubstringEquatable 1344 1336 -0.6% 1.01x (?)
SubstringFromLongString 9 9 +0.0% 1.00x
SubstringFromLongStringGeneric 66 66 +0.0% 1.00x
SuffixAnyCollection 25 25 +0.0% 1.00x
SuffixAnyCollectionLazy 19323 19417 +0.5% 1.00x (?)
SuffixAnySeqCRangeIter 3217 3205 -0.4% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3212 3204 -0.2% 1.00x (?)
SuffixAnySeqCntRange 15 15 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 15 15 +0.0% 1.00x
SuffixAnySequence 4391 4407 +0.4% 1.00x (?)
SuffixAnySequenceLazy 4496 4506 +0.2% 1.00x (?)
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 3276 3264 -0.4% 1.00x (?)
SuffixSequenceLazy 3276 3265 -0.3% 1.00x (?)
SumUsingReduce 91 91 +0.0% 1.00x
SumUsingReduceInto 89 91 +2.2% 0.98x (?)
SuperChars 17923 17910 -0.1% 1.00x (?)
TwoSum 1310 1332 +1.7% 0.98x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 268 267 -0.4% 1.00x (?)
UTF8Decode_InitDecoding 1221 1221 +0.0% 1.00x
UTF8Decode_InitDecoding_ascii 581 584 +0.5% 0.99x (?)
UTF8Decode_InitFromBytes 1067 1064 -0.3% 1.00x (?)
UTF8Decode_InitFromBytes_ascii 439 432 -1.6% 1.02x (?)
UTF8Decode_InitFromData 1135 1129 -0.5% 1.01x (?)
UTF8Decode_InitFromData_ascii 639 626 -2.0% 1.02x (?)
Walsh 398 389 -2.3% 1.02x
WordCountHistogramASCII 7155 7207 +0.7% 0.99x (?)
WordCountHistogramUTF16 12945 13191 +1.9% 0.98x (?)
WordCountUniqueASCII 1850 1889 +2.1% 0.98x (?)
WordCountUniqueUTF16 6789 6790 +0.0% 1.00x (?)
WordSplitUTF16 8728 8952 +2.6% 0.97x (?)
XorLoop 336 337 +0.3% 1.00x (?)

Unoptimized (Onone)

Regression (7)
TEST OLD NEW DELTA SPEEDUP
ArrayOfPOD 678 759 +11.9% 0.89x
DataAppendDataMediumToSmall 5265 5809 +10.3% 0.91x (?)
DataReplaceMediumBuffer 10475 11411 +8.9% 0.92x (?)
MapReduceShortString 189 201 +6.3% 0.94x
ObjectiveCBridgeFromNSStringForced 2530 2690 +6.3% 0.94x (?)
Dictionary3OfObjects 1941 2056 +5.9% 0.94x (?)
EqualSubstringSubstringGenericEquatable 53 56 +5.7% 0.95x
Improvement (12)
TEST OLD NEW DELTA SPEEDUP
TypeFlood 206 176 -14.6% 1.17x (?)
CharacterPropertiesStashedMemo 4432 3898 -12.0% 1.14x (?)
UTF8Decode_InitFromData_ascii 749 665 -11.2% 1.13x (?)
DictionaryOfObjects 5711 5245 -8.2% 1.09x
FloatingPointPrinting_Float80_interpolated 109484 101062 -7.7% 1.08x (?)
SubstringFromLongString 14 13 -7.1% 1.08x
FloatingPointPrinting_Float_interpolated 64825 60458 -6.7% 1.07x (?)
ObjectiveCBridgeToNSSet 17585 16612 -5.5% 1.06x (?)
RandomShuffleLCG 1355274 1281166 -5.5% 1.06x
ObjectiveCBridgeFromNSArrayAnyObjectToString 45786 43451 -5.1% 1.05x (?)
NSDictionaryCastToSwift 7764 7374 -5.0% 1.05x (?)
StringWalk 12027 11437 -4.9% 1.05x
No Changes (427)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4779 4727 -1.1% 1.01x (?)
AnyHashableWithAClass 92594 93078 +0.5% 0.99x (?)
Array2D 553902 561489 +1.4% 0.99x (?)
ArrayAppend 4069 4069 +0.0% 1.00x
ArrayAppendArrayOfInt 727 729 +0.3% 1.00x (?)
ArrayAppendAscii 24006 23969 -0.2% 1.00x (?)
ArrayAppendAsciiSubstring 63215 63262 +0.1% 1.00x (?)
ArrayAppendFromGeneric 733 732 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1275 1277 +0.2% 1.00x (?)
ArrayAppendLatin1 58657 58606 -0.1% 1.00x (?)
ArrayAppendLatin1Substring 143654 143855 +0.1% 1.00x (?)
ArrayAppendLazyMap 149471 149945 +0.3% 1.00x
ArrayAppendOptionals 1281 1279 -0.2% 1.00x (?)
ArrayAppendRepeatCol 172430 176673 +2.5% 0.98x
ArrayAppendReserved 3834 3835 +0.0% 1.00x (?)
ArrayAppendSequence 94133 93804 -0.3% 1.00x (?)
ArrayAppendStrings 5730 5758 +0.5% 1.00x (?)
ArrayAppendToFromGeneric 734 734 +0.0% 1.00x
ArrayAppendToGeneric 738 739 +0.1% 1.00x (?)
ArrayAppendUTF16 58951 58801 -0.3% 1.00x
ArrayAppendUTF16Substring 141898 141995 +0.1% 1.00x (?)
ArrayInClass 5670 5702 +0.6% 0.99x
ArrayLiteral 1598 1601 +0.2% 1.00x (?)
ArrayOfGenericPOD2 1010 1062 +5.1% 0.95x
ArrayOfGenericRef 9458 9488 +0.3% 1.00x (?)
ArrayOfRef 8676 8646 -0.3% 1.00x (?)
ArrayPlusEqualArrayOfInt 733 735 +0.3% 1.00x (?)
ArrayPlusEqualFiveElementCollection 203952 204666 +0.4% 1.00x (?)
ArrayPlusEqualSingleElementCollection 201121 201246 +0.1% 1.00x (?)
ArrayPlusEqualThreeElements 7979 7944 -0.4% 1.00x (?)
ArraySubscript 95075 95920 +0.9% 0.99x
ArrayValueProp 3285 3289 +0.1% 1.00x (?)
ArrayValueProp2 13369 13374 +0.0% 1.00x (?)
ArrayValueProp3 3808 3817 +0.2% 1.00x (?)
ArrayValueProp4 3732 3736 +0.1% 1.00x (?)
BinaryFloatingPointPropertiesBinade 82 79 -3.7% 1.04x
BinaryFloatingPointPropertiesNextUp 125 123 -1.6% 1.02x
BinaryFloatingPointPropertiesUlp 118 117 -0.8% 1.01x
BitCount 8169 8169 +0.0% 1.00x
ByteSwap 8656 8693 +0.4% 1.00x
COWArrayGuaranteedParameterOverhead 12594 12961 +2.9% 0.97x (?)
COWTree 10484 10257 -2.2% 1.02x (?)
CSVParsing 2459602 2471700 +0.5% 1.00x (?)
CSVParsingAlt 1281407 1266541 -1.2% 1.01x (?)
CSVParsingAltIndices 2059677 2117772 +2.8% 0.97x (?)
CStringLongAscii 3763 3839 +2.0% 0.98x
CStringLongNonAscii 2232 2266 +1.5% 0.98x (?)
CStringShortAscii 5454 5510 +1.0% 0.99x (?)
Calculator 838 867 +3.5% 0.97x
CaptureProp 259687 258861 -0.3% 1.00x
ChainedFilterMap 206540 207556 +0.5% 1.00x (?)
CharIndexing_ascii_unicodeScalars 290810 281894 -3.1% 1.03x
CharIndexing_ascii_unicodeScalars_Backwards 329944 314535 -4.7% 1.05x (?)
CharIndexing_chinese_unicodeScalars 212896 212832 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 242250 240827 -0.6% 1.01x (?)
CharIndexing_japanese_unicodeScalars 337130 338589 +0.4% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 387682 380163 -1.9% 1.02x (?)
CharIndexing_korean_unicodeScalars 272887 274087 +0.4% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 306842 304762 -0.7% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 49965 50286 +0.6% 0.99x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 55252 54524 -1.3% 1.01x (?)
CharIndexing_punctuated_unicodeScalars 62997 63165 +0.3% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 72009 69289 -3.8% 1.04x
CharIndexing_russian_unicodeScalars 235875 234414 -0.6% 1.01x (?)
CharIndexing_russian_unicodeScalars_Backwards 264626 261553 -1.2% 1.01x (?)
CharIndexing_tweet_unicodeScalars 559913 565060 +0.9% 0.99x (?)
CharIndexing_tweet_unicodeScalars_Backwards 633982 626112 -1.2% 1.01x (?)
CharIndexing_utf16_unicodeScalars 251653 247457 -1.7% 1.02x (?)
CharIndexing_utf16_unicodeScalars_Backwards 274626 269626 -1.8% 1.02x
CharIteration_ascii_unicodeScalars 132177 130930 -0.9% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 222878 223593 +0.3% 1.00x (?)
CharIteration_chinese_unicodeScalars 100166 99005 -1.2% 1.01x (?)
CharIteration_chinese_unicodeScalars_Backwards 167973 167043 -0.6% 1.01x (?)
CharIteration_japanese_unicodeScalars 157950 156385 -1.0% 1.01x (?)
CharIteration_japanese_unicodeScalars_Backwards 266957 265081 -0.7% 1.01x (?)
CharIteration_korean_unicodeScalars 127686 126699 -0.8% 1.01x (?)
CharIteration_korean_unicodeScalars_Backwards 215061 213860 -0.6% 1.01x (?)
CharIteration_punctuatedJapanese_unicodeScalars 23517 23269 -1.1% 1.01x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 38793 38682 -0.3% 1.00x (?)
CharIteration_punctuated_unicodeScalars 29498 29197 -1.0% 1.01x
CharIteration_punctuated_unicodeScalars_Backwards 49219 48702 -1.1% 1.01x (?)
CharIteration_russian_unicodeScalars 110215 109040 -1.1% 1.01x (?)
CharIteration_russian_unicodeScalars_Backwards 185159 184108 -0.6% 1.01x (?)
CharIteration_tweet_unicodeScalars 261092 258926 -0.8% 1.01x
CharIteration_tweet_unicodeScalars_Backwards 438833 435764 -0.7% 1.01x (?)
CharIteration_utf16_unicodeScalars 113419 112256 -1.0% 1.01x (?)
CharIteration_utf16_unicodeScalars_Backwards 195808 192794 -1.5% 1.02x (?)
CharacterLiteralsLarge 5207 5174 -0.6% 1.01x
CharacterLiteralsSmall 612 612 +0.0% 1.00x
CharacterPropertiesFetch 5093 5267 +3.4% 0.97x (?)
CharacterPropertiesPrecomputed 3176 3140 -1.1% 1.01x (?)
CharacterPropertiesStashed 2108 2126 +0.9% 0.99x (?)
Chars 31356 31393 +0.1% 1.00x (?)
ClassArrayGetter 867 863 -0.5% 1.00x
Combos 1962 1914 -2.4% 1.03x (?)
DataAccessBytes 2101 2101 +0.0% 1.00x
DataAppendArray 4836 4763 -1.5% 1.02x (?)
DataAppendBytes 4415 4342 -1.7% 1.02x (?)
DataAppendDataLargeToLarge 59563 60279 +1.2% 0.99x (?)
DataAppendDataLargeToMedium 32125 31798 -1.0% 1.01x (?)
DataAppendDataLargeToSmall 30906 30886 -0.1% 1.00x (?)
DataAppendDataMediumToLarge 34461 34549 +0.3% 1.00x (?)
DataAppendDataMediumToMedium 5882 5960 +1.3% 0.99x (?)
DataAppendDataSmallToLarge 32734 32788 +0.2% 1.00x (?)
DataAppendDataSmallToMedium 5461 5515 +1.0% 0.99x (?)
DataAppendDataSmallToSmall 5364 5480 +2.2% 0.98x (?)
DataAppendSequence 1766975 1777533 +0.6% 0.99x
DataCopyBytes 404 408 +1.0% 0.99x (?)
DataCount 200 200 +0.0% 1.00x
DataMutateBytes 4551 4712 +3.5% 0.97x (?)
DataReplaceLarge 34474 33189 -3.7% 1.04x (?)
DataReplaceLargeBuffer 51655 52027 +0.7% 0.99x (?)
DataReplaceMedium 7129 7241 +1.6% 0.98x (?)
DataReplaceSmall 5155 4941 -4.2% 1.04x (?)
DataReplaceSmallBuffer 7645 7919 +3.6% 0.97x (?)
DataReset 2553 2544 -0.4% 1.00x (?)
DataSetCount 501 505 +0.8% 0.99x (?)
DataSubscript 398 398 +0.0% 1.00x
DictOfArraysToArrayOfDicts 3048 3077 +1.0% 0.99x (?)
Dictionary 1934 1943 +0.5% 1.00x (?)
Dictionary2 1144 1153 +0.8% 0.99x (?)
Dictionary2OfObjects 3776 3775 -0.0% 1.00x (?)
Dictionary3 752 747 -0.7% 1.01x (?)
Dictionary4 1076 1072 -0.4% 1.00x (?)
Dictionary4Legacy 1341 1338 -0.2% 1.00x (?)
Dictionary4OfObjects 1593 1598 +0.3% 1.00x (?)
Dictionary4OfObjectsLegacy 1935 1899 -1.9% 1.02x (?)
DictionaryBridge 1173 1161 -1.0% 1.01x (?)
DictionaryCopy 277272 274667 -0.9% 1.01x
DictionaryFilter 287947 286753 -0.4% 1.00x (?)
DictionaryGroup 3937 3963 +0.7% 0.99x
DictionaryGroupOfObjects 6140 6324 +3.0% 0.97x (?)
DictionaryKeysContainsCocoa 63 60 -4.8% 1.05x (?)
DictionaryKeysContainsNative 50 49 -2.0% 1.02x (?)
DictionaryLiteral 7658 7727 +0.9% 0.99x
DictionaryRemove 15105 15025 -0.5% 1.01x
DictionaryRemoveOfObjects 48710 48993 +0.6% 0.99x (?)
DictionarySubscriptDefaultMutation 1767 1761 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArray 1998 1995 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 8369 8363 -0.1% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 4798 4765 -0.7% 1.01x (?)
DictionarySwap 4404 4357 -1.1% 1.01x
DictionarySwapAt 29281 29141 -0.5% 1.00x (?)
DictionarySwapAtOfObjects 100890 101672 +0.8% 0.99x (?)
DictionarySwapOfObjects 17805 17354 -2.5% 1.03x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 13949 14037 +0.6% 0.99x
DropFirstAnyCollectionLazy 95377 98151 +2.9% 0.97x (?)
DropFirstAnySeqCRangeIter 21705 21653 -0.2% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21607 21714 +0.5% 1.00x
DropFirstAnySeqCntRange 13925 13990 +0.5% 1.00x (?)
DropFirstAnySeqCntRangeLazy 14067 14018 -0.3% 1.00x
DropFirstAnySequence 11780 11764 -0.1% 1.00x (?)
DropFirstAnySequenceLazy 11557 11476 -0.7% 1.01x
DropFirstArray 3116 3122 +0.2% 1.00x (?)
DropFirstArrayLazy 26561 26528 -0.1% 1.00x (?)
DropFirstCountableRange 314 310 -1.3% 1.01x (?)
DropFirstCountableRangeLazy 31338 31189 -0.5% 1.00x (?)
DropFirstSequence 11475 11410 -0.6% 1.01x (?)
DropFirstSequenceLazy 11284 11205 -0.7% 1.01x
DropLastAnyCollection 4664 4697 +0.7% 0.99x
DropLastAnyCollectionLazy 31534 32670 +3.6% 0.97x (?)
DropLastAnySeqCRangeIter 35339 35476 +0.4% 1.00x
DropLastAnySeqCRangeIterLazy 35245 35314 +0.2% 1.00x (?)
DropLastAnySeqCntRange 4640 4684 +0.9% 0.99x
DropLastAnySeqCntRangeLazy 4700 4680 -0.4% 1.00x (?)
DropLastAnySequence 26298 26209 -0.3% 1.00x (?)
DropLastAnySequenceLazy 26531 26273 -1.0% 1.01x
DropLastCountableRange 111 107 -3.6% 1.04x
DropLastCountableRangeLazy 10482 10401 -0.8% 1.01x (?)
DropLastSequence 26285 26086 -0.8% 1.01x (?)
DropLastSequenceLazy 26453 26231 -0.8% 1.01x (?)
DropWhileAnyCollection 18143 18111 -0.2% 1.00x (?)
DropWhileAnyCollectionLazy 20413 20281 -0.6% 1.01x
DropWhileAnySeqCRangeIter 22287 22271 -0.1% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 20570 20270 -1.5% 1.01x
DropWhileAnySeqCntRange 18192 18114 -0.4% 1.00x (?)
DropWhileAnySeqCntRangeLazy 20298 20156 -0.7% 1.01x
DropWhileAnySequence 12399 12441 +0.3% 1.00x (?)
DropWhileAnySequenceLazy 11145 11097 -0.4% 1.00x (?)
DropWhileArrayLazy 12431 12270 -1.3% 1.01x (?)
DropWhileCountableRange 4446 4406 -0.9% 1.01x
DropWhileCountableRangeLazy 20027 19864 -0.8% 1.01x
DropWhileSequence 11974 12082 +0.9% 0.99x (?)
DropWhileSequenceLazy 10835 10773 -0.6% 1.01x (?)
EqualStringSubstring 66 69 +4.5% 0.96x
EqualSubstringString 67 67 +0.0% 1.00x
EqualSubstringSubstring 66 68 +3.0% 0.97x
ErrorHandling 4566 4662 +2.1% 0.98x (?)
ExclusivityGlobal 174 166 -4.6% 1.05x
ExclusivityIndependent 66 66 +0.0% 1.00x
FatCompactMap 262369 258311 -1.5% 1.02x
FilterEvenUsingReduce 3231 3223 -0.2% 1.00x (?)
FilterEvenUsingReduceInto 1649 1645 -0.2% 1.00x (?)
FloatingPointPrinting_Double_description_small 20026 20208 +0.9% 0.99x (?)
FloatingPointPrinting_Double_description_uniform 30503 30360 -0.5% 1.00x (?)
FloatingPointPrinting_Double_interpolated 82426 83463 +1.3% 0.99x (?)
FloatingPointPrinting_Float80_description_small 26215 26300 +0.3% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 54376 52301 -3.8% 1.04x (?)
FloatingPointPrinting_Float_description_small 5905 5726 -3.0% 1.03x
FloatingPointPrinting_Float_description_uniform 15358 15249 -0.7% 1.01x (?)
FrequenciesUsingReduce 9310 9495 +2.0% 0.98x
FrequenciesUsingReduceInto 2803 2803 +0.0% 1.00x
Hanoi 17341 17295 -0.3% 1.00x (?)
HashTest 18895 18677 -1.2% 1.01x (?)
Histogram 5550 5503 -0.8% 1.01x (?)
Integrate 526 526 +0.0% 1.00x
IterateData 4477 4461 -0.4% 1.00x
Join 172 171 -0.6% 1.01x
LazilyFilteredArrayContains 662428 665398 +0.4% 1.00x
LazilyFilteredArrays 1269205 1266891 -0.2% 1.00x (?)
LazilyFilteredRange 482595 479497 -0.6% 1.01x
LessSubstringSubstring 68 68 +0.0% 1.00x
LessSubstringSubstringGenericComparable 52 52 +0.0% 1.00x
LinkedList 29037 29090 +0.2% 1.00x (?)
LuhnAlgoEager 5025 5033 +0.2% 1.00x (?)
LuhnAlgoLazy 5240 5137 -2.0% 1.02x (?)
MapReduce 22549 22315 -1.0% 1.01x (?)
MapReduceAnyCollection 22533 22318 -1.0% 1.01x
MapReduceAnyCollectionShort 32227 31497 -2.3% 1.02x (?)
MapReduceClass 26158 26059 -0.4% 1.00x
MapReduceClassShort 35641 35706 +0.2% 1.00x (?)
MapReduceLazyCollection 20079 20281 +1.0% 0.99x
MapReduceLazyCollectionShort 29435 29902 +1.6% 0.98x (?)
MapReduceLazySequence 18525 18370 -0.8% 1.01x
MapReduceSequence 27255 26983 -1.0% 1.01x
MapReduceShort 32107 31743 -1.1% 1.01x (?)
MapReduceString 1539 1537 -0.1% 1.00x (?)
Memset 40436 40413 -0.1% 1.00x (?)
MonteCarloE 1009128 1015539 +0.6% 0.99x (?)
MonteCarloPi 4592111 4604141 +0.3% 1.00x
NSError 552 550 -0.4% 1.00x (?)
NSStringConversion 682 668 -2.1% 1.02x
NibbleSort 458328 460325 +0.4% 1.00x (?)
NopDeinit 180153 172761 -4.1% 1.04x
ObjectAllocation 1115 1118 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 24982 25923 +3.8% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8443 8171 -3.2% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 40712 42160 +3.6% 0.97x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 103463 105511 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 53704 54297 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 6210 6211 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 72794 72336 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSString 2625 2742 +4.5% 0.96x (?)
ObjectiveCBridgeStubDataAppend 6071 6094 +0.4% 1.00x
ObjectiveCBridgeStubDateMutation 696 696 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 30904 30280 -2.0% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 6149 6149 +0.0% 1.00x
ObjectiveCBridgeStubFromNSString 978 982 +0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 176 176 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2813 2731 -2.9% 1.03x (?)
ObjectiveCBridgeStubNSDateMutationRef 14193 14238 +0.3% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 35674 35828 +0.4% 1.00x (?)
ObjectiveCBridgeStubToNSDate 14381 14628 +1.7% 0.98x (?)
ObjectiveCBridgeStubToNSDateRef 3161 3113 -1.5% 1.02x
ObjectiveCBridgeStubToNSString 2163 2166 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 137 138 +0.7% 0.99x
ObjectiveCBridgeStubURLAppendPath 260566 266193 +2.2% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 268640 270864 +0.8% 0.99x (?)
ObjectiveCBridgeToNSArray 14232 13841 -2.7% 1.03x (?)
ObjectiveCBridgeToNSDictionary 25302 25075 -0.9% 1.01x (?)
ObjectiveCBridgeToNSString 495 491 -0.8% 1.01x (?)
ObserverClosure 5787 5781 -0.1% 1.00x (?)
ObserverForwarderStruct 3933 3920 -0.3% 1.00x (?)
ObserverPartiallyAppliedMethod 7078 7094 +0.2% 1.00x (?)
ObserverUnappliedMethod 7240 7245 +0.1% 1.00x (?)
OpaqueConsumingUsers 12035 12030 -0.0% 1.00x (?)
OpenClose 486 474 -2.5% 1.03x
PartialApplyDynamicType 36927 37641 +1.9% 0.98x (?)
Phonebook 13630 13870 +1.8% 0.98x
PointerArithmetics 105289 105304 +0.0% 1.00x (?)
PolymorphicCalls 2171 2176 +0.2% 1.00x (?)
PopFrontArray 4138 4169 +0.7% 0.99x
PopFrontArrayGeneric 4630 4661 +0.7% 0.99x
PopFrontUnsafePointer 10040 10058 +0.2% 1.00x (?)
PrefixAnyCollection 13940 14017 +0.6% 0.99x (?)
PrefixAnyCollectionLazy 98175 96976 -1.2% 1.01x (?)
PrefixAnySeqCRangeIter 17226 17056 -1.0% 1.01x
PrefixAnySeqCRangeIterLazy 17221 17425 +1.2% 0.99x (?)
PrefixAnySeqCntRange 13912 13985 +0.5% 0.99x
PrefixAnySeqCntRangeLazy 14064 14067 +0.0% 1.00x (?)
PrefixAnySequence 9653 9592 -0.6% 1.01x
PrefixAnySequenceLazy 9538 9662 +1.3% 0.99x
PrefixArray 3119 3110 -0.3% 1.00x
PrefixArrayLazy 26539 26513 -0.1% 1.00x (?)
PrefixCountableRange 310 310 +0.0% 1.00x
PrefixCountableRangeLazy 31374 31194 -0.6% 1.01x (?)
PrefixSequence 9231 9228 -0.0% 1.00x (?)
PrefixSequenceLazy 9105 9147 +0.5% 1.00x
PrefixWhileAnyCollection 26180 26239 +0.2% 1.00x
PrefixWhileAnyCollectionLazy 16937 16998 +0.4% 1.00x (?)
PrefixWhileAnySeqCRangeIter 30047 30051 +0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 16740 16774 +0.2% 1.00x (?)
PrefixWhileAnySeqCntRange 26483 26266 -0.8% 1.01x
PrefixWhileAnySeqCntRangeLazy 16806 16908 +0.6% 0.99x (?)
PrefixWhileAnySequence 23264 23035 -1.0% 1.01x (?)
PrefixWhileAnySequenceLazy 9964 9933 -0.3% 1.00x (?)
PrefixWhileArray 9293 9250 -0.5% 1.00x (?)
PrefixWhileArrayLazy 10879 10858 -0.2% 1.00x
PrefixWhileCountableRange 12484 12494 +0.1% 1.00x (?)
PrefixWhileCountableRangeLazy 16772 16630 -0.8% 1.01x
PrefixWhileSequence 22849 22736 -0.5% 1.00x (?)
PrefixWhileSequenceLazy 9721 9610 -1.1% 1.01x (?)
Prims 8285 8440 +1.9% 0.98x (?)
PrimsSplit 8411 8480 +0.8% 0.99x (?)
QueueConcrete 12528 12551 +0.2% 1.00x
QueueGeneric 16533 16583 +0.3% 1.00x (?)
RC4 14539 14618 +0.5% 0.99x
RGBHistogram 20800 20695 -0.5% 1.01x (?)
RGBHistogramOfObjects 71536 71883 +0.5% 1.00x (?)
Radix2CooleyTukey 37493 37532 +0.1% 1.00x (?)
Radix2CooleyTukeyf 31613 31642 +0.1% 1.00x (?)
RandomDoubleDef 77710 75610 -2.7% 1.03x (?)
RandomDoubleLCG 54610 52977 -3.0% 1.03x (?)
RandomIntegersDef 40622 41303 +1.7% 0.98x (?)
RandomIntegersLCG 31634 31310 -1.0% 1.01x (?)
RandomShuffleDef 1954535 1957534 +0.2% 1.00x (?)
RangeAssignment 2486 2453 -1.3% 1.01x (?)
RangeIterationSigned 13295 13002 -2.2% 1.02x (?)
RangeReplaceableCollectionPlusDefault 8918 9255 +3.8% 0.96x (?)
RecursiveOwnedParameter 5611 5605 -0.1% 1.00x (?)
RemoveWhereFilterInts 1856 1854 -0.1% 1.00x (?)
RemoveWhereFilterString 1198 1191 -0.6% 1.01x
RemoveWhereFilterStrings 2318 2315 -0.1% 1.00x (?)
RemoveWhereMoveInts 3002 3015 +0.4% 1.00x (?)
RemoveWhereMoveStrings 3482 3473 -0.3% 1.00x
RemoveWhereQuadraticInts 7583 7641 +0.8% 0.99x (?)
RemoveWhereQuadraticString 2310 2309 -0.0% 1.00x (?)
RemoveWhereQuadraticStrings 9028 9041 +0.1% 1.00x (?)
RemoveWhereSwapInts 5389 5465 +1.4% 0.99x
RemoveWhereSwapStrings 6045 6038 -0.1% 1.00x (?)
ReversedArray 11415 11361 -0.5% 1.00x (?)
ReversedBidirectional 40129 40434 +0.8% 0.99x (?)
ReversedDictionary 20302 20145 -0.8% 1.01x (?)
RomanNumbers 1187018 1177903 -0.8% 1.01x (?)
SequenceAlgosAnySequence 11868 11898 +0.3% 1.00x
SequenceAlgosArray 662819 656957 -0.9% 1.01x
SequenceAlgosContiguousArray 267698 266654 -0.4% 1.00x
SequenceAlgosList 7870 7821 -0.6% 1.01x
SequenceAlgosRange 1164197 1166438 +0.2% 1.00x
SequenceAlgosUnfoldSequence 5865 5788 -1.3% 1.01x
SetExclusiveOr 14656 14606 -0.3% 1.00x
SetExclusiveOr_OfObjects 37717 37706 -0.0% 1.00x (?)
SetIntersect 6142 6071 -1.2% 1.01x
SetIntersect_OfObjects 9693 9645 -0.5% 1.00x (?)
SetIsSubsetOf 1055 1054 -0.1% 1.00x (?)
SetIsSubsetOf_OfObjects 2034 2029 -0.2% 1.00x (?)
SetUnion 10618 10582 -0.3% 1.00x
SetUnion_OfObjects 27097 27193 +0.4% 1.00x (?)
SevenBoom 911 908 -0.3% 1.00x (?)
Sim2DArray 39311 39309 -0.0% 1.00x (?)
SortLargeExistentials 8724 8742 +0.2% 1.00x (?)
SortLettersInPlace 1409 1402 -0.5% 1.00x (?)
SortSortedStrings 792 820 +3.5% 0.97x (?)
SortStrings 1646 1701 +3.3% 0.97x (?)
SortStringsUnicode 2479 2483 +0.2% 1.00x (?)
StackPromo 86918 85731 -1.4% 1.01x (?)
StaticArray 2317 2361 +1.9% 0.98x (?)
StrComplexWalk 6131 6129 -0.0% 1.00x (?)
StrToInt 70113 69611 -0.7% 1.01x (?)
StringAdder 656 675 +2.9% 0.97x
StringBuilder 4464 4502 +0.9% 0.99x (?)
StringBuilderLong 1280 1272 -0.6% 1.01x (?)
StringBuilderSmallReservingCapacity 4467 4496 +0.6% 0.99x (?)
StringBuilderWithLongSubstring 3060 2975 -2.8% 1.03x (?)
StringComparison_abnormal 1203 1193 -0.8% 1.01x (?)
StringComparison_ascii 7901 7937 +0.5% 1.00x (?)
StringComparison_emoji 1779 1779 +0.0% 1.00x
StringComparison_fastPrenormal 4368 4473 +2.4% 0.98x (?)
StringComparison_latin1 3411 3387 -0.7% 1.01x (?)
StringComparison_longSharedPrefix 2117 2102 -0.7% 1.01x (?)
StringComparison_nonBMPSlowestPrenormal 3299 3305 +0.2% 1.00x (?)
StringComparison_slowerPrenormal 3733 3702 -0.8% 1.01x (?)
StringComparison_zalgo 111603 111675 +0.1% 1.00x (?)
StringEdits 336909 335799 -0.3% 1.00x (?)
StringEnumRawValueInitialization 18764 18918 +0.8% 0.99x (?)
StringEqualPointerComparison 1498 1496 -0.1% 1.00x (?)
StringFromLongWholeSubstring 20 20 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 178 176 -1.1% 1.01x
StringHasPrefixAscii 2875 2901 +0.9% 0.99x
StringHasPrefixUnicode 90194 91260 +1.2% 0.99x (?)
StringHasSuffixAscii 2964 2977 +0.4% 1.00x (?)
StringHasSuffixUnicode 91157 91641 +0.5% 0.99x (?)
StringInterpolation 10536 10907 +3.5% 0.97x (?)
StringInterpolationManySmallSegments 16808 17071 +1.6% 0.98x (?)
StringInterpolationSmall 5503 5508 +0.1% 1.00x (?)
StringMatch 34515 34347 -0.5% 1.00x (?)
StringRemoveDupes 647 647 +0.0% 1.00x
StringUTF16Builder 6925 6938 +0.2% 1.00x (?)
StringUTF16SubstringBuilder 19196 19503 +1.6% 0.98x (?)
StringWithCString 37058 38972 +5.2% 0.95x
StringWordBuilder 2166 2118 -2.2% 1.02x (?)
StringWordBuilderReservingCapacity 1776 1789 +0.7% 0.99x
SubstringComparable 1412 1419 +0.5% 1.00x (?)
SubstringEqualString 1563 1548 -1.0% 1.01x (?)
SubstringEquatable 4894 4898 +0.1% 1.00x (?)
SubstringFromLongStringGeneric 93 93 +0.0% 1.00x
SuffixAnyCollection 4671 4682 +0.2% 1.00x
SuffixAnyCollectionLazy 31822 33009 +3.7% 0.96x (?)
SuffixAnySeqCRangeIter 32119 32142 +0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 31812 31955 +0.4% 1.00x (?)
SuffixAnySeqCntRange 4651 4681 +0.6% 0.99x
SuffixAnySeqCntRangeLazy 4713 4685 -0.6% 1.01x (?)
SuffixAnySequence 22874 22692 -0.8% 1.01x (?)
SuffixAnySequenceLazy 22948 22729 -1.0% 1.01x (?)
SuffixCountableRange 108 107 -0.9% 1.01x
SuffixCountableRangeLazy 10470 10404 -0.6% 1.01x (?)
SuffixSequence 22641 22730 +0.4% 1.00x
SuffixSequenceLazy 22888 22549 -1.5% 1.02x
SumUsingReduce 140315 139833 -0.3% 1.00x
SumUsingReduceInto 134096 134056 -0.0% 1.00x (?)
SuperChars 81460 81452 -0.0% 1.00x (?)
TwoSum 3100 3102 +0.1% 1.00x (?)
UTF8Decode 25920 25946 +0.1% 1.00x (?)
UTF8Decode_InitDecoding 1263 1265 +0.2% 1.00x (?)
UTF8Decode_InitDecoding_ascii 781 784 +0.4% 1.00x (?)
UTF8Decode_InitFromBytes 1071 1089 +1.7% 0.98x (?)
UTF8Decode_InitFromBytes_ascii 502 511 +1.8% 0.98x (?)
UTF8Decode_InitFromData 1163 1137 -2.2% 1.02x (?)
Walsh 11146 11136 -0.1% 1.00x (?)
WordCountHistogramASCII 33324 33170 -0.5% 1.00x
WordCountHistogramUTF16 41539 41320 -0.5% 1.01x (?)
WordCountUniqueASCII 6243 6243 +0.0% 1.00x
WordCountUniqueUTF16 11732 11837 +0.9% 0.99x (?)
WordSplitASCII 10602 10737 +1.3% 0.99x (?)
WordSplitUTF16 12356 12518 +1.3% 0.99x (?)
XorLoop 21347 21353 +0.0% 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

@lorentey lorentey requested a review from stephentyrone June 29, 2018 20:11
@lorentey lorentey merged commit 9286b36 into swiftlang:master Jul 2, 2018
@Azoy Azoy deleted the moar-random-improvements branch November 14, 2024 21:44
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.

4 participants