Skip to content

Require .upperBound - .lowerBound be finite for FloatingPoint random #17833

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

Conversation

stephentyrone
Copy link
Contributor

This is a slightly conservative precondition; when we re-work the FloatingPoint random computation in a more principled fashion, we can relax this to only requiring that .upperBound and .lowerBound are both finite. However, the current computation will break down unless this conservative condition is used, and this is future proof--we will relax it in the future, but any code that works now will continue to work when we do that.

…ndom.

This is a slightly conservative precondition; when we re-work the FloatingPoint random computation in a more principled fashion, we can relax this to only requiring that .upperBound and .lowerBound are both finite. However, the current computation will break down unless this conservative condition is used, and this is future proof--we will only relax it going forward.
@stephentyrone
Copy link
Contributor Author

@swift-ci please smoke test

@stephentyrone
Copy link
Contributor Author

CC @Azoy as well

@stephentyrone
Copy link
Contributor Author

@swift-ci please smoke test

@Azoy
Copy link
Contributor

Azoy commented Jul 9, 2018

Can you benchmark as well? Curious to see if we get anything interesting here.

@stephentyrone
Copy link
Contributor Author

@Azoy I expect decent wins at Onone, smaller for O, since the compiler should be able to see through the inlinable calls and replace the % operations with an &. We'll find out, though.

@stephentyrone
Copy link
Contributor Author

@swift-ci Please benchmark

Copy link
Member

@natecook1000 natecook1000 left a comment

Choose a reason for hiding this comment

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

LGTM!

@gottesmm
Copy link
Contributor

gottesmm commented Jul 9, 2018

@swift-ci please benchmark

1 similar comment
@gottesmm
Copy link
Contributor

gottesmm commented Jul 9, 2018

@swift-ci please benchmark

@gottesmm
Copy link
Contributor

gottesmm commented Jul 9, 2018

@stephentyrone Just doing a drive by to get the benchmarking going. Sometimes if you do a force push, you need to call swift-ci twice. It is a bug in the Jenkins system.

@swift-ci
Copy link
Contributor

swift-ci commented Jul 9, 2018

Build comment file:

Build failed before running benchmark.


@stephentyrone
Copy link
Contributor Author

Love the spurious build failure messages too =)

@swift-ci
Copy link
Contributor

swift-ci commented Jul 9, 2018

Build comment file:

Optimized (O)

