Skip to content

[stdlib]remove _PointerFunction #17809

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 3 commits into from
Jul 10, 2018
Merged

[stdlib]remove _PointerFunction #17809

merged 3 commits into from
Jul 10, 2018

Conversation

lancep
Copy link
Contributor

@lancep lancep commented Jul 6, 2018

The _PointerFunction protocol and related types are kind of weird and unnecessary.

@lancep
Copy link
Contributor Author

lancep commented Jul 6, 2018

@swift-ci please test

@lancep
Copy link
Contributor Author

lancep commented Jul 6, 2018

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Jul 7, 2018

Build failed
Swift Test Linux Platform
Git Sha - 0ccf21f

@swift-ci
Copy link
Contributor

swift-ci commented Jul 7, 2018

Build comment file:

Optimized (O)

Regression (19)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 417 663 +59.0% 0.63x
StringBuilderWithLongSubstring 1448 1865 +28.8% 0.78x
CharacterPropertiesStashed 1503 1775 +18.1% 0.85x
CharacterPropertiesStashedMemo 1556 1769 +13.7% 0.88x
ChainedFilterMap 1248 1407 +12.7% 0.89x
StaticArray 9 10 +11.1% 0.90x
WordSplitUTF16 9974 11032 +10.6% 0.90x
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
DataSetCount 563 609 +8.2% 0.92x (?)
RC4 149 161 +8.1% 0.93x
CharacterPropertiesFetch 4621 4981 +7.8% 0.93x
SubstringComparable 13 14 +7.7% 0.93x
WordSplitASCII 9043 9630 +6.5% 0.94x
DropLastSequence 635 671 +5.7% 0.95x
DropLastSequenceLazy 635 670 +5.5% 0.95x
NSDictionaryCastToSwift 6873 7243 +5.4% 0.95x (?)
Improvement (33)
TEST OLD NEW DELTA SPEEDUP
BinaryFloatingPointPropertiesBinade 31 25 -19.4% 1.24x
CharIteration_tweet_unicodeScalars 44120 40038 -9.3% 1.10x
CharIteration_japanese_unicodeScalars 26699 24285 -9.0% 1.10x
CharIteration_korean_unicodeScalars 21603 19659 -9.0% 1.10x
CharIteration_ascii_unicodeScalars 22267 20281 -8.9% 1.10x
CharIteration_russian_unicodeScalars 18531 16881 -8.9% 1.10x
CharIteration_chinese_unicodeScalars 16837 15342 -8.9% 1.10x
DataReplaceMediumBuffer 11991 10938 -8.8% 1.10x
PointerArithmetics 34366 31497 -8.3% 1.09x
CharIteration_punctuated_unicodeScalars 4961 4571 -7.9% 1.09x
CharIteration_punctuatedJapanese_unicodeScalars 3934 3636 -7.6% 1.08x
SevenBoom 909 843 -7.3% 1.08x
ObjectiveCBridgeFromNSDictionaryAnyObject 118721 110387 -7.0% 1.08x
ObjectiveCBridgeToNSDictionary 28057 26101 -7.0% 1.07x (?)
Calculator 204 190 -6.9% 1.07x
DataReplaceMedium 8073 7546 -6.5% 1.07x
StringHashing_nonBMPSlowestPrenormal 2232 2088 -6.5% 1.07x
DataAppendSequence 21457 20118 -6.2% 1.07x
DataReplaceLarge 38825 36405 -6.2% 1.07x (?)
DictionaryBridgeToObjC_Access 1024 962 -6.1% 1.06x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 5345 5025 -6.0% 1.06x (?)
CharIndexing_japanese_unicodeScalars 20608 19486 -5.4% 1.06x (?)
BinaryFloatingPointPropertiesUlp 37 35 -5.4% 1.06x
CharIndexing_chinese_unicodeScalars 13044 12341 -5.4% 1.06x
CharIndexing_ascii_unicodeScalars 17216 16289 -5.4% 1.06x
CharIndexing_russian_unicodeScalars 14333 13573 -5.3% 1.06x
DataAppendDataMediumToMedium 6951 6584 -5.3% 1.06x
CharIndexing_korean_unicodeScalars 16673 15794 -5.3% 1.06x
UTF8Decode 314 298 -5.1% 1.05x
ArrayAppendAscii 4028 3824 -5.1% 1.05x (?)
PopFrontArrayGeneric 2002 1901 -5.0% 1.05x
ObjectiveCBridgeFromNSSetAnyObjectForced 5333 5066 -5.0% 1.05x (?)
CharIndexing_punctuated_unicodeScalars 3893 3702 -4.9% 1.05x
No Changes (406)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3621 3767 +4.0% 0.96x
AnyHashableWithAClass 90894 90912 +0.0% 1.00x (?)
Array2D 2856 2857 +0.0% 1.00x (?)
ArrayAppend 1068 1072 +0.4% 1.00x (?)
ArrayAppendArrayOfInt 796 797 +0.1% 1.00x (?)
ArrayAppendAsciiSubstring 24863 24971 +0.4% 1.00x
ArrayAppendFromGeneric 797 799 +0.3% 1.00x
ArrayAppendGenericStructs 1428 1434 +0.4% 1.00x
ArrayAppendLatin1 42975 41765 -2.8% 1.03x
ArrayAppendLatin1Substring 142684 142227 -0.3% 1.00x
ArrayAppendLazyMap 1338 1342 +0.3% 1.00x (?)
ArrayAppendOptionals 1430 1436 +0.4% 1.00x
ArrayAppendRepeatCol 1340 1338 -0.1% 1.00x (?)
ArrayAppendReserved 796 797 +0.1% 1.00x (?)
ArrayAppendSequence 1127 1121 -0.5% 1.01x (?)
ArrayAppendStrings 6214 6217 +0.0% 1.00x (?)
ArrayAppendToFromGeneric 800 803 +0.4% 1.00x
ArrayAppendToGeneric 798 798 +0.0% 1.00x
ArrayAppendUTF16 42677 42358 -0.7% 1.01x
ArrayAppendUTF16Substring 140263 140287 +0.0% 1.00x (?)
ArrayInClass 86 86 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 151 +0.0% 1.00x
ArrayOfGenericRef 4435 4394 -0.9% 1.01x (?)
ArrayOfPOD 183 184 +0.5% 0.99x (?)
ArrayOfRef 4380 4378 -0.0% 1.00x (?)
ArrayPlusEqualArrayOfInt 798 797 -0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5519 5523 +0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 1066 1071 +0.5% 1.00x (?)
ArrayPlusEqualThreeElements 1667 1679 +0.7% 0.99x (?)
ArraySubscript 1528 1566 +2.5% 0.98x
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 209 211 +1.0% 0.99x
ByteSwap 101 104 +3.0% 0.97x
COWArrayGuaranteedParameterOverhead 8747 8750 +0.0% 1.00x (?)
COWTree 3633 3663 +0.8% 0.99x (?)
CSVParsing 657866 658601 +0.1% 1.00x (?)
CSVParsingAlt 811976 817774 +0.7% 0.99x
CSVParsingAltIndices 341816 346675 +1.4% 0.99x
CStringLongAscii 4116 4116 +0.0% 1.00x
CStringLongNonAscii 2341 2365 +1.0% 0.99x (?)
CStringShortAscii 3334 3375 +1.2% 0.99x (?)
CaptureProp 4087 4108 +0.5% 0.99x (?)
CharIndexing_ascii_unicodeScalars_Backwards 16182 16038 -0.9% 1.01x
CharIndexing_chinese_unicodeScalars_Backwards 12263 12150 -0.9% 1.01x
CharIndexing_japanese_unicodeScalars_Backwards 19379 19199 -0.9% 1.01x
CharIndexing_korean_unicodeScalars_Backwards 15701 15563 -0.9% 1.01x
CharIndexing_punctuatedJapanese_unicodeScalars 3106 2959 -4.7% 1.05x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2931 2915 -0.5% 1.01x
CharIndexing_punctuated_unicodeScalars_Backwards 3648 3649 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 13489 13360 -1.0% 1.01x
CharIndexing_tweet_unicodeScalars 33282 32118 -3.5% 1.04x
CharIndexing_tweet_unicodeScalars_Backwards 31898 31622 -0.9% 1.01x
CharIndexing_utf16_unicodeScalars 23020 22875 -0.6% 1.01x
CharIndexing_utf16_unicodeScalars_Backwards 23643 23512 -0.6% 1.01x (?)
CharIteration_ascii_unicodeScalars_Backwards 15352 15104 -1.6% 1.02x
CharIteration_chinese_unicodeScalars_Backwards 11639 11436 -1.7% 1.02x
CharIteration_japanese_unicodeScalars_Backwards 18392 18078 -1.7% 1.02x
CharIteration_korean_unicodeScalars_Backwards 14892 14640 -1.7% 1.02x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2792 2736 -2.0% 1.02x
CharIteration_punctuated_unicodeScalars_Backwards 3488 3422 -1.9% 1.02x
CharIteration_russian_unicodeScalars_Backwards 12801 12584 -1.7% 1.02x
CharIteration_tweet_unicodeScalars_Backwards 30401 29845 -1.8% 1.02x
CharIteration_utf16_unicodeScalars 27998 27680 -1.1% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 18930 18613 -1.7% 1.02x
CharacterLiteralsLarge 6167 5905 -4.2% 1.04x (?)
CharacterLiteralsSmall 220 217 -1.4% 1.01x
CharacterPropertiesPrecomputed 1002 1004 +0.2% 1.00x
Chars 1022 1019 -0.3% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 493 493 +0.0% 1.00x
DataAccessBytes 1141 1140 -0.1% 1.00x (?)
DataAppendArray 5189 5404 +4.1% 0.96x (?)
DataAppendBytes 5031 4969 -1.2% 1.01x (?)
DataAppendDataLargeToLarge 67794 69211 +2.1% 0.98x
DataAppendDataLargeToMedium 35955 35526 -1.2% 1.01x (?)
DataAppendDataLargeToSmall 34944 34520 -1.2% 1.01x (?)
DataAppendDataMediumToLarge 37281 38174 +2.4% 0.98x (?)
DataAppendDataMediumToSmall 6033 5978 -0.9% 1.01x (?)
DataAppendDataSmallToLarge 37027 37409 +1.0% 0.99x (?)
DataAppendDataSmallToMedium 6274 6111 -2.6% 1.03x
DataAppendDataSmallToSmall 5894 5883 -0.2% 1.00x (?)
DataCopyBytes 468 446 -4.7% 1.05x (?)
DataMutateBytes 3863 3949 +2.2% 0.98x
DataReplaceLargeBuffer 57499 57675 +0.3% 1.00x (?)
DataReplaceSmall 5665 5687 +0.4% 1.00x (?)
DataReplaceSmallBuffer 8685 8604 -0.9% 1.01x (?)
DataReset 2863 2850 -0.5% 1.00x (?)
DataSubscript 218 220 +0.9% 0.99x
DictOfArraysToArrayOfDicts 783 786 +0.4% 1.00x (?)
Dictionary 504 504 +0.0% 1.00x
Dictionary2 632 633 +0.2% 1.00x
Dictionary2OfObjects 2080 2089 +0.4% 1.00x (?)
Dictionary3 221 222 +0.5% 1.00x
Dictionary3OfObjects 733 736 +0.4% 1.00x (?)
Dictionary4 322 321 -0.3% 1.00x
Dictionary4Legacy 691 691 +0.0% 1.00x
Dictionary4OfObjects 436 439 +0.7% 0.99x
Dictionary4OfObjectsLegacy 916 941 +2.7% 0.97x
DictionaryBridge 1231 1242 +0.9% 0.99x (?)
DictionaryBridgeToObjC_Bridge 19 19 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 171 167 -2.3% 1.02x (?)
DictionaryCopy 105587 107660 +2.0% 0.98x
DictionaryFilter 104782 105191 +0.4% 1.00x (?)
DictionaryGroup 217 220 +1.4% 0.99x
DictionaryGroupOfObjects 2133 2120 -0.6% 1.01x (?)
DictionaryKeysContainsCocoa 39 39 +0.0% 1.00x
DictionaryKeysContainsNative 32 31 -3.1% 1.03x (?)
DictionaryLiteral 1917 1917 +0.0% 1.00x
DictionaryOfObjects 2381 2377 -0.2% 1.00x (?)
DictionaryRemove 4223 4227 +0.1% 1.00x (?)
DictionaryRemoveOfObjects 25751 25901 +0.6% 0.99x (?)
DictionarySubscriptDefaultMutation 264 264 +0.0% 1.00x
DictionarySubscriptDefaultMutationArray 606 617 +1.8% 0.98x
DictionarySubscriptDefaultMutationArrayOfObjects 4028 4054 +0.6% 0.99x (?)
DictionarySubscriptDefaultMutationOfObjects 1716 1705 -0.6% 1.01x (?)
DictionarySwap 1043 1050 +0.7% 0.99x
DictionarySwapAt 6981 7017 +0.5% 0.99x (?)
DictionarySwapAtOfObjects 52029 52895 +1.7% 0.98x
DictionarySwapOfObjects 8843 8701 -1.6% 1.02x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 65149 64651 -0.8% 1.01x
DropFirstAnySeqCRangeIter 93 93 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 93 93 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1843 1842 -0.1% 1.00x (?)
DropFirstAnySequenceLazy 1842 1843 +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 2712 2683 -1.1% 1.01x
DropFirstSequenceLazy 2784 2776 -0.3% 1.00x
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 21659 21555 -0.5% 1.00x (?)
DropLastAnySeqCRangeIter 3297 3311 +0.4% 1.00x
DropLastAnySeqCRangeIterLazy 3301 3310 +0.3% 1.00x
DropLastAnySeqCntRange 11 11 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 11 11 +0.0% 1.00x
DropLastAnySequence 4956 4944 -0.2% 1.00x (?)
DropLastAnySequenceLazy 5064 5039 -0.5% 1.00x (?)
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
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 1861 1860 -0.1% 1.00x
DropWhileAnySequenceLazy 1855 1855 +0.0% 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 2206 -0.6% 1.01x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 51 50 -2.0% 1.02x
EqualSubstringString 51 50 -2.0% 1.02x
EqualSubstringSubstring 50 50 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 51 50 -2.0% 1.02x
ErrorHandling 1183 1179 -0.3% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 200405 201426 +0.5% 0.99x
FilterEvenUsingReduce 1319 1334 +1.1% 0.99x (?)
FilterEvenUsingReduceInto 150 157 +4.7% 0.96x
FloatingPointPrinting_Double_description_small 21700 21562 -0.6% 1.01x
FloatingPointPrinting_Double_description_uniform 21024 21583 +2.7% 0.97x
FloatingPointPrinting_Double_interpolated 61877 63535 +2.7% 0.97x (?)
FloatingPointPrinting_Float80_description_small 28547 28582 +0.1% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 27728 27718 -0.0% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 66234 65997 -0.4% 1.00x (?)
FloatingPointPrinting_Float_description_small 5528 5380 -2.7% 1.03x
FloatingPointPrinting_Float_description_uniform 5369 5332 -0.7% 1.01x
FloatingPointPrinting_Float_interpolated 38746 38786 +0.1% 1.00x (?)
FrequenciesUsingReduce 4864 5048 +3.8% 0.96x
FrequenciesUsingReduceInto 1506 1519 +0.9% 0.99x (?)
Hanoi 2178 2208 +1.4% 0.99x
HashTest 940 951 +1.2% 0.99x
Histogram 644 650 +0.9% 0.99x
Integrate 337 338 +0.3% 1.00x
IterateData 1504 1501 -0.2% 1.00x
Join 166 161 -3.0% 1.03x
LazilyFilteredArrayContains 36659 36673 +0.0% 1.00x (?)
LazilyFilteredArrays 65150 66736 +2.4% 0.98x (?)
LazilyFilteredRange 3886 3884 -0.1% 1.00x (?)
LessSubstringSubstring 50 50 +0.0% 1.00x
LessSubstringSubstringGenericComparable 50 50 +0.0% 1.00x
LinkedList 7590 7609 +0.3% 1.00x
LuhnAlgoEager 453 450 -0.7% 1.01x
LuhnAlgoLazy 453 452 -0.2% 1.00x
MapReduce 371 370 -0.3% 1.00x (?)
MapReduceAnyCollection 371 370 -0.3% 1.00x (?)
MapReduceAnyCollectionShort 2035 2033 -0.1% 1.00x (?)
MapReduceClass 3008 3001 -0.2% 1.00x
MapReduceClassShort 4568 4637 +1.5% 0.99x
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 38 37 -2.6% 1.03x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 449 460 +2.4% 0.98x
MapReduceShort 2008 2021 +0.6% 0.99x
MapReduceShortString 20 21 +5.0% 0.95x
MapReduceString 49 48 -2.0% 1.02x
Memset 215 220 +2.3% 0.98x (?)
MonteCarloE 10167 10289 +1.2% 0.99x
MonteCarloPi 42727 42684 -0.1% 1.00x (?)
NSError 165 167 +1.2% 0.99x (?)
NSStringConversion 702 686 -2.3% 1.02x
NibbleSort 3696 3695 -0.0% 1.00x (?)
NopDeinit 30169 30157 -0.0% 1.00x (?)
ObjectAllocation 132 132 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 26315 25211 -4.2% 1.04x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 46375 44407 -4.2% 1.04x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 44268 42591 -3.8% 1.04x (?)
ObjectiveCBridgeFromNSSetAnyObject 49002 50637 +3.3% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 70361 70372 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSString 1236 1219 -1.4% 1.01x
ObjectiveCBridgeFromNSStringForced 2718 2709 -0.3% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6283 6478 +3.1% 0.97x (?)
ObjectiveCBridgeStubDateMutation 401 401 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 34178 33671 -1.5% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 6588 6692 +1.6% 0.98x (?)
ObjectiveCBridgeStubFromNSString 1016 1005 -1.1% 1.01x (?)
ObjectiveCBridgeStubFromNSStringRef 158 164 +3.8% 0.96x
ObjectiveCBridgeStubNSDataAppend 2553 2590 +1.4% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 13186 13188 +0.0% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 39067 39138 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSDate 15404 15242 -1.1% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3405 3423 +0.5% 0.99x (?)
ObjectiveCBridgeStubToNSString 2346 2344 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 116 116 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 290129 285243 -1.7% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 288833 275644 -4.6% 1.05x (?)
ObjectiveCBridgeToNSArray 15311 14978 -2.2% 1.02x (?)
ObjectiveCBridgeToNSSet 18281 17868 -2.3% 1.02x (?)
ObjectiveCBridgeToNSString 453 452 -0.2% 1.00x
ObserverClosure 2156 2168 +0.6% 0.99x
ObserverForwarderStruct 1202 1222 +1.7% 0.98x
ObserverPartiallyAppliedMethod 3716 3702 -0.4% 1.00x (?)
ObserverUnappliedMethod 2460 2462 +0.1% 1.00x (?)
OpaqueConsumingUsers 4179 4182 +0.1% 1.00x
OpenClose 63 62 -1.6% 1.02x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 6684 6827 +2.1% 0.98x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1962 1996 +1.7% 0.98x (?)
PopFrontUnsafePointer 9496 9509 +0.1% 1.00x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 65604 65061 -0.8% 1.01x
PrefixAnySeqCRangeIter 40 40 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 40 40 +0.0% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 1379 1379 +0.0% 1.00x
PrefixAnySequenceLazy 1378 1378 +0.0% 1.00x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 2213 2219 +0.3% 1.00x
PrefixSequenceLazy 2283 2276 -0.3% 1.00x
PrefixWhileAnyCollection 147 147 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 71 71 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 382 385 +0.8% 0.99x
PrefixWhileAnySeqCRangeIterLazy 89 89 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 142 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixWhileAnySequence 1535 1540 +0.3% 1.00x
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 357 361 +1.1% 0.99x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 909 936 +3.0% 0.97x
PrimsSplit 902 936 +3.8% 0.96x
QueueConcrete 1150 1149 -0.1% 1.00x (?)
QueueGeneric 1147 1142 -0.4% 1.00x
RGBHistogram 2995 3014 +0.6% 0.99x
RGBHistogramOfObjects 23749 23709 -0.2% 1.00x (?)
Radix2CooleyTukey 12626 12483 -1.1% 1.01x (?)
Radix2CooleyTukeyf 9067 8917 -1.7% 1.02x (?)
RandomDoubleDef 26977 26773 -0.8% 1.01x (?)
RandomDoubleLCG 2213 2167 -2.1% 1.02x
RandomIntegersDef 24584 24482 -0.4% 1.00x (?)
RandomIntegersLCG 173 173 +0.0% 1.00x
RandomShuffleDef 809548 805603 -0.5% 1.00x
RandomShuffleLCG 57531 57088 -0.8% 1.01x (?)
RangeAssignment 337 351 +4.2% 0.96x (?)
RangeIterationSigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 1006 1054 +4.8% 0.95x
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 46 47 +2.2% 0.98x
RemoveWhereFilterString 248 248 +0.0% 1.00x
RemoveWhereFilterStrings 437 437 +0.0% 1.00x
RemoveWhereMoveInts 14 14 +0.0% 1.00x
RemoveWhereMoveStrings 708 709 +0.1% 1.00x (?)
RemoveWhereQuadraticInts 1294 1296 +0.2% 1.00x
RemoveWhereQuadraticString 381 380 -0.3% 1.00x
RemoveWhereQuadraticStrings 2766 2764 -0.1% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 859 860 +0.1% 1.00x (?)
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16970 16634 -2.0% 1.02x
ReversedDictionary 262 262 +0.0% 1.00x
RomanNumbers 84178 85896 +2.0% 0.98x
SequenceAlgosAnySequence 12137 11926 -1.7% 1.02x (?)
SequenceAlgosArray 1578 1574 -0.3% 1.00x (?)
SequenceAlgosContiguousArray 1579 1578 -0.1% 1.00x (?)
SequenceAlgosList 1353 1355 +0.1% 1.00x
SequenceAlgosRange 2576 2579 +0.1% 1.00x
SequenceAlgosUnfoldSequence 1102 1102 +0.0% 1.00x
SetExclusiveOr 5153 5019 -2.6% 1.03x
SetExclusiveOr_OfObjects 11617 11556 -0.5% 1.01x (?)
SetIntersect 686 681 -0.7% 1.01x
SetIntersect_OfObjects 1678 1669 -0.5% 1.01x (?)
SetIsSubsetOf 340 340 +0.0% 1.00x
SetIsSubsetOf_OfObjects 438 449 +2.5% 0.98x
SetUnion 4526 4390 -3.0% 1.03x
SetUnion_OfObjects 10039 9957 -0.8% 1.01x
SortLargeExistentials 5448 5579 +2.4% 0.98x
SortLettersInPlace 997 999 +0.2% 1.00x (?)
SortSortedStrings 838 867 +3.5% 0.97x
SortStrings 1772 1779 +0.4% 1.00x
SortStringsUnicode 2510 2544 +1.4% 0.99x
StackPromo 24626 24485 -0.6% 1.01x
StrComplexWalk 1780 1776 -0.2% 1.00x
StrToInt 3129 3170 +1.3% 0.99x
StringAdder 532 538 +1.1% 0.99x
StringBuilder 443 444 +0.2% 1.00x
StringBuilderLong 1360 1324 -2.6% 1.03x (?)
StringBuilderSmallReservingCapacity 458 459 +0.2% 1.00x
StringComparison_abnormal 761 799 +5.0% 0.95x
StringComparison_ascii 1019 1012 -0.7% 1.01x
StringComparison_emoji 852 855 +0.4% 1.00x
StringComparison_fastPrenormal 839 845 +0.7% 0.99x
StringComparison_latin1 652 661 +1.4% 0.99x
StringComparison_longSharedPrefix 950 963 +1.4% 0.99x
StringComparison_nonBMPSlowestPrenormal 1669 1694 +1.5% 0.99x
StringComparison_slowerPrenormal 1804 1799 -0.3% 1.00x
StringComparison_zalgo 112417 112283 -0.1% 1.00x (?)
StringEdits 169432 174269 +2.9% 0.97x
StringEnumRawValueInitialization 871 862 -1.0% 1.01x (?)
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2205 2233 +1.3% 0.99x
StringHasPrefixUnicode 99472 100762 +1.3% 0.99x (?)
StringHasSuffixAscii 2262 2291 +1.3% 0.99x
StringHasSuffixUnicode 100709 99905 -0.8% 1.01x (?)
StringHashing_abnormal 1378 1342 -2.6% 1.03x (?)
StringHashing_ascii 33 34 +3.0% 0.97x
StringHashing_emoji 2013 1937 -3.8% 1.04x
StringHashing_fastPrenormal 8467 8529 +0.7% 0.99x
StringHashing_latin1 2594 2564 -1.2% 1.01x (?)
StringHashing_longSharedPrefix 7899 7795 -1.3% 1.01x
StringHashing_slowerPrenormal 2765 2732 -1.2% 1.01x
StringHashing_zalgo 3550 3496 -1.5% 1.02x
StringInterpolation 9307 9119 -2.0% 1.02x (?)
StringInterpolationManySmallSegments 18457 18502 +0.2% 1.00x (?)
StringInterpolationSmall 4193 4196 +0.1% 1.00x (?)
StringMatch 12113 12279 +1.4% 0.99x
StringRemoveDupes 485 482 -0.6% 1.01x
StringUTF16Builder 2632 2709 +2.9% 0.97x
StringUTF16SubstringBuilder 6012 5804 -3.5% 1.04x (?)
StringWalk 1554 1555 +0.1% 1.00x
StringWithCString 46375 46396 +0.0% 1.00x (?)
StringWordBuilder 2305 2264 -1.8% 1.02x
StringWordBuilderReservingCapacity 1934 1921 -0.7% 1.01x (?)
SubstringEqualString 637 644 +1.1% 0.99x (?)
SubstringEquatable 1486 1497 +0.7% 0.99x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 74 74 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 21678 21576 -0.5% 1.00x (?)
SuffixAnySeqCRangeIter 3597 3617 +0.6% 0.99x
SuffixAnySeqCRangeIterLazy 3597 3616 +0.5% 0.99x
SuffixAnySeqCntRange 17 17 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 17 17 +0.0% 1.00x
SuffixAnySequence 4919 4934 +0.3% 1.00x (?)
SuffixAnySequenceLazy 5023 5055 +0.6% 0.99x (?)
SuffixSequence 3623 3657 +0.9% 0.99x
SuffixSequenceLazy 3619 3646 +0.7% 0.99x
SumUsingReduce 102 102 +0.0% 1.00x
SumUsingReduceInto 102 102 +0.0% 1.00x
SuperChars 20208 20187 -0.1% 1.00x (?)
TwoSum 1457 1453 -0.3% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode_InitDecoding 1359 1353 -0.4% 1.00x
UTF8Decode_InitDecoding_ascii 655 656 +0.2% 1.00x (?)
UTF8Decode_InitFromBytes 1190 1202 +1.0% 0.99x (?)
UTF8Decode_InitFromBytes_ascii 527 508 -3.6% 1.04x (?)
UTF8Decode_InitFromData 1251 1237 -1.1% 1.01x (?)
UTF8Decode_InitFromData_ascii 815 779 -4.4% 1.05x (?)
Walsh 435 446 +2.5% 0.98x
WordCountHistogramASCII 7944 8044 +1.3% 0.99x (?)
WordCountHistogramUTF16 11309 11332 +0.2% 1.00x (?)
WordCountUniqueASCII 2111 2071 -1.9% 1.02x
WordCountUniqueUTF16 4630 4699 +1.5% 0.99x
XorLoop 403 396 -1.7% 1.02x
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@airspeedswift
Copy link
Member