Regression (21)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 417 664 +59.2% 0.63x
DataAppendDataLargeToLarge 67097 82465 +22.9% 0.81x
DataCopyBytes 441 526 +19.3% 0.84x (?)
ChainedFilterMap 1246 1407 +12.9% 0.89x
StaticArray 9 10 +11.1% 0.90x (?)
DictionaryKeysContainsCocoa 39 43 +10.3% 0.91x
ObjectiveCBridgeFromNSArrayAnyObjectToString 46657 51210 +9.8% 0.91x (?)
DataReplaceMediumBuffer 11610 12738 +9.7% 0.91x (?)
SuffixCountableRange 11 12 +9.1% 0.92x
DropLastCountableRange 11 12 +9.1% 0.92x
SuffixCountableRangeLazy 11 12 +9.1% 0.92x
DataCount 34 37 +8.8% 0.92x
RC4 149 161 +8.1% 0.93x
StringBuilderWithLongSubstring 1436 1546 +7.7% 0.93x
NopDeinit 30150 32394 +7.4% 0.93x
MapReduce 372 399 +7.3% 0.93x
MapReduceAnyCollection 372 399 +7.3% 0.93x
RemoveWhereMoveInts 14 15 +7.1% 0.93x
CharIndexing_utf16_unicodeScalars 23073 24649 +6.8% 0.94x (?)
AngryPhonebook 3610 3844 +6.5% 0.94x
NSDictionaryCastToSwift 6722 7137 +6.2% 0.94x (?)
Improvement (26)
TEST OLD NEW DELTA SPEEDUP
BinaryFloatingPointPropertiesBinade 31 25 -19.4% 1.24x
RangeIterationSigned 200 171 -14.5% 1.17x
CharIndexing_korean_unicodeScalars 17519 15931 -9.1% 1.10x (?)
ObjectiveCBridgeStubFromArrayOfNSString 35904 32817 -8.6% 1.09x (?)
PointerArithmetics 34363 31497 -8.3% 1.09x
CharIndexing_ascii_unicodeScalars 17747 16293 -8.2% 1.09x (?)
MapReduceLazyCollectionShort 37 34 -8.1% 1.09x
PopFrontUnsafePointer 9504 8755 -7.9% 1.09x (?)
CharIteration_tweet_unicodeScalars 44084 40930 -7.2% 1.08x
CharIteration_ascii_unicodeScalars 22282 20756 -6.8% 1.07x
CharIteration_japanese_unicodeScalars 26688 24865 -6.8% 1.07x
CharIteration_korean_unicodeScalars 21575 20146 -6.6% 1.07x
CharIteration_russian_unicodeScalars 18535 17313 -6.6% 1.07x
CharIteration_chinese_unicodeScalars 16829 15727 -6.5% 1.07x
Calculator 204 191 -6.4% 1.07x
CharIndexing_punctuated_unicodeScalars 3952 3704 -6.3% 1.07x (?)
DictionaryBridge 1249 1173 -6.1% 1.06x (?)
UTF8Decode_InitFromData_ascii 830 783 -5.7% 1.06x (?)
CharIndexing_japanese_unicodeScalars 20615 19491 -5.5% 1.06x (?)
CharIndexing_russian_unicodeScalars 14350 13568 -5.4% 1.06x (?)
BinaryFloatingPointPropertiesUlp 37 35 -5.4% 1.06x
CharIteration_punctuated_unicodeScalars 4948 4687 -5.3% 1.06x
CharIndexing_punctuated_unicodeScalars_Backwards 3894 3697 -5.1% 1.05x (?)
SumUsingReduce 102 97 -4.9% 1.05x
SumUsingReduceInto 102 97 -4.9% 1.05x
UTF8Decode 313 298 -4.8% 1.05x
No Changes (411)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 90804 90917 +0.1% 1.00x (?)
Array2D 2854 2854 +0.0% 1.00x
ArrayAppend 1068 1069 +0.1% 1.00x (?)
ArrayAppendArrayOfInt 800 797 -0.4% 1.00x (?)
ArrayAppendAscii 3806 3905 +2.6% 0.97x (?)
ArrayAppendAsciiSubstring 24853 24889 +0.1% 1.00x (?)
ArrayAppendFromGeneric 798 795 -0.4% 1.00x (?)
ArrayAppendGenericStructs 1425 1435 +0.7% 0.99x
ArrayAppendLatin1 43008 42489 -1.2% 1.01x
ArrayAppendLatin1Substring 142760 142536 -0.2% 1.00x
ArrayAppendLazyMap 1343 1342 -0.1% 1.00x (?)
ArrayAppendOptionals 1432 1430 -0.1% 1.00x (?)
ArrayAppendRepeatCol 1339 1340 +0.1% 1.00x
ArrayAppendReserved 796 801 +0.6% 0.99x
ArrayAppendSequence 1120 1121 +0.1% 1.00x (?)
ArrayAppendStrings 6224 6215 -0.1% 1.00x
ArrayAppendToFromGeneric 799 797 -0.3% 1.00x (?)
ArrayAppendToGeneric 799 786 -1.6% 1.02x (?)
ArrayAppendUTF16 42410 42806 +0.9% 0.99x (?)
ArrayAppendUTF16Substring 139927 140045 +0.1% 1.00x (?)
ArrayInClass 85 86 +1.2% 0.99x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 151 +0.0% 1.00x
ArrayOfGenericRef 4430 4404 -0.6% 1.01x (?)
ArrayOfPOD 183 184 +0.5% 0.99x
ArrayOfRef 4389 4401 +0.3% 1.00x (?)
ArrayPlusEqualArrayOfInt 797 796 -0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5490 5515 +0.5% 1.00x
ArrayPlusEqualSingleElementCollection 1071 1069 -0.2% 1.00x (?)
ArrayPlusEqualThreeElements 1656 1652 -0.2% 1.00x (?)
ArraySubscript 1524 1541 +1.1% 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 211 202 -4.3% 1.04x
ByteSwap 102 104 +2.0% 0.98x
COWArrayGuaranteedParameterOverhead 8758 8716 -0.5% 1.00x (?)
COWTree 3677 3660 -0.5% 1.00x (?)
CSVParsing 657190 656254 -0.1% 1.00x (?)
CSVParsingAlt 818196 812676 -0.7% 1.01x
CSVParsingAltIndices 343689 335702 -2.3% 1.02x (?)
CStringLongAscii 4125 4114 -0.3% 1.00x
CStringLongNonAscii 2338 2340 +0.1% 1.00x (?)
CStringShortAscii 3366 3376 +0.3% 1.00x (?)
CaptureProp 4088 4108 +0.5% 1.00x
CharIndexing_ascii_unicodeScalars_Backwards 16214 16041 -1.1% 1.01x
CharIndexing_chinese_unicodeScalars 13026 12686 -2.6% 1.03x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12269 12154 -0.9% 1.01x
CharIndexing_japanese_unicodeScalars_Backwards 19458 19332 -0.6% 1.01x (?)
CharIndexing_korean_unicodeScalars_Backwards 15684 15557 -0.8% 1.01x
CharIndexing_punctuatedJapanese_unicodeScalars 3105 2959 -4.7% 1.05x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2937 3021 +2.9% 0.97x (?)
CharIndexing_russian_unicodeScalars_Backwards 13480 13366 -0.8% 1.01x
CharIndexing_tweet_unicodeScalars 33282 32119 -3.5% 1.04x (?)
CharIndexing_tweet_unicodeScalars_Backwards 31893 31669 -0.7% 1.01x
CharIndexing_utf16_unicodeScalars_Backwards 23337 23286 -0.2% 1.00x
CharIteration_ascii_unicodeScalars_Backwards 15363 15111 -1.6% 1.02x
CharIteration_chinese_unicodeScalars_Backwards 11648 11442 -1.8% 1.02x
CharIteration_japanese_unicodeScalars_Backwards 18383 18082 -1.6% 1.02x
CharIteration_korean_unicodeScalars_Backwards 14884 14647 -1.6% 1.02x
CharIteration_punctuatedJapanese_unicodeScalars 3933 3756 -4.5% 1.05x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2786 2738 -1.7% 1.02x
CharIteration_punctuated_unicodeScalars_Backwards 3488 3426 -1.8% 1.02x
CharIteration_russian_unicodeScalars_Backwards 12804 12588 -1.7% 1.02x
CharIteration_tweet_unicodeScalars_Backwards 30431 29858 -1.9% 1.02x
CharIteration_utf16_unicodeScalars 27989 27713 -1.0% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 18388 18681 +1.6% 0.98x
CharacterLiteralsLarge 5852 5831 -0.4% 1.00x (?)
CharacterLiteralsSmall 220 217 -1.4% 1.01x
CharacterPropertiesFetch 4623 4636 +0.3% 1.00x (?)
CharacterPropertiesPrecomputed 1007 1009 +0.2% 1.00x (?)
CharacterPropertiesStashed 1510 1522 +0.8% 0.99x (?)
CharacterPropertiesStashedMemo 1553 1558 +0.3% 1.00x (?)
Chars 1021 1019 -0.2% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 491 489 -0.4% 1.00x
DataAccessBytes 1143 1141 -0.2% 1.00x (?)
DataAppendArray 5231 5388 +3.0% 0.97x
DataAppendBytes 4826 5000 +3.6% 0.97x (?)
DataAppendDataLargeToMedium 35577 35897 +0.9% 0.99x (?)
DataAppendDataLargeToSmall 34720 34557 -0.5% 1.00x (?)
DataAppendDataMediumToLarge 38242 38293 +0.1% 1.00x (?)
DataAppendDataMediumToMedium 7153 7129 -0.3% 1.00x (?)
DataAppendDataMediumToSmall 6104 5972 -2.2% 1.02x (?)
DataAppendDataSmallToLarge 37740 37554 -0.5% 1.00x (?)
DataAppendDataSmallToMedium 6391 6162 -3.6% 1.04x (?)
DataAppendDataSmallToSmall 5923 5847 -1.3% 1.01x (?)
DataAppendSequence 21037 20671 -1.7% 1.02x (?)
DataMutateBytes 3890 3917 +0.7% 0.99x (?)
DataReplaceLarge 37210 37164 -0.1% 1.00x (?)
DataReplaceLargeBuffer 57999 58339 +0.6% 0.99x (?)
DataReplaceMedium 7918 7906 -0.2% 1.00x (?)
DataReplaceSmall 5484 5741 +4.7% 0.96x (?)
DataReplaceSmallBuffer 8417 8849 +5.1% 0.95x (?)
DataReset 2802 2808 +0.2% 1.00x (?)
DataSetCount 559 550 -1.6% 1.02x (?)
DataSubscript 218 220 +0.9% 0.99x
DictOfArraysToArrayOfDicts 779 775 -0.5% 1.01x (?)
Dictionary 504 521 +3.4% 0.97x
Dictionary2 631 636 +0.8% 0.99x
Dictionary2OfObjects 2091 2088 -0.1% 1.00x (?)
Dictionary3 221 225 +1.8% 0.98x
Dictionary3OfObjects 737 737 +0.0% 1.00x
Dictionary4 321 330 +2.8% 0.97x
Dictionary4Legacy 723 718 -0.7% 1.01x (?)
Dictionary4OfObjects 436 438 +0.5% 1.00x
Dictionary4OfObjectsLegacy 907 916 +1.0% 0.99x
DictionaryBridgeToObjC_Access 925 933 +0.9% 0.99x (?)
DictionaryBridgeToObjC_Bridge 19 19 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 166 167 +0.6% 0.99x (?)
DictionaryCopy 105785 106254 +0.4% 1.00x
DictionaryFilter 105661 106287 +0.6% 0.99x (?)
DictionaryGroup 214 215 +0.5% 1.00x
DictionaryGroupOfObjects 2139 2127 -0.6% 1.01x
DictionaryKeysContainsNative 32 33 +3.1% 0.97x (?)
DictionaryLiteral 1894 1898 +0.2% 1.00x (?)
DictionaryOfObjects 2379 2390 +0.5% 1.00x (?)
DictionaryRemove 4193 4174 -0.5% 1.00x
DictionaryRemoveOfObjects 25805 25946 +0.5% 0.99x (?)
DictionarySubscriptDefaultMutation 264 266 +0.8% 0.99x
DictionarySubscriptDefaultMutationArray 603 602 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 4041 4039 -0.0% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1717 1719 +0.1% 1.00x (?)
DictionarySwap 1030 1030 +0.0% 1.00x
DictionarySwapAt 7039 6805 -3.3% 1.03x
DictionarySwapAtOfObjects 51986 52437 +0.9% 0.99x
DictionarySwapOfObjects 8716 8715 -0.0% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 64877 65602 +1.1% 0.99x (?)
DropFirstAnySeqCRangeIter 93 93 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 93 93 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1842 1841 -0.1% 1.00x (?)
DropFirstAnySequenceLazy 1843 1841 -0.1% 1.00x (?)
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2682 2680 -0.1% 1.00x (?)
DropFirstSequenceLazy 2774 2776 +0.1% 1.00x (?)
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 21605 21707 +0.5% 1.00x
DropLastAnySeqCRangeIter 3295 3307 +0.4% 1.00x
DropLastAnySeqCRangeIterLazy 3294 3290 -0.1% 1.00x (?)
DropLastAnySeqCntRange 11 11 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 11 11 +0.0% 1.00x
DropLastAnySequence 4955 4938 -0.3% 1.00x (?)
DropLastAnySequenceLazy 5056 5027 -0.6% 1.01x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropLastSequence 635 665 +4.7% 0.95x
DropLastSequenceLazy 636 666 +4.7% 0.95x
DropWhileAnyCollection 100 100 +0.0% 1.00x
DropWhileAnyCollectionLazy 130 130 +0.0% 1.00x
DropWhileAnySeqCRangeIter 76 76 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 130 130 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 130 130 +0.0% 1.00x
DropWhileAnySequence 1860 1860 +0.0% 1.00x
DropWhileAnySequenceLazy 1854 1855 +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 2220 2220 +0.0% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 51 51 +0.0% 1.00x
EqualSubstringString 51 51 +0.0% 1.00x
EqualSubstringSubstring 50 50 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 51 50 -2.0% 1.02x
ErrorHandling 1178 1190 +1.0% 0.99x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 199919 199876 -0.0% 1.00x (?)
FilterEvenUsingReduce 1328 1339 +0.8% 0.99x (?)
FilterEvenUsingReduceInto 148 147 -0.7% 1.01x (?)
FloatingPointPrinting_Double_description_small 21687 21557 -0.6% 1.01x
FloatingPointPrinting_Double_description_uniform 21122 21451 +1.6% 0.98x (?)
FloatingPointPrinting_Double_interpolated 62224 62014 -0.3% 1.00x (?)
FloatingPointPrinting_Float80_description_small 28538 28513 -0.1% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 27921 27606 -1.1% 1.01x (?)
FloatingPointPrinting_Float80_interpolated 68261 66068 -3.2% 1.03x (?)
FloatingPointPrinting_Float_description_small 5528 5385 -2.6% 1.03x
FloatingPointPrinting_Float_description_uniform 5367 5302 -1.2% 1.01x (?)
FloatingPointPrinting_Float_interpolated 38640 38470 -0.4% 1.00x (?)
FrequenciesUsingReduce 4862 4876 +0.3% 1.00x (?)
FrequenciesUsingReduceInto 1504 1505 +0.1% 1.00x (?)
Hanoi 2176 2128 -2.2% 1.02x
HashTest 939 932 -0.7% 1.01x
Histogram 643 652 +1.4% 0.99x
Integrate 335 342 +2.1% 0.98x
IterateData 1500 1548 +3.2% 0.97x
Join 166 166 +0.0% 1.00x
LazilyFilteredArrayContains 36663 37453 +2.2% 0.98x
LazilyFilteredArrays 65362 66915 +2.4% 0.98x (?)
LazilyFilteredRange 3887 3869 -0.5% 1.00x
LessSubstringSubstring 50 51 +2.0% 0.98x
LessSubstringSubstringGenericComparable 50 51 +2.0% 0.98x
LinkedList 7576 7575 -0.0% 1.00x (?)
LuhnAlgoEager 454 449 -1.1% 1.01x
LuhnAlgoLazy 451 451 +0.0% 1.00x
MapReduceAnyCollectionShort 2066 2095 +1.4% 0.99x
MapReduceClass 3007 3004 -0.1% 1.00x
MapReduceClassShort 4568 4583 +0.3% 1.00x
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 454 460 +1.3% 0.99x (?)
MapReduceShort 2003 2019 +0.8% 0.99x
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 48 50 +4.2% 0.96x
Memset 213 218 +2.3% 0.98x (?)
MonteCarloE 10163 10335 +1.7% 0.98x
MonteCarloPi 42746 42828 +0.2% 1.00x
NSError 164 164 +0.0% 1.00x
NSStringConversion 702 708 +0.9% 0.99x
NibbleSort 3698 3669 -0.8% 1.01x
ObjectAllocation 131 132 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25619 26042 +1.7% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 5215 5146 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 43226 44769 +3.6% 0.97x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 121182 116484 -3.9% 1.04x
ObjectiveCBridgeFromNSSetAnyObject 52214 50589 -3.1% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5229 4994 -4.5% 1.05x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 74562 76083 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSString 1240 1222 -1.5% 1.01x
ObjectiveCBridgeFromNSStringForced 2714 2708 -0.2% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6354 6494 +2.2% 0.98x (?)
ObjectiveCBridgeStubDateMutation 401 400 -0.2% 1.00x
ObjectiveCBridgeStubFromNSDate 6589 6551 -0.6% 1.01x
ObjectiveCBridgeStubFromNSString 1018 985 -3.2% 1.03x (?)
ObjectiveCBridgeStubFromNSStringRef 158 156 -1.3% 1.01x
ObjectiveCBridgeStubNSDataAppend 2626 2640 +0.5% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 13022 12942 -0.6% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 39891 40222 +0.8% 0.99x (?)
ObjectiveCBridgeStubToNSDate 15320 14859 -3.0% 1.03x (?)
ObjectiveCBridgeStubToNSDateRef 3448 3422 -0.8% 1.01x (?)
ObjectiveCBridgeStubToNSString 2345 2361 +0.7% 0.99x
ObjectiveCBridgeStubToNSStringRef 116 113 -2.6% 1.03x
ObjectiveCBridgeStubURLAppendPath 280942 276981 -1.4% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 288006 283622 -1.5% 1.02x (?)
ObjectiveCBridgeToNSArray 14864 14844 -0.1% 1.00x (?)
ObjectiveCBridgeToNSDictionary 27558 27511 -0.2% 1.00x (?)
ObjectiveCBridgeToNSSet 17045 17554 +3.0% 0.97x (?)
ObjectiveCBridgeToNSString 453 455 +0.4% 1.00x
ObserverClosure 2159 2166 +0.3% 1.00x (?)
ObserverForwarderStruct 1210 1216 +0.5% 1.00x (?)
ObserverPartiallyAppliedMethod 3714 3720 +0.2% 1.00x (?)
ObserverUnappliedMethod 2474 2480 +0.2% 1.00x (?)
OpaqueConsumingUsers 4181 4179 -0.0% 1.00x (?)
OpenClose 63 65 +3.2% 0.97x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 6682 6605 -1.2% 1.01x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1977 1964 -0.7% 1.01x (?)
PopFrontArrayGeneric 1978 1970 -0.4% 1.00x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 65025 64976 -0.1% 1.00x (?)
PrefixAnySeqCRangeIter 40 40 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 40 40 +0.0% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 1379 1378 -0.1% 1.00x
PrefixAnySequenceLazy 1380 1379 -0.1% 1.00x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 2215 2220 +0.2% 1.00x
PrefixSequenceLazy 2275 2276 +0.0% 1.00x (?)
PrefixWhileAnyCollection 147 146 -0.7% 1.01x
PrefixWhileAnyCollectionLazy 71 71 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 381 391 +2.6% 0.97x
PrefixWhileAnySeqCRangeIterLazy 89 89 +0.0% 1.00x
PrefixWhileAnySeqCntRange 141 142 +0.7% 0.99x
PrefixWhileAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixWhileAnySequence 1535 1527 -0.5% 1.01x
PrefixWhileAnySequenceLazy 1391 1392 +0.1% 1.00x (?)
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 356 358 +0.6% 0.99x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 908 896 -1.3% 1.01x (?)
PrimsSplit 901 897 -0.4% 1.00x (?)
QueueConcrete 1150 1148 -0.2% 1.00x (?)
QueueGeneric 1147 1147 +0.0% 1.00x
RGBHistogram 3004 2992 -0.4% 1.00x (?)
RGBHistogramOfObjects 23809 23701 -0.5% 1.00x
Radix2CooleyTukey 12737 12605 -1.0% 1.01x (?)
Radix2CooleyTukeyf 9070 9255 +2.0% 0.98x (?)
RandomDoubleDef 27031 26660 -1.4% 1.01x
RandomDoubleLCG 2212 2232 +0.9% 0.99x
RandomIntegersDef 24548 24512 -0.1% 1.00x (?)
RandomIntegersLCG 173 173 +0.0% 1.00x
RandomShuffleDef 809273 811258 +0.2% 1.00x (?)
RandomShuffleLCG 56604 57764 +2.0% 0.98x (?)
RangeAssignment 338 350 +3.6% 0.97x
RangeReplaceableCollectionPlusDefault 1012 1005 -0.7% 1.01x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 46 47 +2.2% 0.98x
RemoveWhereFilterString 248 246 -0.8% 1.01x
RemoveWhereFilterStrings 438 437 -0.2% 1.00x (?)
RemoveWhereMoveStrings 709 708 -0.1% 1.00x (?)
RemoveWhereQuadraticInts 1297 1298 +0.1% 1.00x
RemoveWhereQuadraticString 374 368 -1.6% 1.02x (?)
RemoveWhereQuadraticStrings 2766 2763 -0.1% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 860 861 +0.1% 1.00x (?)
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 17040 16769 -1.6% 1.02x
ReversedDictionary 262 263 +0.4% 1.00x (?)
RomanNumbers 83545 83219 -0.4% 1.00x
SequenceAlgosAnySequence 12119 12014 -0.9% 1.01x
SequenceAlgosArray 1583 1580 -0.2% 1.00x (?)
SequenceAlgosContiguousArray 1581 1578 -0.2% 1.00x (?)
SequenceAlgosList 1354 1356 +0.1% 1.00x
SequenceAlgosRange 2577 2576 -0.0% 1.00x (?)
SequenceAlgosUnfoldSequence 1102 1103 +0.1% 1.00x
SetExclusiveOr 5178 5072 -2.0% 1.02x
SetExclusiveOr_OfObjects 11698 11554 -1.2% 1.01x
SetIntersect 683 687 +0.6% 0.99x (?)
SetIntersect_OfObjects 1671 1641 -1.8% 1.02x (?)
SetIsSubsetOf 340 339 -0.3% 1.00x
SetIsSubsetOf_OfObjects 444 444 +0.0% 1.00x
SetUnion 4532 4388 -3.2% 1.03x
SetUnion_OfObjects 9999 10074 +0.8% 0.99x (?)
SevenBoom 848 836 -1.4% 1.01x (?)
SortLargeExistentials 5487 5572 +1.5% 0.98x
SortLettersInPlace 995 1001 +0.6% 0.99x (?)
SortSortedStrings 839 858 +2.3% 0.98x
SortStrings 1774 1762 -0.7% 1.01x
SortStringsUnicode 2510 2512 +0.1% 1.00x
StackPromo 24803 24775 -0.1% 1.00x (?)
StrComplexWalk 1780 1775 -0.3% 1.00x
StrToInt 3127 3144 +0.5% 0.99x
StringAdder 532 526 -1.1% 1.01x
StringBuilder 443 436 -1.6% 1.02x
StringBuilderLong 1280 1275 -0.4% 1.00x (?)
StringBuilderSmallReservingCapacity 458 452 -1.3% 1.01x
StringComparison_abnormal 760 765 +0.7% 0.99x
StringComparison_ascii 1022 1003 -1.9% 1.02x
StringComparison_emoji 851 844 -0.8% 1.01x
StringComparison_fastPrenormal 837 835 -0.2% 1.00x
StringComparison_latin1 654 656 +0.3% 1.00x
StringComparison_longSharedPrefix 950 950 +0.0% 1.00x
StringComparison_nonBMPSlowestPrenormal 1669 1674 +0.3% 1.00x (?)
StringComparison_slowerPrenormal 1788 1784 -0.2% 1.00x (?)
StringComparison_zalgo 112675 112570 -0.1% 1.00x (?)
StringEdits 169679 168690 -0.6% 1.01x (?)
StringEnumRawValueInitialization 857 859 +0.2% 1.00x
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2204 2205 +0.0% 1.00x
StringHasPrefixUnicode 99316 100137 +0.8% 0.99x (?)
StringHasSuffixAscii 2261 2234 -1.2% 1.01x
StringHasSuffixUnicode 103789 100119 -3.5% 1.04x
StringHashing_abnormal 1389 1385 -0.3% 1.00x (?)
StringHashing_ascii 33 33 +0.0% 1.00x
StringHashing_emoji 2017 2005 -0.6% 1.01x (?)
StringHashing_fastPrenormal 8478 8490 +0.1% 1.00x (?)
StringHashing_latin1 2597 2604 +0.3% 1.00x (?)
StringHashing_longSharedPrefix 7929 7930 +0.0% 1.00x (?)
StringHashing_nonBMPSlowestPrenormal 2233 2207 -1.2% 1.01x
StringHashing_slowerPrenormal 2780 2775 -0.2% 1.00x (?)
StringHashing_zalgo 3532 3534 +0.1% 1.00x (?)
StringInterpolation 9175 9359 +2.0% 0.98x (?)
StringInterpolationManySmallSegments 18531 18310 -1.2% 1.01x
StringInterpolationSmall 4190 4153 -0.9% 1.01x (?)
StringMatch 12136 12185 +0.4% 1.00x
StringRemoveDupes 485 482 -0.6% 1.01x
StringUTF16Builder 2657 2624 -1.2% 1.01x
StringUTF16SubstringBuilder 6031 5921 -1.8% 1.02x (?)
StringWalk 1553 1546 -0.5% 1.00x
StringWithCString 46350 46365 +0.0% 1.00x (?)
StringWordBuilder 2308 2302 -0.3% 1.00x
StringWordBuilderReservingCapacity 1939 1918 -1.1% 1.01x
SubstringComparable 13 13 +0.0% 1.00x
SubstringEqualString 637 633 -0.6% 1.01x (?)
SubstringEquatable 1480 1449 -2.1% 1.02x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 74 74 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 21627 21709 +0.4% 1.00x (?)
SuffixAnySeqCRangeIter 3596 3591 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3596 3595 -0.0% 1.00x (?)
SuffixAnySeqCntRange 17 17 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 17 17 +0.0% 1.00x
SuffixAnySequence 4918 4897 -0.4% 1.00x (?)
SuffixAnySequenceLazy 5008 5013 +0.1% 1.00x (?)
SuffixSequence 3616 3646 +0.8% 0.99x
SuffixSequenceLazy 3621 3649 +0.8% 0.99x (?)
SuperChars 20247 20315 +0.3% 1.00x (?)
TwoSum 1442 1466 +1.7% 0.98x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode_InitDecoding 1357 1357 +0.0% 1.00x
UTF8Decode_InitDecoding_ascii 651 663 +1.8% 0.98x
UTF8Decode_InitFromBytes 1185 1188 +0.3% 1.00x (?)
UTF8Decode_InitFromBytes_ascii 529 532 +0.6% 0.99x (?)
UTF8Decode_InitFromData 1260 1255 -0.4% 1.00x (?)
Walsh 431 445 +3.2% 0.97x
WordCountHistogramASCII 7990 7900 -1.1% 1.01x
WordCountHistogramUTF16 11357 11192 -1.5% 1.01x (?)
WordCountUniqueASCII 2109 2127 +0.9% 0.99x
WordCountUniqueUTF16 4654 4605 -1.1% 1.01x (?)
WordSplitASCII 9203 8948 -2.8% 1.03x (?)
WordSplitUTF16 10017 10381 +3.6% 0.96x (?)
XorLoop 402 401 -0.2% 1.00x (?)
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@stephentyrone stephentyrone merged commit 4a89062 into swiftlang:master Jul 9, 2018
@stephentyrone stephentyrone deleted the random-range-require-finite branch July 9, 2018 17:40
@swift-ci
Copy link
Contributor