@swift-ci please benchmark

@airspeedswift
Copy link
Member

@swift-ci please test linux platform

@airspeedswift
Copy link
Member

Running full benchmark, some of those regressions are notoriously noisy but you never know.

@swift-ci
Copy link
Contributor

swift-ci commented Jul 8, 2018

Build failed
Swift Test Linux Platform
Git Sha - 0ccf21f

@airspeedswift
Copy link
Member

Hmm ok that's a genuine linux failure rather than the spurious one this time.

@swift-ci
Copy link
Contributor

swift-ci commented Jul 8, 2018

Build comment file:

Optimized (O)

Regression (10)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 417 599 +43.6% 0.70x
COWArrayGuaranteedParameterOverhead 8752 10173 +16.2% 0.86x (?)
ChainedFilterMap 1247 1407 +12.8% 0.89x
DropLastCountableRangeLazy 11 12 +9.1% 0.92x
DataCount 34 37 +8.8% 0.92x
RC4 149 161 +8.1% 0.93x
FilterEvenUsingReduceInto 147 157 +6.8% 0.94x (?)
DropLastSequence 634 670 +5.7% 0.95x
DropLastSequenceLazy 635 671 +5.7% 0.95x
AngryPhonebook 3586 3784 +5.5% 0.95x (?)
Improvement (13)
TEST OLD NEW DELTA SPEEDUP
BinaryFloatingPointPropertiesBinade 31 25 -19.4% 1.24x
PointerArithmetics 34347 31496 -8.3% 1.09x
Calculator 204 190 -6.9% 1.07x
CharIteration_tweet_unicodeScalars 42691 40057 -6.2% 1.07x
CharIteration_chinese_unicodeScalars 16342 15353 -6.1% 1.06x
CharIteration_japanese_unicodeScalars 25872 24320 -6.0% 1.06x
CharIteration_punctuated_unicodeScalars 4837 4558 -5.8% 1.06x
CharIteration_korean_unicodeScalars 20938 19747 -5.7% 1.06x
CharIteration_ascii_unicodeScalars 21603 20394 -5.6% 1.06x
CharIteration_russian_unicodeScalars 17978 16975 -5.6% 1.06x
CharIteration_punctuatedJapanese_unicodeScalars 3851 3639 -5.5% 1.06x
BinaryFloatingPointPropertiesUlp 37 35 -5.4% 1.06x
UTF8Decode 313 298 -4.8% 1.05x
No Changes (435)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 90962 90779 -0.2% 1.00x (?)
Array2D 2852 2858 +0.2% 1.00x (?)
ArrayAppend 1066 1064 -0.2% 1.00x (?)
ArrayAppendArrayOfInt 784 795 +1.4% 0.99x (?)
ArrayAppendAscii 3799 3835 +0.9% 0.99x (?)
ArrayAppendAsciiSubstring 24837 24952 +0.5% 1.00x
ArrayAppendFromGeneric 781 787 +0.8% 0.99x (?)
ArrayAppendGenericStructs 1398 1425 +1.9% 0.98x (?)
ArrayAppendLatin1 42101 42251 +0.4% 1.00x (?)
ArrayAppendLatin1Substring 141523 142363 +0.6% 0.99x
ArrayAppendLazyMap 1333 1340 +0.5% 0.99x (?)
ArrayAppendOptionals 1403 1419 +1.1% 0.99x (?)
ArrayAppendRepeatCol 1336 1330 -0.4% 1.00x (?)
ArrayAppendReserved 797 797 +0.0% 1.00x
ArrayAppendSequence 1120 1113 -0.6% 1.01x (?)
ArrayAppendStrings 6215 6213 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 795 795 +0.0% 1.00x
ArrayAppendToGeneric 798 793 -0.6% 1.01x (?)
ArrayAppendUTF16 42589 42226 -0.9% 1.01x (?)
ArrayAppendUTF16Substring 139674 139893 +0.2% 1.00x (?)
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 148 -2.0% 1.02x (?)
ArrayOfGenericRef 4385 4381 -0.1% 1.00x (?)
ArrayOfPOD 181 183 +1.1% 0.99x (?)
ArrayOfRef 4338 4365 +0.6% 0.99x (?)
ArrayPlusEqualArrayOfInt 789 795 +0.8% 0.99x (?)
ArrayPlusEqualFiveElementCollection 5463 5476 +0.2% 1.00x (?)
ArrayPlusEqualSingleElementCollection 1063 1065 +0.2% 1.00x (?)
ArrayPlusEqualThreeElements 1664 1656 -0.5% 1.00x (?)
ArraySubscript 1528 1548 +1.3% 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 211 +0.0% 1.00x
ByteSwap 101 103 +2.0% 0.98x (?)
COWTree 3655 3656 +0.0% 1.00x (?)
CSVParsing 655362 654764 -0.1% 1.00x (?)
CSVParsingAlt 809134 809681 +0.1% 1.00x (?)
CSVParsingAltIndices 340729 342169 +0.4% 1.00x (?)
CStringLongAscii 4110 4114 +0.1% 1.00x (?)
CStringLongNonAscii 2342 2339 -0.1% 1.00x (?)
CStringShortAscii 3343 3354 +0.3% 1.00x (?)
CaptureProp 4034 4098 +1.6% 0.98x
CharIndexing_ascii_unicodeScalars 16966 16294 -4.0% 1.04x (?)
CharIndexing_ascii_unicodeScalars_Backwards 16011 16022 +0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars 12849 12334 -4.0% 1.04x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12130 12142 +0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars 20316 19489 -4.1% 1.04x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19158 19193 +0.2% 1.00x (?)
CharIndexing_korean_unicodeScalars 16447 15861 -3.6% 1.04x (?)
CharIndexing_korean_unicodeScalars_Backwards 15522 15547 +0.2% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 3071 2957 -3.7% 1.04x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2915 2915 +0.0% 1.00x
CharIndexing_punctuated_unicodeScalars 3840 3701 -3.6% 1.04x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3624 3643 +0.5% 0.99x (?)
CharIndexing_russian_unicodeScalars 14142 13564 -4.1% 1.04x (?)
CharIndexing_russian_unicodeScalars_Backwards 13344 13353 +0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars 32726 32099 -1.9% 1.02x (?)
CharIndexing_tweet_unicodeScalars_Backwards 31218 31632 +1.3% 0.99x
CharIndexing_utf16_unicodeScalars 22954 22943 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 23243 23275 +0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 15138 15098 -0.3% 1.00x
CharIteration_chinese_unicodeScalars_Backwards 11470 11435 -0.3% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 18122 18078 -0.2% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 14679 14640 -0.3% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2749 2733 -0.6% 1.01x
CharIteration_punctuated_unicodeScalars_Backwards 3438 3420 -0.5% 1.01x (?)
CharIteration_russian_unicodeScalars_Backwards 12613 12583 -0.2% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 29958 29825 -0.4% 1.00x (?)
CharIteration_utf16_unicodeScalars 27946 27643 -1.1% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 18293 18708 +2.3% 0.98x
CharacterLiteralsLarge 5880 5845 -0.6% 1.01x (?)
CharacterLiteralsSmall 220 217 -1.4% 1.01x
CharacterPropertiesFetch 4620 4666 +1.0% 0.99x (?)
CharacterPropertiesPrecomputed 1015 1018 +0.3% 1.00x (?)
CharacterPropertiesStashed 1485 1488 +0.2% 1.00x (?)
CharacterPropertiesStashedMemo 1545 1535 -0.6% 1.01x (?)
Chars 1020 1019 -0.1% 1.00x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 486 491 +1.0% 0.99x (?)
DataAccessBytes 1143 1140 -0.3% 1.00x (?)
DataAppendArray 5304 5215 -1.7% 1.02x (?)
DataAppendBytes 4745 4730 -0.3% 1.00x (?)
DataAppendDataLargeToLarge 67058 66205 -1.3% 1.01x (?)
DataAppendDataLargeToMedium 35334 34967 -1.0% 1.01x (?)
DataAppendDataLargeToSmall 34103 34029 -0.2% 1.00x (?)
DataAppendDataMediumToLarge 37502 37438 -0.2% 1.00x (?)
DataAppendDataMediumToMedium 6459 6515 +0.9% 0.99x (?)
DataAppendDataMediumToSmall 5895 5861 -0.6% 1.01x (?)
DataAppendDataSmallToLarge 37067 36723 -0.9% 1.01x (?)
DataAppendDataSmallToMedium 5912 5857 -0.9% 1.01x (?)
DataAppendDataSmallToSmall 5675 5643 -0.6% 1.01x (?)
DataAppendSequence 20407 20204 -1.0% 1.01x (?)
DataCopyBytes 437 436 -0.2% 1.00x (?)
DataMutateBytes 3880 3903 +0.6% 0.99x (?)
DataReplaceLarge 36739 36786 +0.1% 1.00x (?)
DataReplaceLargeBuffer 56903 57134 +0.4% 1.00x (?)
DataReplaceMedium 7617 7481 -1.8% 1.02x (?)
DataReplaceMediumBuffer 11079 11068 -0.1% 1.00x (?)
DataReplaceSmall 5624 5652 +0.5% 1.00x (?)
DataReplaceSmallBuffer 8677 8408 -3.1% 1.03x (?)
DataReset 2793 2847 +1.9% 0.98x (?)
DataSetCount 550 543 -1.3% 1.01x (?)
DataSubscript 220 220 +0.0% 1.00x
DictOfArraysToArrayOfDicts 778 778 +0.0% 1.00x
Dictionary 509 502 -1.4% 1.01x (?)
Dictionary2 633 627 -0.9% 1.01x
Dictionary2OfObjects 2076 2062 -0.7% 1.01x (?)
Dictionary3 221 221 +0.0% 1.00x
Dictionary3OfObjects 734 737 +0.4% 1.00x (?)
Dictionary4 323 322 -0.3% 1.00x (?)
Dictionary4Legacy 714 696 -2.5% 1.03x (?)
Dictionary4OfObjects 440 436 -0.9% 1.01x (?)
Dictionary4OfObjectsLegacy 906 912 +0.7% 0.99x (?)
DictionaryBridge 1201 1151 -4.2% 1.04x (?)
DictionaryBridgeToObjC_Access 936 948 +1.3% 0.99x (?)
DictionaryBridgeToObjC_Bridge 19 19 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 166 166 +0.0% 1.00x
DictionaryCopy 105013 105630 +0.6% 0.99x (?)
DictionaryFilter 104579 104574 -0.0% 1.00x (?)
DictionaryGroup 215 217 +0.9% 0.99x (?)
DictionaryGroupOfObjects 2126 2110 -0.8% 1.01x (?)
DictionaryKeysContainsCocoa 39 39 +0.0% 1.00x
DictionaryKeysContainsNative 31 32 +3.2% 0.97x (?)
DictionaryLiteral 1907 1903 -0.2% 1.00x (?)
DictionaryOfObjects 2364 2369 +0.2% 1.00x (?)
DictionaryRemove 4234 4222 -0.3% 1.00x (?)
DictionaryRemoveOfObjects 25775 25789 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutation 265 266 +0.4% 1.00x (?)
DictionarySubscriptDefaultMutationArray 605 616 +1.8% 0.98x
DictionarySubscriptDefaultMutationArrayOfObjects 4001 4002 +0.0% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1705 1706 +0.1% 1.00x (?)
DictionarySwap 1035 1042 +0.7% 0.99x (?)
DictionarySwapAt 7055 7095 +0.6% 0.99x (?)
DictionarySwapAtOfObjects 52128 51939 -0.4% 1.00x (?)
DictionarySwapOfObjects 8957 8995 +0.4% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 64760 64796 +0.1% 1.00x (?)
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 1841 1842 +0.1% 1.00x (?)
DropFirstAnySequenceLazy 1841 1841 +0.0% 1.00x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2680 2679 -0.0% 1.00x (?)
DropFirstSequenceLazy 2773 2774 +0.0% 1.00x (?)
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 21622 21437 -0.9% 1.01x (?)
DropLastAnySeqCRangeIter 3291 3284 -0.2% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3288 3281 -0.2% 1.00x (?)
DropLastAnySeqCntRange 11 11 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 11 11 +0.0% 1.00x
DropLastAnySequence 4951 4936 -0.3% 1.00x (?)
DropLastAnySequenceLazy 5040 5027 -0.3% 1.00x (?)
DropLastCountableRange 11 11 +0.0% 1.00x
DropWhileAnyCollection 100 100 +0.0% 1.00x
DropWhileAnyCollectionLazy 130 130 +0.0% 1.00x
DropWhileAnySeqCRangeIter 75 75 +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 1859 -0.1% 1.00x (?)
DropWhileAnySequenceLazy 1854 1853 -0.1% 1.00x (?)
DropWhileArrayLazy 88 88 +0.0% 1.00x
DropWhileCountableRange 35 36 +2.9% 0.97x
DropWhileCountableRangeLazy 105 105 +0.0% 1.00x
DropWhileSequence 2219 2202 -0.8% 1.01x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 51 50 -2.0% 1.02x
EqualSubstringString 51 50 -2.0% 1.02x
EqualSubstringSubstring 50 50 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 50 50 +0.0% 1.00x
ErrorHandling 1191 1195 +0.3% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 202060 203616 +0.8% 0.99x (?)
FilterEvenUsingReduce 1291 1313 +1.7% 0.98x (?)
FloatingPointPrinting_Double_description_small 21676 21618 -0.3% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 21118 21101 -0.1% 1.00x (?)
FloatingPointPrinting_Double_interpolated 62070 61912 -0.3% 1.00x (?)
FloatingPointPrinting_Float80_description_small 28363 28542 +0.6% 0.99x (?)
FloatingPointPrinting_Float80_description_uniform 27667 27550 -0.4% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 65579 65085 -0.8% 1.01x (?)
FloatingPointPrinting_Float_description_small 5396 5385 -0.2% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 5504 5334 -3.1% 1.03x
FloatingPointPrinting_Float_interpolated 38547 38383 -0.4% 1.00x (?)
FrequenciesUsingReduce 4852 4874 +0.5% 1.00x (?)
FrequenciesUsingReduceInto 1502 1528 +1.7% 0.98x (?)
Hanoi 2170 2192 +1.0% 0.99x (?)
HashTest 938 936 -0.2% 1.00x (?)
Histogram 647 645 -0.3% 1.00x (?)
Integrate 335 334 -0.3% 1.00x (?)
IterateData 1496 1492 -0.3% 1.00x
Join 166 161 -3.0% 1.03x
LazilyFilteredArrayContains 36653 36656 +0.0% 1.00x (?)
LazilyFilteredArrays 64714 64528 -0.3% 1.00x (?)
LazilyFilteredRange 3873 3870 -0.1% 1.00x (?)
LessSubstringSubstring 51 50 -2.0% 1.02x
LessSubstringSubstringGenericComparable 51 50 -2.0% 1.02x
LinkedList 7539 7559 +0.3% 1.00x (?)
LuhnAlgoEager 450 448 -0.4% 1.00x (?)
LuhnAlgoLazy 451 446 -1.1% 1.01x (?)
MapReduce 369 371 +0.5% 0.99x (?)
MapReduceAnyCollection 369 371 +0.5% 0.99x (?)
MapReduceAnyCollectionShort 2051 2018 -1.6% 1.02x (?)
MapReduceClass 3003 3000 -0.1% 1.00x (?)
MapReduceClassShort 4589 4600 +0.2% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 36 36 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 450 453 +0.7% 0.99x (?)
MapReduceShort 1991 1964 -1.4% 1.01x (?)
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 48 48 +0.0% 1.00x
Memset 215 214 -0.5% 1.00x (?)
MonteCarloE 10152 10272 +1.2% 0.99x
MonteCarloPi 42661 42708 +0.1% 1.00x (?)
NSDictionaryCastToSwift 6701 6915 +3.2% 0.97x (?)
NSError 165 165 +0.0% 1.00x
NSStringConversion 686 694 +1.2% 0.99x (?)
NibbleSort 3695 3696 +0.0% 1.00x (?)
NopDeinit 30161 30150 -0.0% 1.00x (?)
ObjectAllocation 132 132 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 25872 24765 -4.3% 1.04x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4749 4547 -4.3% 1.04x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45408 45040 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 43193 43030 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 108048 109871 +1.7% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 48243 47394 -1.8% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4948 4896 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 66711 66399 -0.5% 1.00x (?)
ObjectiveCBridgeFromNSString 1180 1234 +4.6% 0.96x (?)
ObjectiveCBridgeFromNSStringForced 2681 2692 +0.4% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6378 6420 +0.7% 0.99x (?)
ObjectiveCBridgeStubDateMutation 400 400 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 33335 32278 -3.2% 1.03x (?)
ObjectiveCBridgeStubFromNSDate 6565 6597 +0.5% 1.00x (?)
ObjectiveCBridgeStubFromNSString 1005 1011 +0.6% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 158 164 +3.8% 0.96x
ObjectiveCBridgeStubNSDataAppend 2567 2561 -0.2% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 12951 12893 -0.4% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 39101 39532 +1.1% 0.99x (?)
ObjectiveCBridgeStubToNSDate 14752 14647 -0.7% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3410 3418 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSString 2339 2346 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 115 115 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 270074 264185 -2.2% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 274675 269932 -1.7% 1.02x (?)
ObjectiveCBridgeToNSArray 14377 14864 +3.4% 0.97x (?)
ObjectiveCBridgeToNSDictionary 26651 25829 -3.1% 1.03x (?)
ObjectiveCBridgeToNSSet 17173 17547 +2.2% 0.98x (?)
ObjectiveCBridgeToNSString 452 455 +0.7% 0.99x (?)
ObserverClosure 2163 2143 -0.9% 1.01x (?)
ObserverForwarderStruct 1204 1204 +0.0% 1.00x
ObserverPartiallyAppliedMethod 3724 3707 -0.5% 1.00x (?)
ObserverUnappliedMethod 2454 2442 -0.5% 1.00x (?)
OpaqueConsumingUsers 4179 4178 -0.0% 1.00x (?)
OpenClose 62 62 +0.0% 1.00x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 6686 6809 +1.8% 0.98x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1890 1882 -0.4% 1.00x (?)
PopFrontArrayGeneric 1905 1902 -0.2% 1.00x (?)
PopFrontUnsafePointer 9104 8757 -3.8% 1.04x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 64814 64804 -0.0% 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 1378 1378 +0.0% 1.00x
PrefixAnySequenceLazy 1377 1378 +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 2213 2218 +0.2% 1.00x (?)
PrefixSequenceLazy 2274 2275 +0.0% 1.00x (?)
PrefixWhileAnyCollection 146 146 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 71 71 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 379 385 +1.6% 0.98x (?)
PrefixWhileAnySeqCRangeIterLazy 89 89 +0.0% 1.00x
PrefixWhileAnySeqCntRange 141 142 +0.7% 0.99x (?)
PrefixWhileAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixWhileAnySequence 1533 1538 +0.3% 1.00x (?)
PrefixWhileAnySequenceLazy 1391 1391 +0.0% 1.00x
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 356 361 +1.4% 0.99x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 897 910 +1.4% 0.99x (?)
PrimsSplit 901 912 +1.2% 0.99x (?)
QueueConcrete 1149 1146 -0.3% 1.00x (?)
QueueGeneric 1146 1138 -0.7% 1.01x (?)
RGBHistogram 3011 2992 -0.6% 1.01x (?)
RGBHistogramOfObjects 23579 23566 -0.1% 1.00x (?)
Radix2CooleyTukey 12230 12419 +1.5% 0.98x (?)
Radix2CooleyTukeyf 8904 8938 +0.4% 1.00x (?)
RandomDoubleDef 27146 26711 -1.6% 1.02x
RandomDoubleLCG 2211 2287 +3.4% 0.97x
RandomIntegersDef 24477 24349 -0.5% 1.01x
RandomIntegersLCG 173 173 +0.0% 1.00x
RandomShuffleDef 810577 810507 -0.0% 1.00x (?)
RandomShuffleLCG 56678 57274 +1.1% 0.99x (?)
RangeAssignment 337 351 +4.2% 0.96x
RangeIterationSigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 1003 1050 +4.7% 0.96x
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 46 47 +2.2% 0.98x (?)
RemoveWhereFilterString 247 248 +0.4% 1.00x (?)
RemoveWhereFilterStrings 437 437 +0.0% 1.00x
RemoveWhereMoveInts 14 14 +0.0% 1.00x
RemoveWhereMoveStrings 708 708 +0.0% 1.00x
RemoveWhereQuadraticInts 1293 1295 +0.2% 1.00x (?)
RemoveWhereQuadraticString 372 372 +0.0% 1.00x
RemoveWhereQuadraticStrings 2759 2757 -0.1% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 859 858 -0.1% 1.00x (?)
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16828 16861 +0.2% 1.00x (?)
ReversedDictionary 263 262 -0.4% 1.00x (?)
RomanNumbers 81588 85247 +4.5% 0.96x
SequenceAlgosAnySequence 12213 11911 -2.5% 1.03x (?)
SequenceAlgosArray 1575 1571 -0.3% 1.00x (?)
SequenceAlgosContiguousArray 1572 1565 -0.4% 1.00x (?)
SequenceAlgosList 1353 1356 +0.2% 1.00x (?)
SequenceAlgosRange 2576 2576 +0.0% 1.00x
SequenceAlgosUnfoldSequence 1102 1102 +0.0% 1.00x
SetExclusiveOr 5083 4967 -2.3% 1.02x
SetExclusiveOr_OfObjects 11614 11560 -0.5% 1.00x (?)
SetIntersect 688 687 -0.1% 1.00x (?)
SetIntersect_OfObjects 1640 1677 +2.3% 0.98x (?)
SetIsSubsetOf 350 362 +3.4% 0.97x
SetIsSubsetOf_OfObjects 439 438 -0.2% 1.00x (?)
SetUnion 4404 4340 -1.5% 1.01x (?)
SetUnion_OfObjects 9995 9967 -0.3% 1.00x (?)
SevenBoom 841 837 -0.5% 1.00x (?)
SortLargeExistentials 5485 5558 +1.3% 0.99x (?)
SortLettersInPlace 990 987 -0.3% 1.00x (?)
SortSortedStrings 826 864 +4.6% 0.96x
SortStrings 1741 1785 +2.5% 0.98x
SortStringsUnicode 2479 2531 +2.1% 0.98x
StackPromo 24897 24890 -0.0% 1.00x (?)
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1780 1776 -0.2% 1.00x (?)
StrToInt 3228 3165 -2.0% 1.02x
StringAdder 532 538 +1.1% 0.99x
StringBuilder 443 443 +0.0% 1.00x
StringBuilderLong 1262 1266 +0.3% 1.00x (?)
StringBuilderSmallReservingCapacity 457 459 +0.4% 1.00x (?)
StringBuilderWithLongSubstring 1443 1448 +0.3% 1.00x (?)
StringComparison_abnormal 767 780 +1.7% 0.98x (?)
StringComparison_ascii 1015 1017 +0.2% 1.00x (?)
StringComparison_emoji 848 861 +1.5% 0.98x (?)
StringComparison_fastPrenormal 831 845 +1.7% 0.98x
StringComparison_latin1 652 660 +1.2% 0.99x
StringComparison_longSharedPrefix 950 960 +1.1% 0.99x (?)
StringComparison_nonBMPSlowestPrenormal 1700 1689 -0.6% 1.01x (?)
StringComparison_slowerPrenormal 1795 1826 +1.7% 0.98x
StringComparison_zalgo 111729 111906 +0.2% 1.00x (?)
StringEdits 168192 167632 -0.3% 1.00x (?)
StringEnumRawValueInitialization 855 862 +0.8% 0.99x (?)
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2203 2232 +1.3% 0.99x
StringHasPrefixUnicode 99547 99812 +0.3% 1.00x (?)
StringHasSuffixAscii 2261 2290 +1.3% 0.99x
StringHasSuffixUnicode 100470 99752 -0.7% 1.01x
StringHashing_abnormal 1355 1340 -1.1% 1.01x (?)
StringHashing_ascii 33 33 +0.0% 1.00x
StringHashing_emoji 1966 1883 -4.2% 1.04x (?)
StringHashing_fastPrenormal 8523 8383 -1.6% 1.02x (?)
StringHashing_latin1 2606 2566 -1.5% 1.02x (?)
StringHashing_longSharedPrefix 8138 8036 -1.3% 1.01x
StringHashing_nonBMPSlowestPrenormal 2155 2078 -3.6% 1.04x (?)
StringHashing_slowerPrenormal 2777 2731 -1.7% 1.02x (?)
StringHashing_zalgo 3524 3488 -1.0% 1.01x (?)
StringInterpolation 9196 9111 -0.9% 1.01x (?)
StringInterpolationManySmallSegments 18177 18438 +1.4% 0.99x (?)
StringInterpolationSmall 4207 4215 +0.2% 1.00x (?)
StringMatch 12027 12250 +1.9% 0.98x
StringRemoveDupes 483 484 +0.2% 1.00x (?)
StringUTF16Builder 2607 2652 +1.7% 0.98x (?)
StringUTF16SubstringBuilder 5657 5648 -0.2% 1.00x (?)
StringWalk 1553 1553 +0.0% 1.00x
StringWithCString 46368 46354 -0.0% 1.00x (?)
StringWordBuilder 2316 2251 -2.8% 1.03x
StringWordBuilderReservingCapacity 1927 1919 -0.4% 1.00x (?)
SubstringComparable 13 13 +0.0% 1.00x
SubstringEqualString 632 632 +0.0% 1.00x
SubstringEquatable 1493 1481 -0.8% 1.01x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 74 74 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 21525 21509 -0.1% 1.00x (?)
SuffixAnySeqCRangeIter 3590 3588 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3593 3584 -0.3% 1.00x (?)
SuffixAnySeqCntRange 17 17 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 17 17 +0.0% 1.00x
SuffixAnySequence 4911 4917 +0.1% 1.00x (?)
SuffixAnySequenceLazy 5000 5014 +0.3% 1.00x (?)
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3621 3641 +0.6% 0.99x
SuffixSequenceLazy 3621 3644 +0.6% 0.99x (?)
SumUsingReduce 101 101 +0.0% 1.00x
SumUsingReduceInto 102 101 -1.0% 1.01x
SuperChars 20099 20612 +2.6% 0.98x (?)
TwoSum 1462 1448 -1.0% 1.01x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode_InitDecoding 1356 1356 +0.0% 1.00x
UTF8Decode_InitDecoding_ascii 649 649 +0.0% 1.00x
UTF8Decode_InitFromBytes 1192 1174 -1.5% 1.02x (?)
UTF8Decode_InitFromBytes_ascii 507 496 -2.2% 1.02x (?)
UTF8Decode_InitFromData 1231 1224 -0.6% 1.01x (?)
UTF8Decode_InitFromData_ascii 670 686 +2.4% 0.98x (?)
Walsh 431 444 +3.0% 0.97x
WordCountHistogramASCII 7906 7980 +0.9% 0.99x (?)
WordCountHistogramUTF16 11189 11586 +3.5% 0.97x (?)
WordCountUniqueASCII 2072 2027 -2.2% 1.02x
WordCountUniqueUTF16 4590 4685 +2.1% 0.98x (?)
WordSplitASCII 8731 9076 +4.0% 0.96x (?)
WordSplitUTF16 10291 10653 +3.5% 0.97x (?)
XorLoop 393 395 +0.5% 0.99x (?)