swift-ci commented Jul 9, 2018

Build comment file:

Optimized (O)

Regression (9)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 373 536 +43.7% 0.70x
ChainedFilterMap 1118 1262 +12.9% 0.89x
DataCount 30 33 +10.0% 0.91x
MapReduceAnyCollection 332 357 +7.5% 0.93x
RC4 134 144 +7.5% 0.93x
MapReduce 333 357 +7.2% 0.93x
NopDeinit 27061 28956 +7.0% 0.93x
UTF8Decode_InitFromBytes_ascii 434 460 +6.0% 0.94x (?)
OpenClose 56 59 +5.4% 0.95x
Improvement (9)
TEST OLD NEW DELTA SPEEDUP
BinaryFloatingPointPropertiesBinade 28 23 -17.9% 1.22x
RangeIterationSigned 179 154 -14.0% 1.16x
PointerArithmetics 30824 28246 -8.4% 1.09x
ObjectiveCBridgeStubFromArrayOfNSString 30823 28445 -7.7% 1.08x (?)
DictionarySwapAt 6322 5920 -6.4% 1.07x (?)
MapReduceLazyCollectionShort 32 30 -6.2% 1.07x
BinaryFloatingPointPropertiesUlp 33 31 -6.1% 1.06x
Calculator 183 172 -6.0% 1.06x
CharIteration_tweet_unicodeScalars 38311 36130 -5.7% 1.06x
No Changes (440)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3235 3240 +0.2% 1.00x (?)
AnyHashableWithAClass 81515 81621 +0.1% 1.00x (?)
Array2D 2546 2545 -0.0% 1.00x (?)
ArrayAppend 942 942 +0.0% 1.00x
ArrayAppendArrayOfInt 676 675 -0.1% 1.00x (?)
ArrayAppendAscii 3390 3414 +0.7% 0.99x (?)
ArrayAppendAsciiSubstring 22271 22574 +1.4% 0.99x
ArrayAppendFromGeneric 675 674 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1213 1215 +0.2% 1.00x (?)
ArrayAppendLatin1 37767 38120 +0.9% 0.99x
ArrayAppendLatin1Substring 126918 127765 +0.7% 0.99x (?)
ArrayAppendLazyMap 1176 1176 +0.0% 1.00x
ArrayAppendOptionals 1213 1214 +0.1% 1.00x (?)
ArrayAppendRepeatCol 1177 1181 +0.3% 1.00x (?)
ArrayAppendReserved 713 714 +0.1% 1.00x (?)
ArrayAppendSequence 979 979 +0.0% 1.00x
ArrayAppendStrings 5552 5546 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 675 675 +0.0% 1.00x
ArrayAppendToGeneric 676 676 +0.0% 1.00x
ArrayAppendUTF16 38005 37845 -0.4% 1.00x (?)
ArrayAppendUTF16Substring 125155 125196 +0.0% 1.00x (?)
ArrayInClass 77 77 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 130 130 +0.0% 1.00x
ArrayOfGenericRef 3952 3961 +0.2% 1.00x (?)
ArrayOfPOD 156 156 +0.0% 1.00x
ArrayOfRef 3891 3910 +0.5% 1.00x (?)
ArrayPlusEqualArrayOfInt 674 674 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4810 4811 +0.0% 1.00x (?)
ArrayPlusEqualSingleElementCollection 942 944 +0.2% 1.00x (?)
ArrayPlusEqualThreeElements 1488 1485 -0.2% 1.00x (?)
ArraySubscript 1367 1370 +0.2% 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
BinaryFloatingPointPropertiesNextUp 25 25 +0.0% 1.00x
BitCount 189 181 -4.2% 1.04x
ByteSwap 91 93 +2.2% 0.98x
COWArrayGuaranteedParameterOverhead 7876 7812 -0.8% 1.01x (?)
COWTree 3281 3281 +0.0% 1.00x
CSVParsing 632015 631792 -0.0% 1.00x (?)
CSVParsingAlt 727519 725282 -0.3% 1.00x (?)
CSVParsingAltIndices 309137 302754 -2.1% 1.02x (?)
CStringLongAscii 3690 3689 -0.0% 1.00x (?)
CStringLongNonAscii 2101 2099 -0.1% 1.00x (?)
CStringShortAscii 2987 2978 -0.3% 1.00x (?)
CaptureProp 3628 3682 +1.5% 0.99x
CharIndexing_ascii_unicodeScalars 15221 14609 -4.0% 1.04x
CharIndexing_ascii_unicodeScalars_Backwards 14357 14381 +0.2% 1.00x (?)
CharIndexing_chinese_unicodeScalars 11526 11062 -4.0% 1.04x
CharIndexing_chinese_unicodeScalars_Backwards 10877 10897 +0.2% 1.00x (?)
CharIndexing_japanese_unicodeScalars 18230 17486 -4.1% 1.04x
CharIndexing_japanese_unicodeScalars_Backwards 17186 17222 +0.2% 1.00x
CharIndexing_korean_unicodeScalars 14762 14164 -4.1% 1.04x
CharIndexing_korean_unicodeScalars_Backwards 13919 13951 +0.2% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2750 2653 -3.5% 1.04x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2612 2615 +0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 3445 3316 -3.7% 1.04x
CharIndexing_punctuated_unicodeScalars_Backwards 3247 3269 +0.7% 0.99x (?)
CharIndexing_russian_unicodeScalars 12682 12174 -4.0% 1.04x
CharIndexing_russian_unicodeScalars_Backwards 11969 11985 +0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars 29366 28800 -1.9% 1.02x
CharIndexing_tweet_unicodeScalars_Backwards 28013 28371 +1.3% 0.99x
CharIndexing_utf16_unicodeScalars 20587 20500 -0.4% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 21137 21150 +0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars 19396 18596 -4.1% 1.04x
CharIteration_ascii_unicodeScalars_Backwards 13584 13551 -0.2% 1.00x (?)
CharIteration_chinese_unicodeScalars 14666 14073 -4.0% 1.04x
CharIteration_chinese_unicodeScalars_Backwards 10290 10262 -0.3% 1.00x
CharIteration_japanese_unicodeScalars 23235 22361 -3.8% 1.04x
CharIteration_japanese_unicodeScalars_Backwards 16259 16220 -0.2% 1.00x (?)
CharIteration_korean_unicodeScalars 18807 18024 -4.2% 1.04x
CharIteration_korean_unicodeScalars_Backwards 13172 13141 -0.2% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3455 3336 -3.4% 1.04x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2467 2455 -0.5% 1.00x
CharIteration_punctuated_unicodeScalars 4338 4181 -3.6% 1.04x
CharIteration_punctuated_unicodeScalars_Backwards 3084 3071 -0.4% 1.00x (?)
CharIteration_russian_unicodeScalars 16144 15482 -4.1% 1.04x
CharIteration_russian_unicodeScalars_Backwards 11319 11289 -0.3% 1.00x
CharIteration_tweet_unicodeScalars_Backwards 26884 26764 -0.4% 1.00x (?)
CharIteration_utf16_unicodeScalars 25083 24837 -1.0% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 16420 16731 +1.9% 0.98x
CharacterLiteralsLarge 5251 5207 -0.8% 1.01x (?)
CharacterLiteralsSmall 197 195 -1.0% 1.01x
CharacterPropertiesFetch 4109 4109 +0.0% 1.00x
CharacterPropertiesPrecomputed 895 898 +0.3% 1.00x (?)
CharacterPropertiesStashed 1332 1335 +0.2% 1.00x (?)
CharacterPropertiesStashedMemo 1385 1400 +1.1% 0.99x (?)
Chars 915 914 -0.1% 1.00x (?)
ClassArrayGetter 13 13 +0.0% 1.00x
Combos 436 437 +0.2% 1.00x (?)
DataAccessBytes 1026 1026 +0.0% 1.00x
DataAppendArray 4666 4604 -1.3% 1.01x (?)
DataAppendBytes 4302 4306 +0.1% 1.00x (?)
DataAppendDataLargeToLarge 59621 59720 +0.2% 1.00x (?)
DataAppendDataLargeToMedium 31499 31461 -0.1% 1.00x (?)
DataAppendDataLargeToSmall 30644 30684 +0.1% 1.00x (?)
DataAppendDataMediumToLarge 33663 33379 -0.8% 1.01x (?)
DataAppendDataMediumToMedium 5830 5931 +1.7% 0.98x (?)
DataAppendDataMediumToSmall 5266 5352 +1.6% 0.98x (?)
DataAppendDataSmallToLarge 33076 33004 -0.2% 1.00x (?)
DataAppendDataSmallToMedium 5394 5419 +0.5% 1.00x (?)
DataAppendDataSmallToSmall 5116 5060 -1.1% 1.01x (?)
DataAppendSequence 18299 18238 -0.3% 1.00x (?)
DataCopyBytes 423 423 +0.0% 1.00x
DataMutateBytes 3486 3494 +0.2% 1.00x (?)
DataReplaceLarge 32841 33006 +0.5% 1.00x (?)
DataReplaceLargeBuffer 50984 51356 +0.7% 0.99x (?)
DataReplaceMedium 7014 6861 -2.2% 1.02x (?)
DataReplaceMediumBuffer 10117 9781 -3.3% 1.03x (?)
DataReplaceSmall 5045 4911 -2.7% 1.03x (?)
DataReplaceSmallBuffer 8034 7774 -3.2% 1.03x (?)
DataReset 2520 2531 +0.4% 1.00x (?)
DataSetCount 493 494 +0.2% 1.00x (?)
DataSubscript 197 197 +0.0% 1.00x
DictOfArraysToArrayOfDicts 696 696 +0.0% 1.00x
Dictionary 455 465 +2.2% 0.98x (?)
Dictionary2 568 564 -0.7% 1.01x (?)
Dictionary2OfObjects 1866 1877 +0.6% 0.99x (?)
Dictionary3 197 197 +0.0% 1.00x
Dictionary3OfObjects 659 657 -0.3% 1.00x (?)
Dictionary4 290 289 -0.3% 1.00x (?)
Dictionary4Legacy 622 620 -0.3% 1.00x (?)
Dictionary4OfObjects 396 396 +0.0% 1.00x
Dictionary4OfObjectsLegacy 813 815 +0.2% 1.00x (?)
DictionaryBridge 1081 1077 -0.4% 1.00x (?)
DictionaryBridgeToObjC_Access 844 813 -3.7% 1.04x (?)
DictionaryBridgeToObjC_Bridge 17 17 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 146 147 +0.7% 0.99x (?)
DictionaryCopy 92766 93459 +0.7% 0.99x (?)
DictionaryFilter 92633 93332 +0.8% 0.99x (?)
DictionaryGroup 193 193 +0.0% 1.00x
DictionaryGroupOfObjects 1917 1911 -0.3% 1.00x (?)
DictionaryKeysContainsCocoa 35 35 +0.0% 1.00x
DictionaryKeysContainsNative 28 28 +0.0% 1.00x
DictionaryLiteral 1705 1692 -0.8% 1.01x (?)
DictionaryOfObjects 2126 2128 +0.1% 1.00x (?)
DictionaryRemove 3788 3742 -1.2% 1.01x
DictionaryRemoveOfObjects 23079 23106 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutation 236 239 +1.3% 0.99x
DictionarySubscriptDefaultMutationArray 544 544 +0.0% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 3578 3577 -0.0% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1529 1532 +0.2% 1.00x (?)
DictionarySwap 928 932 +0.4% 1.00x (?)
DictionarySwapAtOfObjects 46817 46899 +0.2% 1.00x (?)
DictionarySwapOfObjects 7757 7814 +0.7% 0.99x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 68 68 +0.0% 1.00x
DropFirstAnyCollectionLazy 57974 58090 +0.2% 1.00x (?)
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 2489 +0.0% 1.00x
DropLastAnyCollection 25 25 +0.0% 1.00x
DropLastAnyCollectionLazy 19382 19399 +0.1% 1.00x (?)
DropLastAnySeqCRangeIter 2955 2944 -0.4% 1.00x (?)
DropLastAnySeqCRangeIterLazy 2952 2954 +0.1% 1.00x (?)
DropLastAnySeqCntRange 10 10 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 10 10 +0.0% 1.00x
DropLastAnySequence 4437 4446 +0.2% 1.00x (?)
DropLastAnySequenceLazy 4525 4529 +0.1% 1.00x (?)
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropLastSequence 569 594 +4.4% 0.96x
DropLastSequenceLazy 567 594 +4.8% 0.95x
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 1663 1663 +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 1990 1991 +0.1% 1.00x (?)
DropWhileSequenceLazy 79 79 +0.0% 1.00x
EqualStringSubstring 45 46 +2.2% 0.98x
EqualSubstringString 45 46 +2.2% 0.98x
EqualSubstringSubstring 45 46 +2.2% 0.98x
EqualSubstringSubstringGenericEquatable 45 46 +2.2% 0.98x
ErrorHandling 1068 1057 -1.0% 1.01x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 179335 179295 -0.0% 1.00x (?)
FilterEvenUsingReduce 1170 1175 +0.4% 1.00x (?)
FilterEvenUsingReduceInto 133 132 -0.8% 1.01x (?)
FloatingPointPrinting_Double_description_small 19285 19279 -0.0% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 18889 18947 +0.3% 1.00x (?)
FloatingPointPrinting_Double_interpolated 55737 55576 -0.3% 1.00x (?)
FloatingPointPrinting_Float80_description_small 25433 25501 +0.3% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 24740 24798 +0.2% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 58812 58518 -0.5% 1.01x (?)
FloatingPointPrinting_Float_description_small 4847 4826 -0.4% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 4951 4771 -3.6% 1.04x (?)
FloatingPointPrinting_Float_interpolated 34703 34498 -0.6% 1.01x (?)
FrequenciesUsingReduce 4355 4382 +0.6% 0.99x (?)
FrequenciesUsingReduceInto 1346 1352 +0.4% 1.00x (?)
Hanoi 1948 1893 -2.8% 1.03x
HashTest 842 843 +0.1% 1.00x (?)
Histogram 593 586 -1.2% 1.01x
Integrate 300 306 +2.0% 0.98x
IterateData 1342 1386 +3.3% 0.97x
Join 146 146 +0.0% 1.00x
LazilyFilteredArrayContains 32888 33600 +2.2% 0.98x
LazilyFilteredArrays 58550 58837 +0.5% 1.00x (?)
LazilyFilteredRange 3461 3454 -0.2% 1.00x (?)
LessSubstringSubstring 46 45 -2.2% 1.02x
LessSubstringSubstringGenericComparable 46 45 -2.2% 1.02x
LinkedList 6808 6807 -0.0% 1.00x (?)
LuhnAlgoEager 405 401 -1.0% 1.01x (?)
LuhnAlgoLazy 404 402 -0.5% 1.00x (?)
MapReduceAnyCollectionShort 1821 1811 -0.5% 1.01x (?)
MapReduceClass 2689 2685 -0.1% 1.00x (?)
MapReduceClassShort 4103 4102 -0.0% 1.00x (?)
MapReduceLazyCollection 12 12 +0.0% 1.00x
MapReduceLazySequence 77 77 +0.0% 1.00x
MapReduceSequence 407 403 -1.0% 1.01x (?)
MapReduceShort 1785 1796 +0.6% 0.99x (?)
MapReduceShortString 18 18 +0.0% 1.00x
MapReduceString 43 43 +0.0% 1.00x
Memset 193 192 -0.5% 1.01x (?)
MonteCarloE 9104 9268 +1.8% 0.98x
MonteCarloPi 38321 38411 +0.2% 1.00x
NSDictionaryCastToSwift 6036 5997 -0.6% 1.01x (?)
NSError 149 148 -0.7% 1.01x (?)
NSStringConversion 615 618 +0.5% 1.00x (?)
NibbleSort 3315 3289 -0.8% 1.01x
ObjectAllocation 119 119 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 23072 22746 -1.4% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4235 4184 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 40185 40500 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38177 37955 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 97950 98968 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObject 43769 43738 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4422 4416 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 60078 60896 +1.4% 0.99x (?)
ObjectiveCBridgeFromNSString 1060 1097 +3.5% 0.97x (?)
ObjectiveCBridgeFromNSStringForced 2401 2398 -0.1% 1.00x (?)
ObjectiveCBridgeStubDataAppend 5743 5722 -0.4% 1.00x (?)
ObjectiveCBridgeStubDateMutation 359 359 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 5891 5869 -0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSString 904 899 -0.6% 1.01x (?)
ObjectiveCBridgeStubFromNSStringRef 142 139 -2.1% 1.02x
ObjectiveCBridgeStubNSDataAppend 2303 2273 -1.3% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 11453 11345 -0.9% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 34932 35235 +0.9% 0.99x (?)
ObjectiveCBridgeStubToNSDate 13566 13678 +0.8% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3064 3094 +1.0% 0.99x (?)
ObjectiveCBridgeStubToNSString 2099 2095 -0.2% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 103 101 -1.9% 1.02x (?)
ObjectiveCBridgeStubURLAppendPath 240803 246297 +2.3% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 241622 242408 +0.3% 1.00x (?)
ObjectiveCBridgeToNSArray 13063 13256 +1.5% 0.99x (?)
ObjectiveCBridgeToNSDictionary 23748 23678 -0.3% 1.00x (?)
ObjectiveCBridgeToNSSet 15336 15091 -1.6% 1.02x (?)
ObjectiveCBridgeToNSString 406 408 +0.5% 1.00x
ObserverClosure 1923 1919 -0.2% 1.00x (?)
ObserverForwarderStruct 1042 1044 +0.2% 1.00x (?)
ObserverPartiallyAppliedMethod 3315 3333 +0.5% 0.99x (?)
ObserverUnappliedMethod 2164 2159 -0.2% 1.00x (?)
OpaqueConsumingUsers 3749 3749 +0.0% 1.00x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 5994 5929 -1.1% 1.01x (?)
PolymorphicCalls 22 22 +0.0% 1.00x
PopFrontArray 1696 1690 -0.4% 1.00x (?)
PopFrontArrayGeneric 1772 1767 -0.3% 1.00x (?)
PopFrontUnsafePointer 8512 8178 -3.9% 1.04x (?)
PrefixAnyCollection 68 68 +0.0% 1.00x
PrefixAnyCollectionLazy 58049 58138 +0.2% 1.00x (?)
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 1985 1989 +0.2% 1.00x (?)
PrefixSequenceLazy 2041 2039 -0.1% 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 1376 1377 +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 805 802 -0.4% 1.00x (?)
PrimsSplit 808 805 -0.4% 1.00x (?)
QueueConcrete 1027 1026 -0.1% 1.00x (?)
QueueGeneric 1022 1025 +0.3% 1.00x (?)
RGBHistogram 2704 2699 -0.2% 1.00x (?)
RGBHistogramOfObjects 21168 21194 +0.1% 1.00x (?)
Radix2CooleyTukey 10885 10947 +0.6% 0.99x (?)
Radix2CooleyTukeyf 7912 7872 -0.5% 1.01x (?)
RandomDoubleDef 23954 23931 -0.1% 1.00x (?)
RandomDoubleLCG 1984 2000 +0.8% 0.99x
RandomIntegersDef 21975 21867 -0.5% 1.00x
RandomIntegersLCG 155 155 +0.0% 1.00x
RandomShuffleDef 727524 728216 +0.1% 1.00x (?)
RandomShuffleLCG 52409 53072 +1.3% 0.99x (?)
RangeAssignment 301 313 +4.0% 0.96x (?)
RangeReplaceableCollectionPlusDefault 911 907 -0.4% 1.00x (?)
RecursiveOwnedParameter 103 103 +0.0% 1.00x
RemoveWhereFilterInts 41 42 +2.4% 0.98x (?)
RemoveWhereFilterString 222 220 -0.9% 1.01x (?)
RemoveWhereFilterStrings 389 390 +0.3% 1.00x (?)
RemoveWhereMoveInts 13 13 +0.0% 1.00x
RemoveWhereMoveStrings 635 635 +0.0% 1.00x
RemoveWhereQuadraticInts 1159 1160 +0.1% 1.00x (?)
RemoveWhereQuadraticString 334 332 -0.6% 1.01x (?)
RemoveWhereQuadraticStrings 2478 2476 -0.1% 1.00x (?)
RemoveWhereSwapInts 17 17 +0.0% 1.00x
RemoveWhereSwapStrings 770 771 +0.1% 1.00x (?)
ReversedArray 51 51 +0.0% 1.00x
ReversedBidirectional 15213 15228 +0.1% 1.00x (?)
ReversedDictionary 203 205 +1.0% 0.99x (?)
RomanNumbers 73139 76056 +4.0% 0.96x
SequenceAlgosAnySequence 10864 10776 -0.8% 1.01x (?)
SequenceAlgosArray 1386 1386 +0.0% 1.00x
SequenceAlgosContiguousArray 1385 1386 +0.1% 1.00x (?)
SequenceAlgosList 1210 1212 +0.2% 1.00x (?)
SequenceAlgosRange 2311 2311 +0.0% 1.00x
SequenceAlgosUnfoldSequence 989 989 +0.0% 1.00x
SetExclusiveOr 4571 4506 -1.4% 1.01x
SetExclusiveOr_OfObjects 10447 10440 -0.1% 1.00x (?)
SetIntersect 619 618 -0.2% 1.00x (?)
SetIntersect_OfObjects 1480 1485 +0.3% 1.00x (?)
SetIsSubsetOf 303 304 +0.3% 1.00x
SetIsSubsetOf_OfObjects 393 393 +0.0% 1.00x
SetUnion 3928 3888 -1.0% 1.01x (?)
SetUnion_OfObjects 8945 8960 +0.2% 1.00x (?)
SevenBoom 756 755 -0.1% 1.00x (?)
SortLargeExistentials 4906 4978 +1.5% 0.99x
SortLettersInPlace 889 896 +0.8% 0.99x (?)
SortSortedStrings 740 768 +3.8% 0.96x
SortStrings 1560 1586 +1.7% 0.98x
SortStringsUnicode 2226 2245 +0.9% 0.99x
StackPromo 22360 22353 -0.0% 1.00x (?)
StaticArray 8 8 +0.0% 1.00x
StrComplexWalk 1597 1592 -0.3% 1.00x (?)
StrToInt 2896 2931 +1.2% 0.99x
StringAdder 477 471 -1.3% 1.01x
StringBuilder 398 391 -1.8% 1.02x
StringBuilderLong 1125 1126 +0.1% 1.00x (?)
StringBuilderSmallReservingCapacity 410 405 -1.2% 1.01x
StringBuilderWithLongSubstring 1282 1281 -0.1% 1.00x (?)
StringComparison_abnormal 690 714 +3.5% 0.97x
StringComparison_ascii 910 901 -1.0% 1.01x
StringComparison_emoji 761 766 +0.7% 0.99x (?)
StringComparison_fastPrenormal 746 749 +0.4% 1.00x (?)
StringComparison_latin1 584 586 +0.3% 1.00x (?)
StringComparison_longSharedPrefix 853 851 -0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 1526 1499 -1.8% 1.02x
StringComparison_slowerPrenormal 1607 1607 +0.0% 1.00x
StringComparison_zalgo 100346 100901 +0.6% 0.99x (?)
StringEdits 151002 153565 +1.7% 0.98x (?)
StringEnumRawValueInitialization 794 799 +0.6% 0.99x
StringEqualPointerComparison 256 256 +0.0% 1.00x
StringFromLongWholeSubstring 19 19 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 19 19 +0.0% 1.00x
StringHasPrefixAscii 1977 1977 +0.0% 1.00x
StringHasPrefixUnicode 89302 88920 -0.4% 1.00x (?)
StringHasSuffixAscii 2028 2003 -1.2% 1.01x
StringHasSuffixUnicode 90458 89633 -0.9% 1.01x (?)
StringHashing_abnormal 1217 1218 +0.1% 1.00x (?)
StringHashing_ascii 30 30 +0.0% 1.00x
StringHashing_emoji 1755 1766 +0.6% 0.99x (?)
StringHashing_fastPrenormal 7639 7616 -0.3% 1.00x (?)
StringHashing_latin1 2337 2322 -0.6% 1.01x (?)
StringHashing_longSharedPrefix 7308 7308 +0.0% 1.00x
StringHashing_nonBMPSlowestPrenormal 1934 1931 -0.2% 1.00x (?)
StringHashing_slowerPrenormal 2490 2474 -0.6% 1.01x (?)
StringHashing_zalgo 3153 3161 +0.3% 1.00x (?)
StringInterpolation 8282 8269 -0.2% 1.00x (?)
StringInterpolationManySmallSegments 16146 16194 +0.3% 1.00x (?)
StringInterpolationSmall 3772 3708 -1.7% 1.02x (?)
StringMatch 10789 10883 +0.9% 0.99x
StringRemoveDupes 433 431 -0.5% 1.00x (?)
StringUTF16Builder 2348 2342 -0.3% 1.00x (?)
StringUTF16SubstringBuilder 5102 5199 +1.9% 0.98x (?)
StringWalk 1394 1386 -0.6% 1.01x (?)
StringWithCString 41189 41181 -0.0% 1.00x (?)
StringWordBuilder 2298 2298 +0.0% 1.00x
StringWordBuilderReservingCapacity 1728 1721 -0.4% 1.00x (?)
SubstringComparable 12 12 +0.0% 1.00x
SubstringEqualString 563 576 +2.3% 0.98x (?)
SubstringEquatable 1342 1330 -0.9% 1.01x (?)
SubstringFromLongString 9 9 +0.0% 1.00x
SubstringFromLongStringGeneric 66 66 +0.0% 1.00x
SuffixAnyCollection 25 25 +0.0% 1.00x
SuffixAnyCollectionLazy 19349 19439 +0.5% 1.00x (?)
SuffixAnySeqCRangeIter 3223 3235 +0.4% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3222 3235 +0.4% 1.00x (?)
SuffixAnySeqCntRange 15 15 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 15 15 +0.0% 1.00x
SuffixAnySequence 4401 4412 +0.2% 1.00x (?)
SuffixAnySequenceLazy 4487 4514 +0.6% 0.99x (?)
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 3248 3264 +0.5% 1.00x (?)
SuffixSequenceLazy 3248 3270 +0.7% 0.99x
SumUsingReduce 91 87 -4.4% 1.05x
SumUsingReduceInto 91 87 -4.4% 1.05x
SuperChars 18066 17924 -0.8% 1.01x (?)
TwoSum 1304 1309 +0.4% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 280 267 -4.6% 1.05x
UTF8Decode_InitDecoding 1211 1212 +0.1% 1.00x (?)
UTF8Decode_InitDecoding_ascii 582 583 +0.2% 1.00x (?)
UTF8Decode_InitFromBytes 1068 1050 -1.7% 1.02x (?)
UTF8Decode_InitFromData 1117 1133 +1.4% 0.99x (?)
UTF8Decode_InitFromData_ascii 597 603 +1.0% 0.99x (?)
Walsh 386 398 +3.1% 0.97x
WordCountHistogramASCII 7090 7010 -1.1% 1.01x (?)
WordCountHistogramUTF16 10043 10036 -0.1% 1.00x (?)
WordCountUniqueASCII 1860 1879 +1.0% 0.99x (?)
WordCountUniqueUTF16 4120 4085 -0.8% 1.01x (?)
WordSplitASCII 7874 8151 +3.5% 0.97x (?)
WordSplitUTF16 9149 9411 +2.9% 0.97x (?)
XorLoop 336 344 +2.4% 0.98x