Unoptimized (Onone)

Regression (8)
TEST OLD NEW DELTA SPEEDUP
TypeFlood 192 229 +19.3% 0.84x (?)
SubstringEquatable 5387 5951 +10.5% 0.91x
ObjectiveCBridgeFromNSArrayAnyObjectForced 9082 9969 +9.8% 0.91x (?)
ArrayAppendAsciiSubstring 71274 77564 +8.8% 0.92x
ObjectiveCBridgeFromNSDictionaryAnyObject 111494 120138 +7.8% 0.93x (?)
UTF8Decode_InitFromBytes_ascii 501 539 +7.6% 0.93x (?)
ObjectiveCBridgeStubURLAppendPathRef 272186 288843 +6.1% 0.94x (?)
PartialApplyDynamicType 39726 41873 +5.4% 0.95x (?)
Improvement (51)
TEST OLD NEW DELTA SPEEDUP
PrefixCountableRangeLazy 42471 34605 -18.5% 1.23x
DropFirstCountableRangeLazy 42413 34565 -18.5% 1.23x
DropLastCountableRangeLazy 14156 11580 -18.2% 1.22x
SuffixCountableRangeLazy 14134 11568 -18.2% 1.22x
DictionaryBridgeToObjC_Access 1667 1385 -16.9% 1.20x (?)
CharIndexing_korean_unicodeScalars_Backwards 406691 346857 -14.7% 1.17x (?)
CharIndexing_russian_unicodeScalars 306230 263622 -13.9% 1.16x (?)
ObjectiveCBridgeStubFromArrayOfNSString 37317 32309 -13.4% 1.16x (?)
PrefixAnySeqCRangeIter 21765 18985 -12.8% 1.15x
UTF8Decode_InitFromData_ascii 793 692 -12.7% 1.15x (?)
PrefixArrayLazy 33901 29722 -12.3% 1.14x
DropWhileAnySeqCRangeIter 28357 24884 -12.2% 1.14x
DropFirstArrayLazy 33762 29641 -12.2% 1.14x
PrefixAnySeqCRangeIterLazy 21588 18999 -12.0% 1.14x
ObjectiveCBridgeFromNSSetAnyObjectForced 6359 5682 -10.6% 1.12x (?)
CharIndexing_russian_unicodeScalars_Backwards 330027 296856 -10.1% 1.11x (?)
CharIndexing_korean_unicodeScalars 340890 307067 -9.9% 1.11x
CharIndexing_punctuatedJapanese_unicodeScalars 62614 56689 -9.5% 1.10x (?)
CharIndexing_ascii_unicodeScalars 349361 317201 -9.2% 1.10x
CharIndexing_japanese_unicodeScalars 418048 380208 -9.1% 1.10x
StringInterpolationSmall 6609 6013 -9.0% 1.10x
CharIndexing_tweet_unicodeScalars 691187 629998 -8.9% 1.10x (?)
DictionaryGroup 4812 4399 -8.6% 1.09x
ArrayAppendReserved 4557 4166 -8.6% 1.09x
CharIndexing_utf16_unicodeScalars 301314 276478 -8.2% 1.09x (?)
DropLastAnySeqCRangeIter 43228 39689 -8.2% 1.09x
PrefixWhileAnySeqCRangeIter 36573 33596 -8.1% 1.09x
DropLastAnySeqCRangeIterLazy 42997 39651 -7.8% 1.08x
CharIndexing_ascii_unicodeScalars_Backwards 386950 358419 -7.4% 1.08x (?)
BinaryFloatingPointPropertiesUlp 140 130 -7.1% 1.08x
CharIndexing_punctuated_unicodeScalars 77279 71827 -7.1% 1.08x (?)
CharIndexing_japanese_unicodeScalars_Backwards 461913 430067 -6.9% 1.07x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 67274 62790 -6.7% 1.07x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 83863 78320 -6.6% 1.07x (?)
PointerArithmetics 131681 123124 -6.5% 1.07x
SuperChars 95929 90019 -6.2% 1.07x (?)
StringEqualPointerComparison 1774 1666 -6.1% 1.06x
RangeReplaceableCollectionPlusDefault 11432 10741 -6.0% 1.06x
UTF8Decode_InitFromData 1321 1242 -6.0% 1.06x
CharIndexing_chinese_unicodeScalars_Backwards 291364 274280 -5.9% 1.06x (?)
RandomDoubleLCG 63163 59624 -5.6% 1.06x (?)
StringInterpolation 12074 11407 -5.5% 1.06x (?)
DropFirstAnyCollectionLazy 108054 102098 -5.5% 1.06x
StringHashing_nonBMPSlowestPrenormal 2381 2250 -5.5% 1.06x (?)
CStringShortAscii 6433 6091 -5.3% 1.06x (?)
DictionaryBridge 1350 1281 -5.1% 1.05x (?)
DictionaryBridgeToObjC_Bridge 20 19 -5.0% 1.05x
CharIndexing_chinese_unicodeScalars 262590 249471 -5.0% 1.05x (?)
DataReplaceSmallBuffer 9480 9011 -4.9% 1.05x (?)
StringBuilderWithLongSubstring 3546 3371 -4.9% 1.05x (?)
CharIndexing_tweet_unicodeScalars_Backwards 759049 722865 -4.8% 1.05x (?)
No Changes (399)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5148 5208 +1.2% 0.99x (?)
AnyHashableWithAClass 106851 108166 +1.2% 0.99x (?)
Array2D 626079 616662 -1.5% 1.02x (?)
ArrayAppend 4556 4437 -2.6% 1.03x
ArrayAppendArrayOfInt 853 863 +1.2% 0.99x (?)
ArrayAppendAscii 27349 27077 -1.0% 1.01x
ArrayAppendFromGeneric 866 867 +0.1% 1.00x (?)
ArrayAppendGenericStructs 1498 1489 -0.6% 1.01x (?)
ArrayAppendLatin1 66239 66379 +0.2% 1.00x (?)
ArrayAppendLatin1Substring 160149 165824 +3.5% 0.97x
ArrayAppendLazyMap 165787 168030 +1.4% 0.99x (?)
ArrayAppendOptionals 1501 1494 -0.5% 1.00x (?)
ArrayAppendRepeatCol 190638 187501 -1.6% 1.02x
ArrayAppendSequence 103783 103887 +0.1% 1.00x (?)
ArrayAppendStrings 6329 6331 +0.0% 1.00x (?)
ArrayAppendToFromGeneric 868 867 -0.1% 1.00x (?)
ArrayAppendToGeneric 871 873 +0.2% 1.00x (?)
ArrayAppendUTF16 66422 66507 +0.1% 1.00x (?)
ArrayAppendUTF16Substring 157953 164763 +4.3% 0.96x (?)
ArrayInClass 6370 6354 -0.3% 1.00x
ArrayLiteral 1795 1780 -0.8% 1.01x (?)
ArrayOfGenericPOD2 1130 1154 +2.1% 0.98x (?)
ArrayOfGenericRef 10584 10493 -0.9% 1.01x (?)
ArrayOfPOD 759 762 +0.4% 1.00x
ArrayOfRef 9637 9657 +0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 871 854 -2.0% 1.02x (?)
ArrayPlusEqualFiveElementCollection 230482 230797 +0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 226378 232028 +2.5% 0.98x (?)
ArrayPlusEqualThreeElements 8932 9048 +1.3% 0.99x
ArraySubscript 107665 106249 -1.3% 1.01x
ArrayValueProp 3673 3669 -0.1% 1.00x (?)
ArrayValueProp2 14939 14958 +0.1% 1.00x (?)
ArrayValueProp3 4227 4246 +0.4% 1.00x (?)
ArrayValueProp4 4149 4158 +0.2% 1.00x (?)
BinaryFloatingPointPropertiesBinade 88 88 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 132 134 +1.5% 0.99x
BitCount 8733 9102 +4.2% 0.96x
ByteSwap 9746 9678 -0.7% 1.01x
COWArrayGuaranteedParameterOverhead 14608 14250 -2.5% 1.03x (?)
COWTree 11730 11665 -0.6% 1.01x (?)
CSVParsing 2950997 2817394 -4.5% 1.05x (?)
CSVParsingAlt 1443668 1414239 -2.0% 1.02x (?)
CSVParsingAltIndices 2410425 2406953 -0.1% 1.00x (?)
CStringLongAscii 4295 4206 -2.1% 1.02x
CStringLongNonAscii 2498 2463 -1.4% 1.01x (?)
Calculator 942 943 +0.1% 1.00x (?)
CaptureProp 285104 287280 +0.8% 0.99x (?)
ChainedFilterMap 229510 230378 +0.4% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 321242 307032 -4.4% 1.05x (?)
CharIteration_ascii_unicodeScalars 146875 147356 +0.3% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 250065 249425 -0.3% 1.00x (?)
CharIteration_chinese_unicodeScalars 111211 111297 +0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 187589 188829 +0.7% 0.99x (?)
CharIteration_japanese_unicodeScalars 176393 176213 -0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 298159 299140 +0.3% 1.00x (?)
CharIteration_korean_unicodeScalars 142892 143053 +0.1% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 241875 243020 +0.5% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 26110 26242 +0.5% 0.99x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 43543 43814 +0.6% 0.99x (?)
CharIteration_punctuated_unicodeScalars 32927 33010 +0.3% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 55144 55264 +0.2% 1.00x (?)
CharIteration_russian_unicodeScalars 122320 122785 +0.4% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 206489 208471 +1.0% 0.99x (?)
CharIteration_tweet_unicodeScalars 290238 290657 +0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 492080 493690 +0.3% 1.00x (?)
CharIteration_utf16_unicodeScalars 125376 125992 +0.5% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 218173 216178 -0.9% 1.01x (?)
CharacterLiteralsLarge 5797 5771 -0.4% 1.00x (?)
CharacterLiteralsSmall 683 702 +2.8% 0.97x
CharacterPropertiesFetch 5555 5553 -0.0% 1.00x (?)
CharacterPropertiesPrecomputed 3497 3503 +0.2% 1.00x (?)
CharacterPropertiesStashed 2370 2372 +0.1% 1.00x (?)
CharacterPropertiesStashedMemo 4287 4306 +0.4% 1.00x (?)
Chars 35207 35233 +0.1% 1.00x
ClassArrayGetter 964 962 -0.2% 1.00x (?)
Combos 2389 2336 -2.2% 1.02x (?)
DataAccessBytes 2310 2301 -0.4% 1.00x (?)
DataAppendArray 5335 5370 +0.7% 0.99x (?)
DataAppendBytes 5024 4848 -3.5% 1.04x (?)
DataAppendDataLargeToLarge 68262 67107 -1.7% 1.02x (?)
DataAppendDataLargeToMedium 35520 35472 -0.1% 1.00x (?)
DataAppendDataLargeToSmall 34498 34583 +0.2% 1.00x (?)
DataAppendDataMediumToLarge 38276 38323 +0.1% 1.00x (?)
DataAppendDataMediumToMedium 6595 6472 -1.9% 1.02x (?)
DataAppendDataMediumToSmall 6037 5997 -0.7% 1.01x (?)
DataAppendDataSmallToLarge 37113 36737 -1.0% 1.01x (?)
DataAppendDataSmallToMedium 6032 5897 -2.2% 1.02x (?)
DataAppendDataSmallToSmall 5781 5662 -2.1% 1.02x (?)
DataAppendSequence 1956254 1926441 -1.5% 1.02x
DataCopyBytes 466 455 -2.4% 1.02x (?)
DataCount 223 222 -0.4% 1.00x
DataMutateBytes 5182 5226 +0.8% 0.99x (?)
DataReplaceLarge 36664 37935 +3.5% 0.97x (?)
DataReplaceLargeBuffer 57788 57484 -0.5% 1.01x (?)
DataReplaceMedium 7867 7898 +0.4% 1.00x (?)
DataReplaceMediumBuffer 11411 11010 -3.5% 1.04x (?)
DataReplaceSmall 5711 5790 +1.4% 0.99x (?)
DataReset 2852 2902 +1.8% 0.98x (?)
DataSetCount 578 564 -2.4% 1.02x (?)
DataSubscript 443 443 +0.0% 1.00x
DictOfArraysToArrayOfDicts 3576 3503 -2.0% 1.02x (?)
Dictionary 2161 2153 -0.4% 1.00x (?)
Dictionary2 1281 1272 -0.7% 1.01x (?)
Dictionary2OfObjects 4299 4169 -3.0% 1.03x (?)
Dictionary3 832 832 +0.0% 1.00x
Dictionary3OfObjects 2125 2130 +0.2% 1.00x (?)
Dictionary4 1190 1207 +1.4% 0.99x
Dictionary4Legacy 1443 1451 +0.6% 0.99x (?)
Dictionary4OfObjects 1867 1791 -4.1% 1.04x (?)
Dictionary4OfObjectsLegacy 2075 2055 -1.0% 1.01x (?)
DictionaryBridgeToObjC_BulkAccess 172 168 -2.3% 1.02x (?)
DictionaryCopy 312320 312492 +0.1% 1.00x (?)
DictionaryFilter 326610 325963 -0.2% 1.00x (?)
DictionaryGroupOfObjects 6930 6913 -0.2% 1.00x (?)
DictionaryKeysContainsCocoa 64 63 -1.6% 1.02x (?)
DictionaryKeysContainsNative 54 52 -3.7% 1.04x (?)
DictionaryLiteral 8636 8554 -0.9% 1.01x (?)
DictionaryOfObjects 5756 5808 +0.9% 0.99x (?)
DictionaryRemove 17106 17195 +0.5% 0.99x
DictionaryRemoveOfObjects 53276 52559 -1.3% 1.01x (?)
DictionarySubscriptDefaultMutation 1962 1957 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArray 2222 2236 +0.6% 0.99x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9501 9619 +1.2% 0.99x (?)
DictionarySubscriptDefaultMutationOfObjects 5541 5618 +1.4% 0.99x (?)
DictionarySwap 4899 4858 -0.8% 1.01x (?)
DictionarySwapAt 32672 32407 -0.8% 1.01x (?)
DictionarySwapAtOfObjects 113551 112958 -0.5% 1.01x (?)
DictionarySwapOfObjects 18944 19404 +2.4% 0.98x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 15676 15598 -0.5% 1.01x (?)
DropFirstAnySeqCRangeIter 24291 23802 -2.0% 1.02x
DropFirstAnySeqCRangeIterLazy 24124 23762 -1.5% 1.02x
DropFirstAnySeqCntRange 15728 15640 -0.6% 1.01x (?)
DropFirstAnySeqCntRangeLazy 15850 15565 -1.8% 1.02x
DropFirstAnySequence 13296 12728 -4.3% 1.04x
DropFirstAnySequenceLazy 12880 12835 -0.3% 1.00x (?)
DropFirstArray 3464 3455 -0.3% 1.00x (?)
DropFirstCountableRange 346 346 +0.0% 1.00x
DropFirstSequence 12793 12505 -2.3% 1.02x
DropFirstSequenceLazy 12492 12441 -0.4% 1.00x (?)
DropLastAnyCollection 5253 5233 -0.4% 1.00x (?)
DropLastAnyCollectionLazy 34936 33580 -3.9% 1.04x (?)
DropLastAnySeqCntRange 5229 5245 +0.3% 1.00x (?)
DropLastAnySeqCntRangeLazy 5322 5191 -2.5% 1.03x
DropLastAnySequence 29419 29268 -0.5% 1.01x (?)
DropLastAnySequenceLazy 29244 29141 -0.4% 1.00x (?)
DropLastCountableRange 119 119 +0.0% 1.00x
DropLastSequence 29296 29247 -0.2% 1.00x (?)
DropLastSequenceLazy 29133 29124 -0.0% 1.00x (?)
DropWhileAnyCollection 20282 20134 -0.7% 1.01x
DropWhileAnyCollectionLazy 22780 22788 +0.0% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 22825 22505 -1.4% 1.01x
DropWhileAnySeqCntRange 20319 20114 -1.0% 1.01x
DropWhileAnySeqCntRangeLazy 22692 22535 -0.7% 1.01x
DropWhileAnySequence 13645 13619 -0.2% 1.00x (?)
DropWhileAnySequenceLazy 12458 12333 -1.0% 1.01x (?)
DropWhileArrayLazy 13885 13681 -1.5% 1.01x
DropWhileCountableRange 5076 4931 -2.9% 1.03x
DropWhileCountableRangeLazy 22433 22041 -1.7% 1.02x
DropWhileSequence 13203 13179 -0.2% 1.00x (?)
DropWhileSequenceLazy 12035 11912 -1.0% 1.01x (?)
EqualStringSubstring 73 75 +2.7% 0.97x
EqualSubstringString 73 74 +1.4% 0.99x
EqualSubstringSubstring 75 74 -1.3% 1.01x
EqualSubstringSubstringGenericEquatable 60 59 -1.7% 1.02x
ErrorHandling 5160 5179 +0.4% 1.00x (?)
ExclusivityGlobal 191 194 +1.6% 0.98x
ExclusivityIndependent 75 73 -2.7% 1.03x (?)
FatCompactMap 288436 288568 +0.0% 1.00x (?)
FilterEvenUsingReduce 3589 3554 -1.0% 1.01x (?)
FilterEvenUsingReduceInto 1837 1835 -0.1% 1.00x (?)
FloatingPointPrinting_Double_description_small 22311 22317 +0.0% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 33843 33941 +0.3% 1.00x (?)
FloatingPointPrinting_Double_interpolated 98064 94604 -3.5% 1.04x (?)
FloatingPointPrinting_Float80_description_small 29305 29291 -0.0% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 58239 58572 +0.6% 0.99x (?)
FloatingPointPrinting_Float80_interpolated 125798 119833 -4.7% 1.05x (?)
FloatingPointPrinting_Float_description_small 6413 6407 -0.1% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 17065 17019 -0.3% 1.00x (?)
FloatingPointPrinting_Float_interpolated 72364 73382 +1.4% 0.99x (?)
FrequenciesUsingReduce 10639 10710 +0.7% 0.99x (?)
FrequenciesUsingReduceInto 3137 3122 -0.5% 1.00x (?)
Hanoi 19072 19066 -0.0% 1.00x (?)
HashTest 21438 20874 -2.6% 1.03x (?)
Histogram 6433 6273 -2.5% 1.03x
Integrate 588 588 +0.0% 1.00x
IterateData 4990 4980 -0.2% 1.00x (?)
Join 189 183 -3.2% 1.03x
LazilyFilteredArrayContains 741290 733680 -1.0% 1.01x
LazilyFilteredArrays 1428777 1422663 -0.4% 1.00x (?)
LazilyFilteredRange 543115 537396 -1.1% 1.01x (?)
LessSubstringSubstring 74 74 +0.0% 1.00x
LessSubstringSubstringGenericComparable 59 59 +0.0% 1.00x
LinkedList 32469 32701 +0.7% 0.99x
LuhnAlgoEager 5870 5934 +1.1% 0.99x (?)
LuhnAlgoLazy 6026 6000 -0.4% 1.00x (?)
MapReduce 24684 25187 +2.0% 0.98x
MapReduceAnyCollection 24775 24913 +0.6% 0.99x (?)
MapReduceAnyCollectionShort 35803 36255 +1.3% 0.99x (?)
MapReduceClass 29010 29158 +0.5% 0.99x (?)
MapReduceClassShort 39853 40134 +0.7% 0.99x (?)
MapReduceLazyCollection 22293 22262 -0.1% 1.00x (?)
MapReduceLazyCollectionShort 33356 33006 -1.0% 1.01x (?)
MapReduceLazySequence 20144 20345 +1.0% 0.99x
MapReduceSequence 30190 29858 -1.1% 1.01x (?)
MapReduceShort 35922 35974 +0.1% 1.00x (?)
MapReduceShortString 209 216 +3.3% 0.97x (?)
MapReduceString 1716 1704 -0.7% 1.01x (?)
Memset 45070 45101 +0.1% 1.00x (?)
MonteCarloE 1153102 1137313 -1.4% 1.01x (?)
MonteCarloPi 5214456 5139671 -1.4% 1.01x
NSDictionaryCastToSwift 8015 8325 +3.9% 0.96x (?)
NSError 612 632 +3.3% 0.97x (?)
NSStringConversion 742 751 +1.2% 0.99x
NibbleSort 513987 504143 -1.9% 1.02x
NopDeinit 199272 202733 +1.7% 0.98x (?)
ObjectAllocation 1256 1255 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 28652 28275 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 47467 48629 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 44980 45418 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObject 52532 55238 +5.2% 0.95x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 72468 72546 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSString 2891 2942 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSStringForced 2819 2823 +0.1% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6906 6843 -0.9% 1.01x (?)
ObjectiveCBridgeStubDateMutation 774 744 -3.9% 1.04x
ObjectiveCBridgeStubFromNSDate 6950 6800 -2.2% 1.02x (?)
ObjectiveCBridgeStubFromNSString 1029 1065 +3.5% 0.97x (?)
ObjectiveCBridgeStubFromNSStringRef 194 199 +2.6% 0.97x
ObjectiveCBridgeStubNSDataAppend 3001 3012 +0.4% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 16184 15656 -3.3% 1.03x (?)
ObjectiveCBridgeStubToArrayOfNSString 39194 40444 +3.2% 0.97x (?)
ObjectiveCBridgeStubToNSDate 15606 15924 +2.0% 0.98x (?)
ObjectiveCBridgeStubToNSDateRef 3493 3493 +0.0% 1.00x
ObjectiveCBridgeStubToNSString 2426 2483 +2.3% 0.98x (?)
ObjectiveCBridgeStubToNSStringRef 153 154 +0.7% 0.99x
ObjectiveCBridgeStubURLAppendPath 289252 284823 -1.5% 1.02x (?)
ObjectiveCBridgeToNSArray 15139 15601 +3.1% 0.97x (?)
ObjectiveCBridgeToNSDictionary 28853 28887 +0.1% 1.00x (?)
ObjectiveCBridgeToNSSet 18454 18747 +1.6% 0.98x (?)
ObjectiveCBridgeToNSString 562 539 -4.1% 1.04x (?)
ObserverClosure 6348 6310 -0.6% 1.01x (?)
ObserverForwarderStruct 4151 4147 -0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 7938 7884 -0.7% 1.01x (?)
ObserverUnappliedMethod 7864 7845 -0.2% 1.00x (?)
OpaqueConsumingUsers 13413 13415 +0.0% 1.00x (?)
OpenClose 527 529 +0.4% 1.00x
Phonebook 15286 15222 -0.4% 1.00x
PolymorphicCalls 2544 2476 -2.7% 1.03x
PopFrontArray 4578 4603 +0.5% 0.99x (?)
PopFrontArrayGeneric 5239 5251 +0.2% 1.00x (?)
PopFrontUnsafePointer 11262 11233 -0.3% 1.00x (?)
PrefixAnyCollection 15681 15728 +0.3% 1.00x (?)
PrefixAnyCollectionLazy 104284 100338 -3.8% 1.04x (?)
PrefixAnySeqCntRange 15699 15645 -0.3% 1.00x (?)
PrefixAnySeqCntRangeLazy 15842 15534 -1.9% 1.02x
PrefixAnySequence 10578 10632 +0.5% 0.99x (?)
PrefixAnySequenceLazy 10595 10466 -1.2% 1.01x (?)
PrefixArray 3473 3462 -0.3% 1.00x (?)
PrefixCountableRange 346 345 -0.3% 1.00x
PrefixSequence 10228 10224 -0.0% 1.00x (?)
PrefixSequenceLazy 10270 10096 -1.7% 1.02x (?)
PrefixWhileAnyCollection 29382 29082 -1.0% 1.01x
PrefixWhileAnyCollectionLazy 18874 18968 +0.5% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 18717 18675 -0.2% 1.00x (?)
PrefixWhileAnySeqCntRange 29212 29063 -0.5% 1.01x
PrefixWhileAnySeqCntRangeLazy 18683 18715 +0.2% 1.00x (?)
PrefixWhileAnySequence 25766 25650 -0.5% 1.00x (?)
PrefixWhileAnySequenceLazy 11015 10938 -0.7% 1.01x (?)
PrefixWhileArray 10353 10341 -0.1% 1.00x (?)
PrefixWhileArrayLazy 12076 12056 -0.2% 1.00x (?)
PrefixWhileCountableRange 14234 13954 -2.0% 1.02x
PrefixWhileCountableRangeLazy 18724 18391 -1.8% 1.02x
PrefixWhileSequence 25712 25351 -1.4% 1.01x
PrefixWhileSequenceLazy 10806 10683 -1.1% 1.01x (?)
Prims 9214 9271 +0.6% 0.99x (?)
PrimsSplit 9396 9276 -1.3% 1.01x (?)
QueueConcrete 13993 14016 +0.2% 1.00x (?)
QueueGeneric 18411 18610 +1.1% 0.99x
RC4 16138 16255 +0.7% 0.99x
RGBHistogram 23125 23112 -0.1% 1.00x (?)
RGBHistogramOfObjects 78963 78552 -0.5% 1.01x (?)
Radix2CooleyTukey 41471 42045 +1.4% 0.99x
Radix2CooleyTukeyf 35555 35652 +0.3% 1.00x (?)
RandomDoubleDef 92145 90638 -1.6% 1.02x (?)
RandomIntegersDef 43654 42969 -1.6% 1.02x (?)
RandomIntegersLCG 32129 32438 +1.0% 0.99x
RandomShuffleDef 2179513 2172262 -0.3% 1.00x (?)
RandomShuffleLCG 1435148 1435243 +0.0% 1.00x (?)
RangeAssignment 2733 2762 +1.1% 0.99x
RangeIterationSigned 14695 14944 +1.7% 0.98x
RecursiveOwnedParameter 6193 6229 +0.6% 0.99x (?)
RemoveWhereFilterInts 2084 2074 -0.5% 1.00x (?)
RemoveWhereFilterString 1335 1332 -0.2% 1.00x (?)
RemoveWhereFilterStrings 2594 2592 -0.1% 1.00x (?)
RemoveWhereMoveInts 3344 3345 +0.0% 1.00x (?)
RemoveWhereMoveStrings 3891 3887 -0.1% 1.00x (?)
RemoveWhereQuadraticInts 8512 8459 -0.6% 1.01x (?)
RemoveWhereQuadraticString 2608 2584 -0.9% 1.01x (?)
RemoveWhereQuadraticStrings 10144 10098 -0.5% 1.00x
RemoveWhereSwapInts 6004 6006 +0.0% 1.00x (?)
RemoveWhereSwapStrings 6733 6753 +0.3% 1.00x
ReversedArray 12531 12548 +0.1% 1.00x (?)
ReversedBidirectional 45789 44649 -2.5% 1.03x
ReversedDictionary 23752 23665 -0.4% 1.00x (?)
RomanNumbers 1288314 1262448 -2.0% 1.02x (?)
SequenceAlgosAnySequence 13282 13431 +1.1% 0.99x (?)
SequenceAlgosArray 728177 729545 +0.2% 1.00x (?)
SequenceAlgosContiguousArray 297445 295805 -0.6% 1.01x (?)
SequenceAlgosList 8790 8764 -0.3% 1.00x
SequenceAlgosRange 1291253 1322478 +2.4% 0.98x (?)
SequenceAlgosUnfoldSequence 6475 6462 -0.2% 1.00x (?)
SetExclusiveOr 16318 16327 +0.1% 1.00x (?)
SetExclusiveOr_OfObjects 42251 42258 +0.0% 1.00x (?)
SetIntersect 6840 6800 -0.6% 1.01x
SetIntersect_OfObjects 10698 10692 -0.1% 1.00x (?)
SetIsSubsetOf 1187 1191 +0.3% 1.00x
SetIsSubsetOf_OfObjects 2249 2249 +0.0% 1.00x
SetUnion 11782 11820 +0.3% 1.00x (?)
SetUnion_OfObjects 30365 30280 -0.3% 1.00x (?)
SevenBoom 1032 1022 -1.0% 1.01x (?)
Sim2DArray 43825 43841 +0.0% 1.00x (?)
SortLargeExistentials 9854 9777 -0.8% 1.01x (?)
SortLettersInPlace 1557 1590 +2.1% 0.98x
SortSortedStrings 896 912 +1.8% 0.98x (?)
SortStrings 1854 1868 +0.8% 0.99x
SortStringsUnicode 2718 2790 +2.6% 0.97x
StackPromo 93683 95624 +2.1% 0.98x (?)
StaticArray 2612 2620 +0.3% 1.00x (?)
StrComplexWalk 7274 7266 -0.1% 1.00x (?)
StrToInt 80502 79689 -1.0% 1.01x (?)
StringAdder 735 744 +1.2% 0.99x
StringBuilder 4989 5001 +0.2% 1.00x (?)
StringBuilderLong 1453 1509 +3.9% 0.96x (?)
StringBuilderSmallReservingCapacity 5023 5013 -0.2% 1.00x (?)
StringComparison_abnormal 1302 1344 +3.2% 0.97x
StringComparison_ascii 8819 8847 +0.3% 1.00x
StringComparison_emoji 1989 1982 -0.4% 1.00x (?)
StringComparison_fastPrenormal 4828 4841 +0.3% 1.00x (?)
StringComparison_latin1 3769 3768 -0.0% 1.00x (?)
StringComparison_longSharedPrefix 2350 2346 -0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3680 3683 +0.1% 1.00x (?)
StringComparison_slowerPrenormal 4404 4261 -3.2% 1.03x (?)
StringComparison_zalgo 114980 114619 -0.3% 1.00x (?)
StringEdits 386378 370902 -4.0% 1.04x (?)
StringEnumRawValueInitialization 21281 21650 +1.7% 0.98x (?)
StringFromLongWholeSubstring 22 22 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 197 200 +1.5% 0.99x
StringHasPrefixAscii 3266 3202 -2.0% 1.02x
StringHasPrefixUnicode 100769 101051 +0.3% 1.00x (?)
StringHasSuffixAscii 3296 3232 -1.9% 1.02x
StringHasSuffixUnicode 101861 100771 -1.1% 1.01x (?)
StringHashing_abnormal 1465 1432 -2.3% 1.02x (?)
StringHashing_ascii 208 209 +0.5% 1.00x (?)
StringHashing_emoji 2158 2071 -4.0% 1.04x (?)
StringHashing_fastPrenormal 8770 8673 -1.1% 1.01x (?)
StringHashing_latin1 2830 2814 -0.6% 1.01x (?)
StringHashing_longSharedPrefix 8289 8195 -1.1% 1.01x (?)
StringHashing_slowerPrenormal 2959 2963 +0.1% 1.00x (?)
StringHashing_zalgo 3632 3612 -0.6% 1.01x (?)
StringInterpolationManySmallSegments 18639 18931 +1.6% 0.98x (?)
StringMatch 40656 40657 +0.0% 1.00x (?)
StringRemoveDupes 725 733 +1.1% 0.99x (?)
StringUTF16Builder 7761 7779 +0.2% 1.00x (?)
StringUTF16SubstringBuilder 21924 21642 -1.3% 1.01x (?)
StringWalk 13371 13133 -1.8% 1.02x
StringWithCString 43495 43519 +0.1% 1.00x (?)
StringWordBuilder 2494 2516 +0.9% 0.99x (?)
StringWordBuilderReservingCapacity 2073 2121 +2.3% 0.98x
SubstringComparable 1595 1588 -0.4% 1.00x (?)
SubstringEqualString 1716 1721 +0.3% 1.00x (?)
SubstringFromLongString 15 15 +0.0% 1.00x
SubstringFromLongStringGeneric 104 104 +0.0% 1.00x
SuffixAnyCollection 5229 5252 +0.4% 1.00x (?)
SuffixAnyCollectionLazy 34808 33558 -3.6% 1.04x (?)
SuffixAnySeqCRangeIter 36590 35619 -2.7% 1.03x (?)
SuffixAnySeqCRangeIterLazy 36645 35751 -2.4% 1.03x (?)
SuffixAnySeqCntRange 5244 5215 -0.6% 1.01x (?)
SuffixAnySeqCntRangeLazy 5287 5201 -1.6% 1.02x
SuffixAnySequence 25285 25185 -0.4% 1.00x
SuffixAnySequenceLazy 25332 25342 +0.0% 1.00x (?)
SuffixCountableRange 119 119 +0.0% 1.00x
SuffixSequence 25170 25090 -0.3% 1.00x (?)
SuffixSequenceLazy 25190 25232 +0.2% 1.00x (?)
SumUsingReduce 156709 156183 -0.3% 1.00x (?)
SumUsingReduceInto 149106 149541 +0.3% 1.00x
TwoSum 3487 3474 -0.4% 1.00x (?)
UTF8Decode 28916 28884 -0.1% 1.00x (?)
UTF8Decode_InitDecoding 1418 1430 +0.8% 0.99x (?)
UTF8Decode_InitDecoding_ascii 874 900 +3.0% 0.97x (?)
UTF8Decode_InitFromBytes 1170 1180 +0.9% 0.99x (?)
Walsh 12437 12425 -0.1% 1.00x (?)
WordCountHistogramASCII 37531 36731 -2.1% 1.02x (?)
WordCountHistogramUTF16 42924 42051 -2.0% 1.02x (?)
WordCountUniqueASCII 6949 6905 -0.6% 1.01x
WordCountUniqueUTF16 9605 9928 +3.4% 0.97x (?)
WordSplitASCII 13174 13103 -0.5% 1.01x (?)
WordSplitUTF16 14942 14429 -3.4% 1.04x (?)
XorLoop 23854 23795 -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

@lancep
Copy link
Contributor Author

lancep commented Jul 9, 2018

@swift-ci please test

@swift-ci
Copy link
Contributor

swift-ci commented Jul 9, 2018

Build failed
Swift Test OS X Platform
Git Sha - 0ccf21f

@swift-ci
Copy link
Contributor

swift-ci commented Jul 9, 2018

Build failed
Swift Test Linux Platform
Git Sha - 0ccf21f

@lancep
Copy link
Contributor Author

lancep commented Jul 9, 2018

@swift-ci please smoke benchmark

1 similar comment
@lancep
Copy link
Contributor Author

lancep commented Jul 9, 2018

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Jul 9, 2018

Build comment file:

Optimized (O)

Regression (24)
TEST OLD NEW DELTA SPEEDUP
StringBuilderWithLongSubstring 1442 1824 +26.5% 0.79x (?)
StringBuilderLong 1283 1541 +20.1% 0.83x (?)
RangeIterationSigned 171 200 +17.0% 0.86x
FilterEvenUsingReduceInto 148 162 +9.5% 0.91x
WordSplitASCII 8818 9638 +9.3% 0.91x
Calculator 191 207 +8.4% 0.92x
DataReplaceSmallBuffer 8489 9179 +8.1% 0.92x (?)
ArrayAppendAscii 3981 4266 +7.2% 0.93x (?)
ObjectiveCBridgeFromNSArrayAnyObject 24686 26429 +7.1% 0.93x (?)
RangeReplaceableCollectionPlusDefault 1017 1088 +7.0% 0.93x
NSDictionaryCastToSwift 6954 7433 +6.9% 0.94x (?)
StringAdder 525 561 +6.9% 0.94x
StringHasSuffixAscii 2233 2376 +6.4% 0.94x
DropLastAnyCollectionLazy 21573 22886 +6.1% 0.94x
CharIndexing_ascii_unicodeScalars 16279 17223 +5.8% 0.95x
StringBuilder 436 461 +5.7% 0.95x
CharIndexing_korean_unicodeScalars 15791 16693 +5.7% 0.95x
CharIndexing_chinese_unicodeScalars 12338 13036 +5.7% 0.95x
CharIndexing_russian_unicodeScalars 13575 14331 +5.6% 0.95x
CharIndexing_japanese_unicodeScalars 19498 20571 +5.5% 0.95x
UTF8Decode_InitFromData 1236 1304 +5.5% 0.95x
DictionaryBridgeToObjC_Access 1007 1061 +5.4% 0.95x
FloatingPointPrinting_Float_description_small 5395 5681 +5.3% 0.95x
StringBuilderSmallReservingCapacity 453 477 +5.3% 0.95x
Improvement (19)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 664 417 -37.2% 1.59x
UTF8Decode_InitFromBytes_ascii 601 491 -18.3% 1.22x
ObjectiveCBridgeStubFromArrayOfNSString 37862 31520 -16.8% 1.20x (?)
ChainedFilterMap 1408 1244 -11.6% 1.13x
ObjectiveCBridgeFromNSArrayAnyObjectForced 5352 4893 -8.6% 1.09x (?)
SuffixCountableRange 12 11 -8.3% 1.09x
SuffixCountableRangeLazy 12 11 -8.3% 1.09x
DataCopyBytes 476 439 -7.8% 1.08x
RC4 161 149 -7.5% 1.08x
DataAppendDataSmallToLarge 65144 60305 -7.4% 1.08x (?)
AngryPhonebook 3823 3543 -7.3% 1.08x (?)
ObjectiveCBridgeToNSArray 15871 14716 -7.3% 1.08x
SubstringComparable 14 13 -7.1% 1.08x
MapReduce 398 371 -6.8% 1.07x
RemoveWhereMoveInts 15 14 -6.7% 1.07x
ObjectiveCBridgeFromNSArrayAnyObjectToString 48819 45605 -6.6% 1.07x (?)
StringHashing_emoji 2000 1883 -5.8% 1.06x
LazilyFilteredArrayContains 37457 35466 -5.3% 1.06x
DictionaryBridgeToObjC_Bridge 20 19 -5.0% 1.05x
No Changes (415)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 91025 91391 +0.4% 1.00x (?)
Array2D 2853 2862 +0.3% 1.00x (?)
ArrayAppend 1069 1087 +1.7% 0.98x
ArrayAppendArrayOfInt 796 801 +0.6% 0.99x
ArrayAppendAsciiSubstring 24878 25062 +0.7% 0.99x
ArrayAppendFromGeneric 796 788 -1.0% 1.01x (?)
ArrayAppendGenericStructs 1432 1429 -0.2% 1.00x (?)
ArrayAppendLatin1 42495 41504 -2.3% 1.02x
ArrayAppendLatin1Substring 142320 143868 +1.1% 0.99x
ArrayAppendLazyMap 1346 1340 -0.4% 1.00x (?)
ArrayAppendOptionals 1428 1449 +1.5% 0.99x
ArrayAppendRepeatCol 1337 1344 +0.5% 0.99x (?)
ArrayAppendReserved 799 813 +1.8% 0.98x
ArrayAppendSequence 1123 1123 +0.0% 1.00x
ArrayAppendStrings 6199 6343 +2.3% 0.98x
ArrayAppendToFromGeneric 798 797 -0.1% 1.00x (?)
ArrayAppendToGeneric 797 797 +0.0% 1.00x
ArrayAppendUTF16 42218 40988 -2.9% 1.03x
ArrayAppendUTF16Substring 140042 141014 +0.7% 0.99x
ArrayInClass 85 86 +1.2% 0.99x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 151 +0.0% 1.00x
ArrayOfGenericRef 4402 4389 -0.3% 1.00x (?)
ArrayOfPOD 184 184 +0.0% 1.00x
ArrayOfRef 4367 4364 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 798 803 +0.6% 0.99x (?)
ArrayPlusEqualFiveElementCollection 5532 5497 -0.6% 1.01x
ArrayPlusEqualSingleElementCollection 1065 1088 +2.2% 0.98x
ArrayPlusEqualThreeElements 1666 1657 -0.5% 1.01x (?)
ArraySubscript 1538 1576 +2.5% 0.98x
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointPropertiesBinade 25 25 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 35 35 +0.0% 1.00x
BitCount 202 211 +4.5% 0.96x
ByteSwap 104 101 -2.9% 1.03x
COWArrayGuaranteedParameterOverhead 8785 8736 -0.6% 1.01x (?)
COWTree 3592 3704 +3.1% 0.97x (?)
CSVParsing 656631 657904 +0.2% 1.00x (?)
CSVParsingAlt 807990 817280 +1.1% 0.99x
CSVParsingAltIndices 339439 350843 +3.4% 0.97x
CStringLongAscii 4118 4037 -2.0% 1.02x
CStringLongNonAscii 2340 2421 +3.5% 0.97x
CStringShortAscii 3325 3297 -0.8% 1.01x (?)
CaptureProp 4113 4109 -0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 16046 16189 +0.9% 0.99x
CharIndexing_chinese_unicodeScalars_Backwards 12160 12258 +0.8% 0.99x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19209 19370 +0.8% 0.99x
CharIndexing_korean_unicodeScalars_Backwards 15552 15695 +0.9% 0.99x
CharIndexing_punctuatedJapanese_unicodeScalars 2957 3103 +4.9% 0.95x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2917 2932 +0.5% 0.99x
CharIndexing_punctuated_unicodeScalars 3698 3892 +5.2% 0.95x
CharIndexing_punctuated_unicodeScalars_Backwards 3643 3647 +0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 13377 13487 +0.8% 0.99x
CharIndexing_tweet_unicodeScalars 32116 33248 +3.5% 0.97x
CharIndexing_tweet_unicodeScalars_Backwards 31641 31879 +0.8% 0.99x
CharIndexing_utf16_unicodeScalars 22860 23016 +0.7% 0.99x
CharIndexing_utf16_unicodeScalars_Backwards 23581 23648 +0.3% 1.00x
CharIteration_ascii_unicodeScalars 20760 21154 +1.9% 0.98x
CharIteration_ascii_unicodeScalars_Backwards 15104 15372 +1.8% 0.98x
CharIteration_chinese_unicodeScalars 15732 16005 +1.7% 0.98x
CharIteration_chinese_unicodeScalars_Backwards 11449 11643 +1.7% 0.98x
CharIteration_japanese_unicodeScalars 24875 25323 +1.8% 0.98x
CharIteration_japanese_unicodeScalars_Backwards 18090 18383 +1.6% 0.98x
CharIteration_korean_unicodeScalars 20142 20523 +1.9% 0.98x
CharIteration_korean_unicodeScalars_Backwards 14644 14911 +1.8% 0.98x
CharIteration_punctuatedJapanese_unicodeScalars 3744 3777 +0.9% 0.99x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2738 2792 +2.0% 0.98x
CharIteration_punctuated_unicodeScalars 4687 4745 +1.2% 0.99x
CharIteration_punctuated_unicodeScalars_Backwards 3424 3491 +2.0% 0.98x
CharIteration_russian_unicodeScalars 17292 17606 +1.8% 0.98x
CharIteration_russian_unicodeScalars_Backwards 12588 12807 +1.7% 0.98x
CharIteration_tweet_unicodeScalars 40962 42439 +3.6% 0.97x
CharIteration_tweet_unicodeScalars_Backwards 29853 30396 +1.8% 0.98x
CharIteration_utf16_unicodeScalars 27721 28027 +1.1% 0.99x
CharIteration_utf16_unicodeScalars_Backwards 18690 18879 +1.0% 0.99x
CharacterLiteralsLarge 5854 5856 +0.0% 1.00x (?)
CharacterLiteralsSmall 217 220 +1.4% 0.99x
CharacterPropertiesFetch 4680 4677 -0.1% 1.00x (?)
CharacterPropertiesPrecomputed 1004 997 -0.7% 1.01x
CharacterPropertiesStashed 1519 1500 -1.3% 1.01x (?)
CharacterPropertiesStashedMemo 1553 1551 -0.1% 1.00x (?)
Chars 1019 1022 +0.3% 1.00x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 490 501 +2.2% 0.98x (?)
DataAccessBytes 1141 1143 +0.2% 1.00x (?)
DataAppendArray 5221 5322 +1.9% 0.98x (?)
DataAppendBytes 4865 5036 +3.5% 0.97x (?)
DataAppendDataLargeToLarge 68655 68717 +0.1% 1.00x (?)
DataAppendDataLargeToMedium 35561 35352 -0.6% 1.01x (?)
DataAppendDataLargeToSmall 34551 34667 +0.3% 1.00x (?)
DataAppendDataMediumToLarge 38377 38283 -0.2% 1.00x (?)
DataAppendDataMediumToMedium 6984 6665 -4.6% 1.05x (?)
DataAppendDataMediumToSmall 6058 6103 +0.7% 0.99x (?)
DataAppendDataSmallToMedium 6107 6177 +1.1% 0.99x (?)
DataAppendDataSmallToSmall 6006 5852 -2.6% 1.03x (?)
DataAppendSequence 20766 20570 -0.9% 1.01x (?)
DataCount 37 37 +0.0% 1.00x
DataMutateBytes 3920 4087 +4.3% 0.96x
DataReplaceLarge 37100 37174 +0.2% 1.00x (?)
DataReplaceLargeBuffer 57090 57603 +0.9% 0.99x (?)
DataReplaceMedium 8289 8297 +0.1% 1.00x (?)
DataReplaceMediumBuffer 11487 11885 +3.5% 0.97x (?)
DataReplaceSmall 5769 5754 -0.3% 1.00x (?)
DataReset 2884 2889 +0.2% 1.00x (?)
DataSetCount 552 545 -1.3% 1.01x (?)
DataSubscript 220 220 +0.0% 1.00x
DictOfArraysToArrayOfDicts 791 783 -1.0% 1.01x (?)
Dictionary 517 510 -1.4% 1.01x
Dictionary2 636 634 -0.3% 1.00x (?)
Dictionary2OfObjects 2080 2068 -0.6% 1.01x (?)
Dictionary3 225 222 -1.3% 1.01x
Dictionary3OfObjects 739 735 -0.5% 1.01x (?)
Dictionary4 331 320 -3.3% 1.03x
Dictionary4Legacy 698 694 -0.6% 1.01x
Dictionary4OfObjects 440 440 +0.0% 1.00x
Dictionary4OfObjectsLegacy 935 915 -2.1% 1.02x
DictionaryBridge 1226 1174 -4.2% 1.04x (?)
DictionaryBridgeToObjC_BulkAccess 172 168 -2.3% 1.02x
DictionaryCopy 105954 106712 +0.7% 0.99x (?)
DictionaryFilter 105426 105501 +0.1% 1.00x (?)
DictionaryGroup 216 218 +0.9% 0.99x
DictionaryGroupOfObjects 2132 2115 -0.8% 1.01x (?)
DictionaryKeysContainsCocoa 39 40 +2.6% 0.98x (?)
DictionaryKeysContainsNative 31 32 +3.2% 0.97x (?)
DictionaryLiteral 1908 1921 +0.7% 0.99x (?)
DictionaryOfObjects 2376 2376 +0.0% 1.00x
DictionaryRemove 4185 4216 +0.7% 0.99x
DictionaryRemoveOfObjects 25891 26367 +1.8% 0.98x
DictionarySubscriptDefaultMutation 267 263 -1.5% 1.02x
DictionarySubscriptDefaultMutationArray 609 621 +2.0% 0.98x
DictionarySubscriptDefaultMutationArrayOfObjects 4019 4028 +0.2% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1712 1719 +0.4% 1.00x (?)
DictionarySwap 1039 1038 -0.1% 1.00x
DictionarySwapAt 6707 6954 +3.7% 0.96x (?)
DictionarySwapAtOfObjects 52651 52650 -0.0% 1.00x (?)
DictionarySwapOfObjects 8762 8755 -0.1% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 64980 65060 +0.1% 1.00x (?)
DropFirstAnySeqCRangeIter 93 93 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 93 93 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1842 1842 +0.0% 1.00x
DropFirstAnySequenceLazy 1843 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 2683 2683 +0.0% 1.00x
DropFirstSequenceLazy 2775 2776 +0.0% 1.00x (?)
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnySeqCRangeIter 3301 3295 -0.2% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3291 3291 +0.0% 1.00x
DropLastAnySeqCntRange 11 11 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 11 11 +0.0% 1.00x
DropLastAnySequence 4991 5046 +1.1% 0.99x
DropLastAnySequenceLazy 5175 5213 +0.7% 0.99x
DropLastCountableRange 12 12 +0.0% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropLastSequence 667 670 +0.4% 1.00x (?)
DropLastSequenceLazy 664 670 +0.9% 0.99x
DropWhileAnyCollection 100 99 -1.0% 1.01x
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 1861 1860 -0.1% 1.00x (?)
DropWhileAnySequenceLazy 1855 1855 +0.0% 1.00x
DropWhileArrayLazy 88 88 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 105 105 +0.0% 1.00x
DropWhileSequence 2219 2221 +0.1% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 51 52 +2.0% 0.98x
EqualSubstringString 51 53 +3.9% 0.96x
EqualSubstringSubstring 50 52 +4.0% 0.96x
EqualSubstringSubstringGenericEquatable 50 52 +4.0% 0.96x
ErrorHandling 1191 1207 +1.3% 0.99x
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 200629 200341 -0.1% 1.00x (?)
FilterEvenUsingReduce 1302 1356 +4.1% 0.96x
FloatingPointPrinting_Double_description_small 21463 21600 +0.6% 0.99x
FloatingPointPrinting_Double_description_uniform 21173 21093 -0.4% 1.00x (?)
FloatingPointPrinting_Double_interpolated 61725 62496 +1.2% 0.99x (?)
FloatingPointPrinting_Float80_description_small 28571 28394 -0.6% 1.01x
FloatingPointPrinting_Float80_description_uniform 27667 27520 -0.5% 1.01x
FloatingPointPrinting_Float80_interpolated 66333 65839 -0.7% 1.01x (?)
FloatingPointPrinting_Float_description_uniform 5301 5267 -0.6% 1.01x
FloatingPointPrinting_Float_interpolated 38369 38966 +1.6% 0.98x (?)
FrequenciesUsingReduce 4855 4884 +0.6% 0.99x
FrequenciesUsingReduceInto 1511 1483 -1.9% 1.02x (?)
Hanoi 2130 2241 +5.2% 0.95x
HashTest 936 946 +1.1% 0.99x
Histogram 651 652 +0.2% 1.00x (?)
Integrate 342 336 -1.8% 1.02x
IterateData 1547 1544 -0.2% 1.00x
Join 167 173 +3.6% 0.97x
LazilyFilteredArrays 65050 64840 -0.3% 1.00x (?)
LazilyFilteredRange 3871 3884 +0.3% 1.00x
LessSubstringSubstring 51 52 +2.0% 0.98x
LessSubstringSubstringGenericComparable 50 52 +4.0% 0.96x
LinkedList 7587 7561 -0.3% 1.00x (?)
LuhnAlgoEager 447 451 +0.9% 0.99x
LuhnAlgoLazy 448 446 -0.4% 1.00x (?)
MapReduceAnyCollection 399 399 +0.0% 1.00x
MapReduceAnyCollectionShort 2059 2042 -0.8% 1.01x
MapReduceClass 3005 2999 -0.2% 1.00x
MapReduceClassShort 4612 4600 -0.3% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 34 34 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 456 473 +3.7% 0.96x
MapReduceShort 2023 2005 -0.9% 1.01x (?)
MapReduceShortString 20 21 +5.0% 0.95x
MapReduceString 48 48 +0.0% 1.00x
Memset 218 217 -0.5% 1.00x (?)
MonteCarloE 10339 10371 +0.3% 1.00x
MonteCarloPi 42816 42826 +0.0% 1.00x (?)
NSError 164 163 -0.6% 1.01x (?)
NSStringConversion 703 674 -4.1% 1.04x
NibbleSort 3668 3667 -0.0% 1.00x
NopDeinit 32394 32389 -0.0% 1.00x (?)
ObjectAllocation 133 134 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 43840 44477 +1.5% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 112972 109692 -2.9% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObject 47316 49000 +3.6% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4961 5150 +3.8% 0.96x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 67467 65935 -2.3% 1.02x (?)
ObjectiveCBridgeFromNSString 1219 1182 -3.0% 1.03x (?)
ObjectiveCBridgeFromNSStringForced 2681 2723 +1.6% 0.98x (?)
ObjectiveCBridgeStubDataAppend 6397 6311 -1.3% 1.01x (?)
ObjectiveCBridgeStubDateMutation 401 401 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 6547 6573 +0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSString 985 1014 +2.9% 0.97x (?)
ObjectiveCBridgeStubFromNSStringRef 156 158 +1.3% 0.99x
ObjectiveCBridgeStubNSDataAppend 2627 2666 +1.5% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 13394 13065 -2.5% 1.03x (?)
ObjectiveCBridgeStubToArrayOfNSString 40222 39411 -2.0% 1.02x (?)
ObjectiveCBridgeStubToNSDate 14996 15670 +4.5% 0.96x
ObjectiveCBridgeStubToNSDateRef 3423 3430 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSString 2363 2343 -0.8% 1.01x
ObjectiveCBridgeStubToNSStringRef 112 115 +2.7% 0.97x
ObjectiveCBridgeStubURLAppendPath 288185 285789 -0.8% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 278094 292154 +5.1% 0.95x (?)
ObjectiveCBridgeToNSDictionary 27816 27909 +0.3% 1.00x (?)
ObjectiveCBridgeToNSSet 17657 17367 -1.6% 1.02x
ObjectiveCBridgeToNSString 455 464 +2.0% 0.98x
ObserverClosure 2162 2151 -0.5% 1.01x
ObserverForwarderStruct 1211 1217 +0.5% 1.00x (?)
ObserverPartiallyAppliedMethod 3729 3698 -0.8% 1.01x
ObserverUnappliedMethod 2457 2467 +0.4% 1.00x (?)
OpaqueConsumingUsers 4181 4183 +0.0% 1.00x
OpenClose 65 68 +4.6% 0.96x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 6618 6931 +4.7% 0.95x
PointerArithmetics 31498 31505 +0.0% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1965 1880 -4.3% 1.05x (?)
PopFrontArrayGeneric 1970 1976 +0.3% 1.00x (?)
PopFrontUnsafePointer 9123 9539 +4.6% 0.96x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 65182 64828 -0.5% 1.01x (?)
PrefixAnySeqCRangeIter 40 40 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 40 40 +0.0% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 1379 1378 -0.1% 1.00x
PrefixAnySequenceLazy 1378 1378 +0.0% 1.00x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 2220 2222 +0.1% 1.00x (?)
PrefixSequenceLazy 2278 2276 -0.1% 1.00x
PrefixWhileAnyCollection 147 146 -0.7% 1.01x
PrefixWhileAnyCollectionLazy 71 71 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 397 385 -3.0% 1.03x
PrefixWhileAnySeqCRangeIterLazy 89 89 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 142 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixWhileAnySequence 1522 1541 +1.2% 0.99x
PrefixWhileAnySequenceLazy 1391 1393 +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 357 363 +1.7% 0.98x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 897 937 +4.5% 0.96x
PrimsSplit 898 938 +4.5% 0.96x
QueueConcrete 1149 1150 +0.1% 1.00x (?)
QueueGeneric 1148 1140 -0.7% 1.01x
RGBHistogram 3041 2996 -1.5% 1.02x
RGBHistogramOfObjects 23718 23796 +0.3% 1.00x (?)
Radix2CooleyTukey 12564 12429 -1.1% 1.01x (?)
Radix2CooleyTukeyf 9002 9077 +0.8% 0.99x (?)
RandomDoubleDef 26694 26827 +0.5% 1.00x
RandomDoubleLCG 2234 2209 -1.1% 1.01x
RandomIntegersDef 24476 24568 +0.4% 1.00x
RandomIntegersLCG 173 173 +0.0% 1.00x
RandomShuffleDef 810904 811334 +0.1% 1.00x (?)
RandomShuffleLCG 57699 57465 -0.4% 1.00x (?)
RangeAssignment 352 337 -4.3% 1.04x
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 47 47 +0.0% 1.00x
RemoveWhereFilterString 246 249 +1.2% 0.99x
RemoveWhereFilterStrings 436 438 +0.5% 1.00x
RemoveWhereMoveStrings 708 709 +0.1% 1.00x (?)
RemoveWhereQuadraticInts 1297 1295 -0.2% 1.00x
RemoveWhereQuadraticString 370 377 +1.9% 0.98x (?)
RemoveWhereQuadraticStrings 2764 2760 -0.1% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 860 860 +0.0% 1.00x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16752 16654 -0.6% 1.01x (?)
ReversedDictionary 264 267 +1.1% 0.99x (?)
RomanNumbers 83316 85473 +2.6% 0.97x
SequenceAlgosAnySequence 12074 12057 -0.1% 1.00x (?)
SequenceAlgosArray 1580 1585 +0.3% 1.00x (?)
SequenceAlgosContiguousArray 1581 1571 -0.6% 1.01x (?)
SequenceAlgosList 1352 1354 +0.1% 1.00x
SequenceAlgosRange 2577 2576 -0.0% 1.00x (?)
SequenceAlgosUnfoldSequence 1103 1103 +0.0% 1.00x
SetExclusiveOr 5081 5133 +1.0% 0.99x
SetExclusiveOr_OfObjects 11598 11511 -0.8% 1.01x (?)
SetIntersect 686 685 -0.1% 1.00x (?)
SetIntersect_OfObjects 1689 1665 -1.4% 1.01x (?)
SetIsSubsetOf 339 340 +0.3% 1.00x
SetIsSubsetOf_OfObjects 438 435 -0.7% 1.01x (?)
SetUnion 4411 4492 +1.8% 0.98x
SetUnion_OfObjects 10035 9943 -0.9% 1.01x
SevenBoom 839 837 -0.2% 1.00x (?)
SortLargeExistentials 5548 5514 -0.6% 1.01x
SortLettersInPlace 998 993 -0.5% 1.01x (?)
SortSortedStrings 857 847 -1.2% 1.01x
SortStrings 1761 1792 +1.8% 0.98x
SortStringsUnicode 2512 2581 +2.7% 0.97x
StackPromo 24353 24344 -0.0% 1.00x (?)
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1776 1781 +0.3% 1.00x
StrToInt 3144 3224 +2.5% 0.98x
StringComparison_abnormal 764 793 +3.8% 0.96x
StringComparison_ascii 1002 1038 +3.6% 0.97x
StringComparison_emoji 844 855 +1.3% 0.99x
StringComparison_fastPrenormal 836 871 +4.2% 0.96x
StringComparison_latin1 654 681 +4.1% 0.96x
StringComparison_longSharedPrefix 951 957 +0.6% 0.99x
StringComparison_nonBMPSlowestPrenormal 1675 1673 -0.1% 1.00x (?)
StringComparison_slowerPrenormal 1792 1825 +1.8% 0.98x
StringComparison_zalgo 112467 111613 -0.8% 1.01x
StringEdits 167529 168992 +0.9% 0.99x (?)
StringEnumRawValueInitialization 859 860 +0.1% 1.00x (?)
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2205 2262 +2.6% 0.97x
StringHasPrefixUnicode 99799 99608 -0.2% 1.00x (?)
StringHasSuffixUnicode 100127 100876 +0.7% 0.99x (?)
StringHashing_abnormal 1376 1351 -1.8% 1.02x (?)
StringHashing_ascii 33 34 +3.0% 0.97x
StringHashing_fastPrenormal 8464 8404 -0.7% 1.01x (?)
StringHashing_latin1 2596 2565 -1.2% 1.01x (?)
StringHashing_longSharedPrefix 7892 8041 +1.9% 0.98x
StringHashing_nonBMPSlowestPrenormal 2156 2089 -3.1% 1.03x
StringHashing_slowerPrenormal 2755 2767 +0.4% 1.00x
StringHashing_zalgo 3550 3467 -2.3% 1.02x
StringInterpolation 9249 9280 +0.3% 1.00x (?)
StringInterpolationManySmallSegments 18011 18475 +2.6% 0.97x
StringInterpolationSmall 4156 4326 +4.1% 0.96x
StringMatch 12161 12285 +1.0% 0.99x
StringRemoveDupes 484 483 -0.2% 1.00x (?)
StringUTF16Builder 2648 2662 +0.5% 0.99x
StringUTF16SubstringBuilder 5770 5882 +1.9% 0.98x (?)
StringWalk 1545 1556 +0.7% 0.99x
StringWithCString 46378 44508 -4.0% 1.04x
StringWordBuilder 2304 2327 +1.0% 0.99x
StringWordBuilderReservingCapacity 1925 1964 +2.0% 0.98x
SubstringEqualString 636 641 +0.8% 0.99x (?)
SubstringEquatable 1456 1502 +3.2% 0.97x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 74 74 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 21623 21667 +0.2% 1.00x (?)
SuffixAnySeqCRangeIter 3595 3593 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3596 3591 -0.1% 1.00x (?)
SuffixAnySeqCntRange 17 17 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 17 17 +0.0% 1.00x
SuffixAnySequence 4894 4957 +1.3% 0.99x
SuffixAnySequenceLazy 5017 5090 +1.5% 0.99x
SuffixSequence 3650 3604 -1.3% 1.01x
SuffixSequenceLazy 3652 3592 -1.6% 1.02x
SumUsingReduce 97 97 +0.0% 1.00x
SumUsingReduceInto 97 97 +0.0% 1.00x
SuperChars 20124 20293 +0.8% 0.99x
TwoSum 1465 1440 -1.7% 1.02x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 298 311 +4.4% 0.96x
UTF8Decode_InitDecoding 1357 1360 +0.2% 1.00x (?)
UTF8Decode_InitDecoding_ascii 649 649 +0.0% 1.00x
UTF8Decode_InitFromBytes 1178 1186 +0.7% 0.99x (?)
UTF8Decode_InitFromData_ascii 697 702 +0.7% 0.99x (?)
Walsh 446 432 -3.1% 1.03x
WordCountHistogramASCII 7901 8146 +3.1% 0.97x
WordCountHistogramUTF16 11252 11399 +1.3% 0.99x
WordCountUniqueASCII 2110 2073 -1.8% 1.02x (?)
WordCountUniqueUTF16 4593 4562 -0.7% 1.01x (?)
WordSplitUTF16 11189 11687 +4.5% 0.96x (?)
XorLoop 402 399 -0.7% 1.01x (?)
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