Unoptimized (Onone)

Regression (4)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeFromNSArrayAnyObjectForced 8175 8889 +8.7% 0.92x (?)
WordSplitUTF16 13052 13929 +6.7% 0.94x (?)
UTF8Decode_InitFromBytes_ascii 473 503 +6.3% 0.94x (?)
SetIsSubsetOf 1073 1130 +5.3% 0.95x
Improvement (32)
TEST OLD NEW DELTA SPEEDUP
PrefixAnySeqCRangeIterLazy 19724 17288 -12.4% 1.14x (?)
DictionaryKeysContainsCocoa 64 57 -10.9% 1.12x (?)
PrefixAnySeqCRangeIter 19105 17106 -10.5% 1.12x
CharIteration_tweet_unicodeScalars_Backwards 491688 441207 -10.3% 1.11x
CharIndexing_korean_unicodeScalars 306377 276310 -9.8% 1.11x
CharIndexing_russian_unicodeScalars_Backwards 301919 272702 -9.7% 1.11x
CharIndexing_tweet_unicodeScalars 623800 563524 -9.7% 1.11x
StringUTF16SubstringBuilder 21029 19004 -9.6% 1.11x (?)
DictionaryBridgeToObjC_Access 1487 1355 -8.9% 1.10x (?)
CharIndexing_ascii_unicodeScalars 311503 283969 -8.8% 1.10x
CharIndexing_punctuated_unicodeScalars 69377 63328 -8.7% 1.10x
CharIndexing_japanese_unicodeScalars 371146 340213 -8.3% 1.09x
CharIndexing_punctuated_unicodeScalars_Backwards 77220 70807 -8.3% 1.09x (?)
StringBuilderWithLongSubstring 3133 2877 -8.2% 1.09x (?)
CharIndexing_russian_unicodeScalars 259819 238685 -8.1% 1.09x
CharIndexing_chinese_unicodeScalars 234962 216441 -7.9% 1.09x (?)
StringComparison_slowerPrenormal 4019 3704 -7.8% 1.09x
CharIndexing_punctuatedJapanese_unicodeScalars 54603 50376 -7.7% 1.08x (?)
CharIndexing_japanese_unicodeScalars_Backwards 415778 383684 -7.7% 1.08x
CharIndexing_korean_unicodeScalars_Backwards 335852 310310 -7.6% 1.08x (?)
CharIndexing_tweet_unicodeScalars_Backwards 696814 645440 -7.4% 1.08x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 60016 55633 -7.3% 1.08x (?)
CharIndexing_chinese_unicodeScalars_Backwards 263911 245330 -7.0% 1.08x (?)
FloatingPointPrinting_Float80_interpolated 115769 107821 -6.9% 1.07x
CharIndexing_utf16_unicodeScalars 267495 249388 -6.8% 1.07x (?)
FloatingPointPrinting_Float_interpolated 65106 60957 -6.4% 1.07x (?)
CharIndexing_ascii_unicodeScalars_Backwards 349373 328452 -6.0% 1.06x (?)
ObjectiveCBridgeFromNSSetAnyObject 48666 45956 -5.6% 1.06x (?)
TypeFlood 193 183 -5.2% 1.05x (?)
StringBuilderLong 1359 1289 -5.2% 1.05x (?)
DataReplaceMediumBuffer 10732 10195 -5.0% 1.05x (?)
DictionaryBridge 1203 1145 -4.8% 1.05x (?)
No Changes (422)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4508 4508 +0.0% 1.00x
AnyHashableWithAClass 96955 96295 -0.7% 1.01x (?)
Array2D 561677 560670 -0.2% 1.00x (?)
ArrayAppend 4068 4069 +0.0% 1.00x (?)
ArrayAppendArrayOfInt 731 728 -0.4% 1.00x (?)
ArrayAppendAscii 24269 24124 -0.6% 1.01x (?)
ArrayAppendAsciiSubstring 63990 64261 +0.4% 1.00x (?)
ArrayAppendFromGeneric 734 732 -0.3% 1.00x (?)
ArrayAppendGenericStructs 1280 1279 -0.1% 1.00x (?)
ArrayAppendLatin1 59504 59384 -0.2% 1.00x (?)
ArrayAppendLatin1Substring 143684 143556 -0.1% 1.00x (?)
ArrayAppendLazyMap 150653 150863 +0.1% 1.00x (?)
ArrayAppendOptionals 1276 1280 +0.3% 1.00x (?)
ArrayAppendRepeatCol 170745 172780 +1.2% 0.99x
ArrayAppendReserved 3852 3852 +0.0% 1.00x
ArrayAppendSequence 93209 92931 -0.3% 1.00x
ArrayAppendStrings 5631 5637 +0.1% 1.00x (?)
ArrayAppendToFromGeneric 736 735 -0.1% 1.00x (?)
ArrayAppendToGeneric 741 741 +0.0% 1.00x
ArrayAppendUTF16 59743 59894 +0.3% 1.00x (?)
ArrayAppendUTF16Substring 141446 141772 +0.2% 1.00x (?)
ArrayInClass 5715 5718 +0.1% 1.00x (?)
ArrayLiteral 1606 1598 -0.5% 1.01x
ArrayOfGenericPOD2 1025 1010 -1.5% 1.01x
ArrayOfGenericRef 9393 9393 +0.0% 1.00x
ArrayOfPOD 679 678 -0.1% 1.00x (?)
ArrayOfRef 8648 8662 +0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 740 737 -0.4% 1.00x (?)
ArrayPlusEqualFiveElementCollection 204961 203367 -0.8% 1.01x (?)
ArrayPlusEqualSingleElementCollection 202168 199966 -1.1% 1.01x (?)
ArrayPlusEqualThreeElements 8019 8092 +0.9% 0.99x
ArraySubscript 96768 96864 +0.1% 1.00x (?)
ArrayValueProp 3295 3277 -0.5% 1.01x (?)
ArrayValueProp2 13413 13394 -0.1% 1.00x (?)
ArrayValueProp3 3800 3804 +0.1% 1.00x (?)
ArrayValueProp4 3733 3733 +0.0% 1.00x
BinaryFloatingPointPropertiesBinade 79 79 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 119 119 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 126 125 -0.8% 1.01x
BitCount 7846 7847 +0.0% 1.00x (?)
ByteSwap 8769 8740 -0.3% 1.00x (?)
COWArrayGuaranteedParameterOverhead 12618 12641 +0.2% 1.00x (?)
COWTree 10603 10294 -2.9% 1.03x (?)
CSVParsing 2574634 2578657 +0.2% 1.00x (?)
CSVParsingAlt 1290113 1281034 -0.7% 1.01x (?)
CSVParsingAltIndices 2171163 2201837 +1.4% 0.99x (?)
CStringLongAscii 3912 3771 -3.6% 1.04x
CStringLongNonAscii 2260 2248 -0.5% 1.01x (?)
CStringShortAscii 5401 5489 +1.6% 0.98x (?)
Calculator 846 845 -0.1% 1.00x
CaptureProp 258864 257799 -0.4% 1.00x (?)
ChainedFilterMap 205733 208063 +1.1% 0.99x (?)
CharIndexing_utf16_unicodeScalars_Backwards 289817 279471 -3.6% 1.04x (?)
CharIteration_ascii_unicodeScalars 131381 131874 +0.4% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 223510 222657 -0.4% 1.00x (?)
CharIteration_chinese_unicodeScalars 99734 100015 +0.3% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 168808 171517 +1.6% 0.98x (?)
CharIteration_japanese_unicodeScalars 158125 158171 +0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 266086 266908 +0.3% 1.00x (?)
CharIteration_korean_unicodeScalars 128297 128658 +0.3% 1.00x
CharIteration_korean_unicodeScalars_Backwards 216431 216183 -0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 23406 23499 +0.4% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 38963 39030 +0.2% 1.00x (?)
CharIteration_punctuated_unicodeScalars 29587 29591 +0.0% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 48929 49069 +0.3% 1.00x (?)
CharIteration_russian_unicodeScalars 109856 109629 -0.2% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 184745 185281 +0.3% 1.00x (?)
CharIteration_tweet_unicodeScalars 260265 261648 +0.5% 0.99x (?)
CharIteration_utf16_unicodeScalars 113296 114233 +0.8% 0.99x (?)
CharIteration_utf16_unicodeScalars_Backwards 196202 195634 -0.3% 1.00x (?)
CharacterLiteralsLarge 5185 5172 -0.3% 1.00x (?)
CharacterLiteralsSmall 613 590 -3.8% 1.04x
CharacterPropertiesFetch 4947 5070 +2.5% 0.98x (?)
CharacterPropertiesPrecomputed 3147 3132 -0.5% 1.00x (?)
CharacterPropertiesStashed 2103 2131 +1.3% 0.99x (?)
CharacterPropertiesStashedMemo 3889 3933 +1.1% 0.99x (?)
Chars 31437 31451 +0.0% 1.00x (?)
ClassArrayGetter 865 865 +0.0% 1.00x
Combos 2181 2192 +0.5% 0.99x (?)
DataAccessBytes 2068 2072 +0.2% 1.00x (?)
DataAppendArray 4784 4634 -3.1% 1.03x (?)
DataAppendBytes 4373 4344 -0.7% 1.01x (?)
DataAppendDataLargeToLarge 60636 61219 +1.0% 0.99x (?)
DataAppendDataLargeToMedium 31596 32079 +1.5% 0.98x (?)
DataAppendDataLargeToSmall 30917 31008 +0.3% 1.00x (?)
DataAppendDataMediumToLarge 33772 34254 +1.4% 0.99x (?)
DataAppendDataMediumToMedium 5765 5816 +0.9% 0.99x (?)
DataAppendDataMediumToSmall 5294 5287 -0.1% 1.00x (?)
DataAppendDataSmallToLarge 33163 33299 +0.4% 1.00x (?)
DataAppendDataSmallToMedium 5481 5523 +0.8% 0.99x (?)
DataAppendDataSmallToSmall 5116 5176 +1.2% 0.99x (?)
DataAppendSequence 1757415 1784616 +1.5% 0.98x
DataCopyBytes 404 401 -0.7% 1.01x (?)
DataCount 200 200 +0.0% 1.00x
DataMutateBytes 4593 4641 +1.0% 0.99x (?)
DataReplaceLarge 33159 32938 -0.7% 1.01x (?)
DataReplaceLargeBuffer 51512 50697 -1.6% 1.02x (?)
DataReplaceMedium 6949 7186 +3.4% 0.97x (?)
DataReplaceSmall 5116 4983 -2.6% 1.03x (?)
DataReplaceSmallBuffer 8345 8334 -0.1% 1.00x (?)
DataReset 2553 2564 +0.4% 1.00x (?)
DataSetCount 507 527 +3.9% 0.96x (?)
DataSubscript 398 398 +0.0% 1.00x
DictOfArraysToArrayOfDicts 3159 3152 -0.2% 1.00x (?)
Dictionary 1948 1935 -0.7% 1.01x
Dictionary2 1157 1150 -0.6% 1.01x (?)
Dictionary2OfObjects 3757 3760 +0.1% 1.00x (?)
Dictionary3 747 747 +0.0% 1.00x
Dictionary3OfObjects 1950 1917 -1.7% 1.02x (?)
Dictionary4 1064 1063 -0.1% 1.00x (?)
Dictionary4Legacy 1293 1290 -0.2% 1.00x (?)
Dictionary4OfObjects 1646 1603 -2.6% 1.03x (?)
Dictionary4OfObjectsLegacy 1866 1835 -1.7% 1.02x (?)
DictionaryBridgeToObjC_Bridge 17 17 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 148 149 +0.7% 0.99x (?)
DictionaryCopy 274956 275528 +0.2% 1.00x (?)
DictionaryFilter 289334 288402 -0.3% 1.00x (?)
DictionaryGroup 4337 4392 +1.3% 0.99x
DictionaryGroupOfObjects 6126 6156 +0.5% 1.00x (?)
DictionaryKeysContainsNative 47 47 +0.0% 1.00x
DictionaryLiteral 7734 7717 -0.2% 1.00x (?)
DictionaryOfObjects 5182 5183 +0.0% 1.00x (?)
DictionaryRemove 15050 15075 +0.2% 1.00x (?)
DictionaryRemoveOfObjects 47094 47052 -0.1% 1.00x (?)
DictionarySubscriptDefaultMutation 1775 1770 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArray 1992 1989 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 8556 8725 +2.0% 0.98x (?)
DictionarySubscriptDefaultMutationOfObjects 4905 5016 +2.3% 0.98x (?)
DictionarySwap 4364 4382 +0.4% 1.00x (?)
DictionarySwapAt 29511 29194 -1.1% 1.01x (?)
DictionarySwapAtOfObjects 102243 101608 -0.6% 1.01x
DictionarySwapOfObjects 17314 17297 -0.1% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 14139 14155 +0.1% 1.00x (?)
DropFirstAnyCollectionLazy 96571 93627 -3.0% 1.03x (?)
DropFirstAnySeqCRangeIter 21529 21429 -0.5% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21739 21651 -0.4% 1.00x (?)
DropFirstAnySeqCntRange 14065 14049 -0.1% 1.00x (?)
DropFirstAnySeqCntRangeLazy 14095 14058 -0.3% 1.00x (?)
DropFirstAnySequence 11555 11577 +0.2% 1.00x (?)
DropFirstAnySequenceLazy 11511 11505 -0.1% 1.00x (?)
DropFirstArray 3091 3119 +0.9% 0.99x (?)
DropFirstArrayLazy 30241 30383 +0.5% 1.00x
DropFirstCountableRange 310 310 +0.0% 1.00x
DropFirstCountableRangeLazy 37756 37839 +0.2% 1.00x (?)
DropFirstSequence 11172 11167 -0.0% 1.00x (?)
DropFirstSequenceLazy 11112 11227 +1.0% 0.99x
DropLastAnyCollection 4709 4736 +0.6% 0.99x (?)
DropLastAnyCollectionLazy 31413 31200 -0.7% 1.01x (?)
DropLastAnySeqCRangeIter 38990 38942 -0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 39100 39089 -0.0% 1.00x (?)
DropLastAnySeqCntRange 4685 4689 +0.1% 1.00x (?)
DropLastAnySeqCntRangeLazy 4733 4700 -0.7% 1.01x (?)
DropLastAnySequence 26564 26690 +0.5% 1.00x (?)
DropLastAnySequenceLazy 26212 26328 +0.4% 1.00x (?)
DropLastCountableRange 107 107 +0.0% 1.00x
DropLastCountableRangeLazy 12638 12578 -0.5% 1.00x (?)
DropLastSequence 26066 26310 +0.9% 0.99x
DropLastSequenceLazy 26199 26519 +1.2% 0.99x (?)
DropWhileAnyCollection 18221 18216 -0.0% 1.00x (?)
DropWhileAnyCollectionLazy 20614 20587 -0.1% 1.00x (?)
DropWhileAnySeqCRangeIter 25871 25960 +0.3% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 20509 20434 -0.4% 1.00x
DropWhileAnySeqCntRange 18239 18170 -0.4% 1.00x
DropWhileAnySeqCntRangeLazy 20481 20351 -0.6% 1.01x (?)
DropWhileAnySequence 12118 12156 +0.3% 1.00x (?)
DropWhileAnySequenceLazy 11089 11146 +0.5% 0.99x (?)
DropWhileArrayLazy 12340 12300 -0.3% 1.00x (?)
DropWhileCountableRange 4479 4448 -0.7% 1.01x
DropWhileCountableRangeLazy 20206 20068 -0.7% 1.01x
DropWhileSequence 11690 11788 +0.8% 0.99x (?)
DropWhileSequenceLazy 11032 11013 -0.2% 1.00x (?)
EqualStringSubstring 65 65 +0.0% 1.00x
EqualSubstringString 66 65 -1.5% 1.02x
EqualSubstringSubstring 67 67 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 54 54 +0.0% 1.00x
ErrorHandling 4633 4551 -1.8% 1.02x (?)
ExclusivityGlobal 172 172 +0.0% 1.00x
ExclusivityIndependent 67 66 -1.5% 1.02x (?)
FatCompactMap 258737 258918 +0.1% 1.00x (?)
FilterEvenUsingReduce 3204 3207 +0.1% 1.00x (?)
FilterEvenUsingReduceInto 1656 1662 +0.4% 1.00x (?)
FloatingPointPrinting_Double_description_small 20012 20111 +0.5% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 30597 30488 -0.4% 1.00x (?)
FloatingPointPrinting_Double_interpolated 90367 89682 -0.8% 1.01x (?)
FloatingPointPrinting_Float80_description_small 26374 26558 +0.7% 0.99x (?)
FloatingPointPrinting_Float80_description_uniform 52278 53696 +2.7% 0.97x (?)
FloatingPointPrinting_Float_description_small 5657 5657 +0.0% 1.00x
FloatingPointPrinting_Float_description_uniform 15315 15489 +1.1% 0.99x (?)
FrequenciesUsingReduce 9598 9366 -2.4% 1.02x (?)
FrequenciesUsingReduceInto 2818 2792 -0.9% 1.01x (?)
Hanoi 17125 17236 +0.6% 0.99x
HashTest 19353 19204 -0.8% 1.01x (?)
Histogram 5717 5626 -1.6% 1.02x (?)
Integrate 526 526 +0.0% 1.00x
IterateData 4509 4499 -0.2% 1.00x (?)
Join 168 167 -0.6% 1.01x
LazilyFilteredArrayContains 658570 659736 +0.2% 1.00x (?)
LazilyFilteredArrays 1274282 1273495 -0.1% 1.00x (?)
LazilyFilteredRange 487104 489682 +0.5% 0.99x (?)
LessSubstringSubstring 66 66 +0.0% 1.00x
LessSubstringSubstringGenericComparable 53 53 +0.0% 1.00x
LinkedList 29157 29169 +0.0% 1.00x (?)
LuhnAlgoEager 5243 5442 +3.8% 0.96x
LuhnAlgoLazy 5377 5643 +4.9% 0.95x (?)
MapReduce 22174 22262 +0.4% 1.00x (?)
MapReduceAnyCollection 22210 22293 +0.4% 1.00x (?)
MapReduceAnyCollectionShort 31905 33572 +5.2% 0.95x
MapReduceClass 26032 25949 -0.3% 1.00x (?)
MapReduceClassShort 35845 35797 -0.1% 1.00x (?)
MapReduceLazyCollection 19951 20120 +0.8% 0.99x (?)
MapReduceLazyCollectionShort 29247 29668 +1.4% 0.99x (?)
MapReduceLazySequence 18136 18206 +0.4% 1.00x (?)
MapReduceSequence 27188 27257 +0.3% 1.00x (?)
MapReduceShort 33004 33319 +1.0% 0.99x (?)
MapReduceShortString 196 205 +4.6% 0.96x (?)
MapReduceString 1549 1544 -0.3% 1.00x (?)
Memset 40444 40439 -0.0% 1.00x (?)
MonteCarloE 1026994 1028990 +0.2% 1.00x (?)
MonteCarloPi 4677963 4680544 +0.1% 1.00x (?)
NSDictionaryCastToSwift 7211 7272 +0.8% 0.99x (?)
NSError 533 550 +3.2% 0.97x (?)
NSStringConversion 666 668 +0.3% 1.00x
NibbleSort 460061 459924 -0.0% 1.00x (?)
NopDeinit 178778 178817 +0.0% 1.00x (?)
ObjectAllocation 1122 1126 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25610 26104 +1.9% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43938 42124 -4.1% 1.04x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 40992 40945 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 106018 102364 -3.4% 1.04x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5264 5069 -3.7% 1.04x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 67658 64848 -4.2% 1.04x (?)
ObjectiveCBridgeFromNSString 2575 2613 +1.5% 0.99x (?)
ObjectiveCBridgeFromNSStringForced 2530 2526 -0.2% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6226 6177 -0.8% 1.01x (?)
ObjectiveCBridgeStubDateMutation 694 695 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromArrayOfNSString 30137 28770 -4.5% 1.05x (?)
ObjectiveCBridgeStubFromNSDate 6238 6243 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 925 961 +3.9% 0.96x (?)
ObjectiveCBridgeStubFromNSStringRef 173 173 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2727 2700 -1.0% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 13694 14135 +3.2% 0.97x (?)
ObjectiveCBridgeStubToArrayOfNSString 35119 36313 +3.4% 0.97x (?)
ObjectiveCBridgeStubToNSDate 13842 14207 +2.6% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3123 3121 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 2176 2173 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 137 138 +0.7% 0.99x (?)
ObjectiveCBridgeStubURLAppendPath 261797 255957 -2.2% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 250759 259376 +3.4% 0.97x (?)
ObjectiveCBridgeToNSArray 13665 13405 -1.9% 1.02x (?)
ObjectiveCBridgeToNSDictionary 25468 24658 -3.2% 1.03x (?)
ObjectiveCBridgeToNSSet 15561 16370 +5.2% 0.95x (?)
ObjectiveCBridgeToNSString 504 487 -3.4% 1.03x
ObserverClosure 5770 5754 -0.3% 1.00x (?)
ObserverForwarderStruct 3921 3959 +1.0% 0.99x (?)
ObserverPartiallyAppliedMethod 7112 7114 +0.0% 1.00x (?)
ObserverUnappliedMethod 7334 7315 -0.3% 1.00x (?)
OpaqueConsumingUsers 12050 12045 -0.0% 1.00x (?)
OpenClose 477 488 +2.3% 0.98x
PartialApplyDynamicType 35968 37512 +4.3% 0.96x (?)
Phonebook 13730 13716 -0.1% 1.00x (?)
PointerArithmetics 118162 118114 -0.0% 1.00x (?)
PolymorphicCalls 2197 2186 -0.5% 1.01x (?)
PopFrontArray 4208 4175 -0.8% 1.01x (?)
PopFrontArrayGeneric 4784 4789 +0.1% 1.00x (?)
PopFrontUnsafePointer 10079 10066 -0.1% 1.00x (?)
PrefixAnyCollection 14069 14015 -0.4% 1.00x (?)
PrefixAnyCollectionLazy 93948 93477 -0.5% 1.01x (?)
PrefixAnySeqCntRange 14013 14003 -0.1% 1.00x (?)
PrefixAnySeqCntRangeLazy 14038 14025 -0.1% 1.00x (?)
PrefixAnySequence 9419 9479 +0.6% 0.99x (?)
PrefixAnySequenceLazy 9364 9397 +0.4% 1.00x (?)
PrefixArray 3105 3104 -0.0% 1.00x (?)
PrefixArrayLazy 30274 30443 +0.6% 0.99x (?)
PrefixCountableRange 310 310 +0.0% 1.00x
PrefixCountableRangeLazy 37772 37672 -0.3% 1.00x (?)
PrefixSequence 9172 9128 -0.5% 1.00x (?)
PrefixSequenceLazy 9070 9069 -0.0% 1.00x (?)
PrefixWhileAnyCollection 26470 26478 +0.0% 1.00x (?)
PrefixWhileAnyCollectionLazy 17072 17067 -0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIter 32816 33156 +1.0% 0.99x
PrefixWhileAnySeqCRangeIterLazy 16855 16884 +0.2% 1.00x (?)
PrefixWhileAnySeqCntRange 26466 26501 +0.1% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 16971 16992 +0.1% 1.00x
PrefixWhileAnySequence 23139 23119 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 9854 9922 +0.7% 0.99x (?)
PrefixWhileArray 9263 9272 +0.1% 1.00x (?)
PrefixWhileArrayLazy 10810 10838 +0.3% 1.00x (?)
PrefixWhileCountableRange 12627 12615 -0.1% 1.00x (?)
PrefixWhileCountableRangeLazy 16628 16590 -0.2% 1.00x
PrefixWhileSequence 22865 23054 +0.8% 0.99x
PrefixWhileSequenceLazy 9868 9875 +0.1% 1.00x (?)
Prims 8258 8257 -0.0% 1.00x (?)
PrimsSplit 8442 8284 -1.9% 1.02x (?)
QueueConcrete 12604 12569 -0.3% 1.00x (?)
QueueGeneric 16530 16607 +0.5% 1.00x (?)
RC4 14558 15140 +4.0% 0.96x (?)
RGBHistogram 20684 20770 +0.4% 1.00x (?)
RGBHistogramOfObjects 69965 71249 +1.8% 0.98x (?)
Radix2CooleyTukey 37209 37419 +0.6% 0.99x (?)
Radix2CooleyTukeyf 31725 32057 +1.0% 0.99x
RandomDoubleDef 85390 82359 -3.5% 1.04x (?)
RandomDoubleLCG 57323 57728 +0.7% 0.99x (?)
RandomIntegersDef 39247 39626 +1.0% 0.99x (?)
RandomIntegersLCG 28926 29068 +0.5% 1.00x (?)
RandomShuffleDef 1951927 1952998 +0.1% 1.00x (?)
RandomShuffleLCG 1287440 1286879 -0.0% 1.00x (?)
RangeAssignment 2452 2459 +0.3% 1.00x (?)
RangeIterationSigned 13181 13548 +2.8% 0.97x (?)
RangeReplaceableCollectionPlusDefault 9843 10193 +3.6% 0.97x (?)
RecursiveOwnedParameter 5568 5578 +0.2% 1.00x (?)
RemoveWhereFilterInts 1851 1847 -0.2% 1.00x (?)
RemoveWhereFilterString 1205 1195 -0.8% 1.01x
RemoveWhereFilterStrings 2321 2318 -0.1% 1.00x (?)
RemoveWhereMoveInts 2991 2995 +0.1% 1.00x (?)
RemoveWhereMoveStrings 3488 3488 +0.0% 1.00x
RemoveWhereQuadraticInts 7599 7568 -0.4% 1.00x (?)
RemoveWhereQuadraticString 2337 2337 +0.0% 1.00x
RemoveWhereQuadraticStrings 9083 9062 -0.2% 1.00x (?)
RemoveWhereSwapInts 5384 5379 -0.1% 1.00x (?)
RemoveWhereSwapStrings 6043 6030 -0.2% 1.00x
ReversedArray 11276 11266 -0.1% 1.00x (?)
ReversedBidirectional 40259 40052 -0.5% 1.01x (?)
ReversedDictionary 20436 20438 +0.0% 1.00x (?)
RomanNumbers 1138145 1167389 +2.6% 0.97x (?)
SequenceAlgosAnySequence 12022 11952 -0.6% 1.01x
SequenceAlgosArray 654307 659252 +0.8% 0.99x
SequenceAlgosContiguousArray 267659 270511 +1.1% 0.99x (?)
SequenceAlgosList 7885 7875 -0.1% 1.00x (?)
SequenceAlgosRange 1176372 1172769 -0.3% 1.00x (?)
SequenceAlgosUnfoldSequence 5822 5828 +0.1% 1.00x (?)
SetExclusiveOr 14666 14802 +0.9% 0.99x
SetExclusiveOr_OfObjects 37887 37894 +0.0% 1.00x (?)
SetIntersect 6100 6117 +0.3% 1.00x
SetIntersect_OfObjects 9647 9652 +0.1% 1.00x (?)
SetIsSubsetOf_OfObjects 2075 2150 +3.6% 0.97x (?)
SetUnion 10607 10612 +0.0% 1.00x (?)
SetUnion_OfObjects 27331 27225 -0.4% 1.00x (?)
SevenBoom 917 914 -0.3% 1.00x (?)
Sim2DArray 39339 39366 +0.1% 1.00x (?)
SortLargeExistentials 8784 8724 -0.7% 1.01x
SortLettersInPlace 1403 1417 +1.0% 0.99x (?)
SortSortedStrings 805 805 +0.0% 1.00x
SortStrings 1659 1672 +0.8% 0.99x
SortStringsUnicode 2436 2474 +1.6% 0.98x
StackPromo 82648 83494 +1.0% 0.99x (?)
StaticArray 2330 2319 -0.5% 1.00x (?)
StrComplexWalk 6521 6523 +0.0% 1.00x (?)
StrToInt 72352 71637 -1.0% 1.01x (?)
StringAdder 658 642 -2.4% 1.02x
StringBuilder 4481 4486 +0.1% 1.00x (?)
StringBuilderSmallReservingCapacity 4504 4493 -0.2% 1.00x (?)
StringComparison_abnormal 1172 1165 -0.6% 1.01x (?)
StringComparison_ascii 7919 7924 +0.1% 1.00x (?)
StringComparison_emoji 1779 1781 +0.1% 1.00x (?)
StringComparison_fastPrenormal 4333 4358 +0.6% 0.99x
StringComparison_latin1 3374 3394 +0.6% 0.99x (?)
StringComparison_longSharedPrefix 2095 2098 +0.1% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3306 3305 -0.0% 1.00x (?)
StringComparison_zalgo 102451 102394 -0.1% 1.00x (?)
StringEdits 348621 336716 -3.4% 1.04x (?)
StringEnumRawValueInitialization 19026 19144 +0.6% 0.99x
StringEqualPointerComparison 1592 1585 -0.4% 1.00x (?)
StringFromLongWholeSubstring 20 20 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 177 177 +0.0% 1.00x
StringHasPrefixAscii 2931 2929 -0.1% 1.00x (?)
StringHasPrefixUnicode 90053 90046 -0.0% 1.00x (?)
StringHasSuffixAscii 2954 2954 +0.0% 1.00x
StringHasSuffixUnicode 92050 91249 -0.9% 1.01x (?)
StringHashing_abnormal 1303 1303 +0.0% 1.00x
StringHashing_ascii 187 186 -0.5% 1.01x (?)
StringHashing_emoji 1945 1949 +0.2% 1.00x (?)
StringHashing_fastPrenormal 7866 7821 -0.6% 1.01x (?)
StringHashing_latin1 2536 2517 -0.7% 1.01x (?)
StringHashing_longSharedPrefix 7452 7437 -0.2% 1.00x (?)
StringHashing_nonBMPSlowestPrenormal 2135 2137 +0.1% 1.00x (?)
StringHashing_slowerPrenormal 2663 2638 -0.9% 1.01x (?)
StringHashing_zalgo 3250 3237 -0.4% 1.00x (?)
StringInterpolation 10757 11234 +4.4% 0.96x (?)
StringInterpolationManySmallSegments 16702 16752 +0.3% 1.00x (?)
StringInterpolationSmall 5917 5952 +0.6% 0.99x (?)
StringMatch 36612 35777 -2.3% 1.02x (?)
StringRemoveDupes 651 651 +0.0% 1.00x
StringUTF16Builder 6999 6951 -0.7% 1.01x (?)
StringWalk 11578 11583 +0.0% 1.00x (?)
StringWithCString 38889 38863 -0.1% 1.00x (?)
StringWordBuilder 2208 2157 -2.3% 1.02x (?)
StringWordBuilderReservingCapacity 1859 1845 -0.8% 1.01x
SubstringComparable 1444 1442 -0.1% 1.00x (?)
SubstringEqualString 1544 1546 +0.1% 1.00x (?)
SubstringEquatable 4832 4869 +0.8% 0.99x (?)
SubstringFromLongString 14 14 +0.0% 1.00x
SubstringFromLongStringGeneric 94 93 -1.1% 1.01x
SuffixAnyCollection 4693 4718 +0.5% 0.99x (?)
SuffixAnyCollectionLazy 31326 31415 +0.3% 1.00x (?)
SuffixAnySeqCRangeIter 32956 32889 -0.2% 1.00x
SuffixAnySeqCRangeIterLazy 33017 32956 -0.2% 1.00x
SuffixAnySeqCntRange 4682 4675 -0.1% 1.00x (?)
SuffixAnySeqCntRangeLazy 4700 4690 -0.2% 1.00x (?)
SuffixAnySequence 22647 22637 -0.0% 1.00x (?)
SuffixAnySequenceLazy 22796 22826 +0.1% 1.00x (?)
SuffixCountableRange 107 107 +0.0% 1.00x
SuffixCountableRangeLazy 12658 12622 -0.3% 1.00x (?)
SuffixSequence 22545 22716 +0.8% 0.99x (?)
SuffixSequenceLazy 22750 22778 +0.1% 1.00x (?)
SumUsingReduce 140777 139140 -1.2% 1.01x
SumUsingReduceInto 133682 134057 +0.3% 1.00x
SuperChars 85131 81624 -4.1% 1.04x (?)
TwoSum 3114 3102 -0.4% 1.00x (?)
UTF8Decode 25880 25846 -0.1% 1.00x (?)
UTF8Decode_InitDecoding 1262 1273 +0.9% 0.99x (?)
UTF8Decode_InitDecoding_ascii 787 785 -0.3% 1.00x (?)
UTF8Decode_InitFromBytes 1067 1058 -0.8% 1.01x (?)
UTF8Decode_InitFromData 1147 1160 +1.1% 0.99x (?)
UTF8Decode_InitFromData_ascii 703 719 +2.3% 0.98x (?)
Walsh 11131 11203 +0.6% 0.99x
WordCountHistogramASCII 33608 32882 -2.2% 1.02x (?)
WordCountHistogramUTF16 38561 37665 -2.3% 1.02x (?)
WordCountUniqueASCII 6260 6285 +0.4% 1.00x
WordCountUniqueUTF16 8539 8537 -0.0% 1.00x (?)
WordSplitASCII 11804 11920 +1.0% 0.99x (?)
XorLoop 21361 21344 -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

stephentyrone added a commit to stephentyrone/swift that referenced this pull request Jul 10, 2018
…wiftlang#17833)

This is a slightly conservative precondition; when we re-work the FloatingPoint random computation in a more principled fashion, we can relax this to only requiring that .upperBound and .lowerBound are both finite. However, the current computation will break down unless this conservative condition is used, and this is future proof--we will only relax it going forward.
stephentyrone added a commit that referenced this pull request Jul 10, 2018
* [SR-8178] Fix BinaryFloatingPoint.random(in:) open range returning upperBound (#17794)

* Require .upperBound - .lowerBound be finite for FloatingPoint random (#17833)

This is a slightly conservative precondition; when we re-work the FloatingPoint random computation in a more principled fashion, we can relax this to only requiring that .upperBound and .lowerBound are both finite. However, the current computation will break down unless this conservative condition is used, and this is future proof--we will only relax it going forward.
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.

5 participants