Copy link
Contributor

@moiseev moiseev left a comment

Choose a reason for hiding this comment

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

LGTM

@stephentyrone
Copy link
Contributor

This all seems reasonable to me, but then I didn't even know this existed =)

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.

👍 Closures can still be slower sometimes than protocols with a single function requirement (see ObserverClosure vs ObserverForwardingStruct benchmarks), but _PointerFunction seems way over the top


_sanityCheck(headCount >= 0)
_sanityCheck(newCount >= 0)

let initializeNewElements = initializeNewElements ?? { ptr, count in
Copy link
Member

Choose a reason for hiding this comment

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

What if the closure parameter was non-optional, with this as the default value?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It makes the function signature pretty gnarly but maybe it's worth it?

_ dest: inout _ContiguousArrayBuffer<Element>,
_ headCount: Int, // Count of initial source elements to copy/move
_ newCount: Int, // Number of new elements to insert
_ initializeNewElements: Initializer
) where
Initializer: _PointerFunction,
Copy link
Member

Choose a reason for hiding this comment

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

Idea for an alternative design: replace the closure parameter by returning the newly opened uninitialized gap as an UnsafeMutableBufferPointer, which the callee would be expected to fill in.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Interesting idea! I think I lean more towards keeping the closure, I like scoping the pointer mutation to as small a scope as possible.

@lancep
Copy link
Contributor Author

lancep commented Jul 10, 2018

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 4c3bc53

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 4c3bc53

@lancep lancep merged commit 7c0ff47 into swiftlang:master Jul 10, 2018
@lancep lancep deleted the kill_PointerFunction branch July 10, 2018 20:51
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.

6 participants