Skip to content

[benchmark] Add String.init UTF-8 decoding benchmarks #17213

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 2 commits into from
Jun 15, 2018

Conversation

milseman
Copy link
Member

@milseman milseman commented Jun 14, 2018

Thank you to Caleb Kleveter for reporting the perf difference!

@milseman
Copy link
Member Author

@swift-ci please smoke test

@milseman
Copy link
Member Author

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (28)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 417 599 +43.6% 0.70x
StringBuilderLong 1255 1514 +20.6% 0.83x (?)
RangeIterationSigned 171 200 +17.0% 0.86x
NSDictionaryCastToSwift 6921 7929 +14.6% 0.87x
ChainedFilterMap 1245 1409 +13.2% 0.88x
DataSetCount 552 613 +11.1% 0.90x (?)
DropLastCountableRangeLazy 11 12 +9.1% 0.92x
CharIndexing_chinese_unicodeScalars 12593 13698 +8.8% 0.92x (?)
NopDeinit 30159 32589 +8.1% 0.93x
CharIndexing_punctuated_unicodeScalars_Backwards 3645 3928 +7.8% 0.93x
DictOfArraysToArrayOfDicts 796 856 +7.5% 0.93x (?)
StringEnumRawValueInitialization 865 929 +7.4% 0.93x
CharIteration_tweet_unicodeScalars 40101 43038 +7.3% 0.93x
CharIteration_japanese_unicodeScalars 24304 26058 +7.2% 0.93x
CharIteration_russian_unicodeScalars 16897 18111 +7.2% 0.93x
CharIteration_korean_unicodeScalars 19688 21081 +7.1% 0.93x
CharIteration_ascii_unicodeScalars 20327 21739 +6.9% 0.94x
CharIteration_chinese_unicodeScalars 15365 16412 +6.8% 0.94x
CharIndexing_russian_unicodeScalars 13572 14472 +6.6% 0.94x (?)
StringHasSuffixUnicode 101272 107793 +6.4% 0.94x (?)
CharIndexing_ascii_unicodeScalars 16314 17363 +6.4% 0.94x (?)
CharIndexing_tweet_unicodeScalars 32116 34167 +6.4% 0.94x (?)
CharIteration_punctuated_unicodeScalars 4566 4853 +6.3% 0.94x
CharIteration_punctuatedJapanese_unicodeScalars 3638 3865 +6.2% 0.94x
DictionaryBridge 1180 1253 +6.2% 0.94x
Dictionary4 324 343 +5.9% 0.94x
CharIndexing_punctuated_unicodeScalars 3709 3917 +5.6% 0.95x (?)
CharIndexing_korean_unicodeScalars 16017 16880 +5.4% 0.95x
Improvement (19)
TEST OLD NEW DELTA SPEEDUP
BinaryFloatingPointPropertiesBinade 31 25 -19.4% 1.24x
COWArrayGuaranteedParameterOverhead 9946 8651 -13.0% 1.15x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 52974 48131 -9.1% 1.10x (?)
PopFrontUnsafePointer 9636 8758 -9.1% 1.10x (?)
SuffixCountableRangeLazy 12 11 -8.3% 1.09x
PointerArithmetics 34363 31538 -8.2% 1.09x
MapReduceLazyCollectionShort 37 34 -8.1% 1.09x
DataCount 37 34 -8.1% 1.09x
Calculator 206 191 -7.3% 1.08x
MapReduce 399 370 -7.3% 1.08x
RC4 161 150 -6.8% 1.07x
MapReduceAnyCollection 428 400 -6.5% 1.07x
BinaryFloatingPointPropertiesUlp 37 35 -5.4% 1.06x
DictionarySwapAt 7114 6741 -5.2% 1.06x
CharIndexing_korean_unicodeScalars_Backwards 17132 16239 -5.2% 1.05x (?)
LazilyFilteredArrayContains 38664 36670 -5.2% 1.05x
RemoveWhereFilterString 254 241 -5.1% 1.05x
ObjectiveCBridgeFromNSDictionaryAnyObject 118417 112483 -5.0% 1.05x (?)
AngryPhonebook 3985 3793 -4.8% 1.05x (?)
No Changes (393)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 89662 87898 -2.0% 1.02x (?)
Array2D 2854 2852 -0.1% 1.00x (?)
ArrayAppend 1083 1079 -0.4% 1.00x (?)
ArrayAppendArrayOfInt 802 802 +0.0% 1.00x
ArrayAppendAscii 3815 3975 +4.2% 0.96x (?)
ArrayAppendAsciiSubstring 24183 24220 +0.2% 1.00x (?)
ArrayAppendFromGeneric 805 803 -0.2% 1.00x (?)
ArrayAppendGenericStructs 1427 1405 -1.5% 1.02x (?)
ArrayAppendLatin1 42257 41649 -1.4% 1.01x
ArrayAppendLatin1Substring 142573 142451 -0.1% 1.00x (?)
ArrayAppendLazyMap 1345 1345 +0.0% 1.00x
ArrayAppendOptionals 1428 1397 -2.2% 1.02x (?)
ArrayAppendRepeatCol 1342 1341 -0.1% 1.00x (?)
ArrayAppendReserved 812 812 +0.0% 1.00x
ArrayAppendSequence 1125 1125 +0.0% 1.00x
ArrayAppendStrings 6337 6335 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 802 799 -0.4% 1.00x (?)
ArrayAppendToGeneric 804 801 -0.4% 1.00x
ArrayAppendUTF16 42355 42011 -0.8% 1.01x (?)
ArrayAppendUTF16Substring 140448 140024 -0.3% 1.00x
ArrayInClass 86 86 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 151 +0.0% 1.00x
ArrayOfGenericRef 4400 4440 +0.9% 0.99x (?)
ArrayOfPOD 184 184 +0.0% 1.00x
ArrayOfRef 4399 4380 -0.4% 1.00x (?)
ArrayPlusEqualArrayOfInt 801 800 -0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5434 5441 +0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 1077 1079 +0.2% 1.00x (?)
ArrayPlusEqualThreeElements 1652 1652 +0.0% 1.00x
ArraySubscript 1531 1547 +1.0% 0.99x
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BitCount 211 202 -4.3% 1.04x
ByteSwap 103 103 +0.0% 1.00x
COWTree 5384 5278 -2.0% 1.02x (?)
CSVParsing 658019 656593 -0.2% 1.00x (?)
CSVParsingAlt 821442 816602 -0.6% 1.01x
CSVParsingAltIndices 343966 340376 -1.0% 1.01x
CStringLongAscii 4032 4034 +0.0% 1.00x (?)
CStringLongNonAscii 2357 2352 -0.2% 1.00x
CStringShortAscii 3324 3313 -0.3% 1.00x (?)
CaptureProp 4100 4093 -0.2% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 16031 16250 +1.4% 0.99x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12453 12291 -1.3% 1.01x (?)
CharIndexing_japanese_unicodeScalars 20711 20686 -0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19286 19439 +0.8% 0.99x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2958 3103 +4.9% 0.95x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2917 2936 +0.7% 0.99x
CharIndexing_russian_unicodeScalars_Backwards 13357 13702 +2.6% 0.97x (?)
CharIndexing_tweet_unicodeScalars_Backwards 32739 31974 -2.3% 1.02x (?)
CharIndexing_utf16_unicodeScalars 23394 23522 +0.5% 0.99x (?)
CharIndexing_utf16_unicodeScalars_Backwards 23501 23527 +0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 15100 15358 +1.7% 0.98x
CharIteration_chinese_unicodeScalars_Backwards 11440 11642 +1.8% 0.98x
CharIteration_japanese_unicodeScalars_Backwards 18093 18424 +1.8% 0.98x
CharIteration_korean_unicodeScalars_Backwards 14671 14911 +1.6% 0.98x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2740 2783 +1.6% 0.98x
CharIteration_punctuated_unicodeScalars_Backwards 3426 3486 +1.8% 0.98x
CharIteration_russian_unicodeScalars_Backwards 12599 12807 +1.7% 0.98x
CharIteration_tweet_unicodeScalars_Backwards 29839 30558 +2.4% 0.98x
CharIteration_utf16_unicodeScalars 27583 28089 +1.8% 0.98x
CharIteration_utf16_unicodeScalars_Backwards 18626 18733 +0.6% 0.99x
CharacterLiteralsLarge 5970 5970 +0.0% 1.00x
CharacterLiteralsSmall 220 217 -1.4% 1.01x
CharacterPropertiesFetch 4617 4631 +0.3% 1.00x (?)
CharacterPropertiesPrecomputed 1043 1039 -0.4% 1.00x (?)
CharacterPropertiesStashed 1488 1539 +3.4% 0.97x
CharacterPropertiesStashedMemo 1604 1607 +0.2% 1.00x (?)
Chars 1047 1096 +4.7% 0.96x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 491 491 +0.0% 1.00x
DataAccessBytes 1140 1140 +0.0% 1.00x
DataAppendArray 5509 5389 -2.2% 1.02x
DataAppendBytes 4946 5056 +2.2% 0.98x (?)
DataAppendDataLargeToLarge 68469 69443 +1.4% 0.99x (?)
DataAppendDataLargeToMedium 35440 36415 +2.8% 0.97x
DataAppendDataLargeToSmall 35146 34609 -1.5% 1.02x (?)
DataAppendDataMediumToLarge 38090 38932 +2.2% 0.98x (?)
DataAppendDataMediumToMedium 6702 6953 +3.7% 0.96x (?)
DataAppendDataMediumToSmall 6250 5996 -4.1% 1.04x (?)
DataAppendDataSmallToLarge 37565 37846 +0.7% 0.99x (?)
DataAppendDataSmallToMedium 6288 6211 -1.2% 1.01x (?)
DataAppendDataSmallToSmall 5910 6078 +2.8% 0.97x (?)
DataAppendSequence 21723 21808 +0.4% 1.00x (?)
DataCopyBytes 438 431 -1.6% 1.02x (?)
DataMutateBytes 3910 4003 +2.4% 0.98x (?)
DataReplaceLarge 37727 37073 -1.7% 1.02x (?)
DataReplaceLargeBuffer 57520 57264 -0.4% 1.00x (?)
DataReplaceMedium 7904 7982 +1.0% 0.99x (?)
DataReplaceMediumBuffer 12538 12418 -1.0% 1.01x (?)
DataReplaceSmall 5768 5669 -1.7% 1.02x (?)
DataReplaceSmallBuffer 9694 9920 +2.3% 0.98x (?)
DataReset 2862 2836 -0.9% 1.01x (?)
DataSubscript 220 220 +0.0% 1.00x
Dictionary 509 518 +1.8% 0.98x
Dictionary2 634 636 +0.3% 1.00x
Dictionary2OfObjects 2079 2079 +0.0% 1.00x
Dictionary3 223 225 +0.9% 0.99x (?)
Dictionary3OfObjects 741 740 -0.1% 1.00x (?)
Dictionary4Legacy 742 752 +1.3% 0.99x
Dictionary4OfObjects 447 456 +2.0% 0.98x
Dictionary4OfObjectsLegacy 959 960 +0.1% 1.00x (?)
DictionaryCopy 107393 106852 -0.5% 1.01x (?)
DictionaryFilter 106378 107115 +0.7% 0.99x
DictionaryGroup 216 216 +0.0% 1.00x
DictionaryGroupOfObjects 2161 2144 -0.8% 1.01x (?)
DictionaryKeysContainsCocoa 39 40 +2.6% 0.98x (?)
DictionaryKeysContainsNative 32 32 +0.0% 1.00x
DictionaryLiteral 1920 1944 +1.2% 0.99x
DictionaryOfObjects 2388 2388 +0.0% 1.00x
DictionaryRemove 4237 4181 -1.3% 1.01x
DictionaryRemoveOfObjects 25948 25973 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutation 267 273 +2.2% 0.98x
DictionarySubscriptDefaultMutationArray 604 608 +0.7% 0.99x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 4024 4034 +0.2% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1723 1726 +0.2% 1.00x (?)
DictionarySwap 1040 1041 +0.1% 1.00x (?)
DictionarySwapAtOfObjects 52308 52599 +0.6% 0.99x
DictionarySwapOfObjects 8842 8830 -0.1% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 84 84 +0.0% 1.00x
DropFirstAnyCollectionLazy 65376 64976 -0.6% 1.01x (?)
DropFirstAnySeqCRangeIter 21789 21764 -0.1% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21824 21786 -0.2% 1.00x (?)
DropFirstAnySeqCntRange 41 41 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 41 41 +0.0% 1.00x
DropFirstAnySequence 5132 5178 +0.9% 0.99x
DropFirstAnySequenceLazy 5130 5152 +0.4% 1.00x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2681 2681 +0.0% 1.00x
DropFirstSequenceLazy 2774 2774 +0.0% 1.00x
DropLastAnyCollection 31 31 +0.0% 1.00x
DropLastAnyCollectionLazy 21552 21731 +0.8% 0.99x (?)
DropLastAnySeqCRangeIter 3520 3534 +0.4% 1.00x
DropLastAnySeqCRangeIterLazy 3519 3519 +0.0% 1.00x
DropLastAnySeqCntRange 14 14 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 13 13 +0.0% 1.00x
DropLastAnySequence 4936 4941 +0.1% 1.00x (?)
DropLastAnySequenceLazy 5029 5045 +0.3% 1.00x
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastSequence 641 664 +3.6% 0.97x
DropLastSequenceLazy 641 664 +3.6% 0.97x
DropWhileAnyCollection 108 108 +0.0% 1.00x
DropWhileAnyCollectionLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCRangeIter 17008 17016 +0.0% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCntRange 51 50 -2.0% 1.02x
DropWhileAnySeqCntRangeLazy 126 125 -0.8% 1.01x
DropWhileAnySequence 5133 5135 +0.0% 1.00x (?)
DropWhileAnySequenceLazy 1858 1857 -0.1% 1.00x (?)
DropWhileArrayLazy 88 88 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 105 105 +0.0% 1.00x
DropWhileSequence 2224 2209 -0.7% 1.01x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 48 48 +0.0% 1.00x
EqualSubstringString 48 48 +0.0% 1.00x
EqualSubstringSubstring 48 48 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 48 49 +2.1% 0.98x
ErrorHandling 1184 1203 +1.6% 0.98x
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 198718 199038 +0.2% 1.00x (?)
FilterEvenUsingReduce 1307 1307 +0.0% 1.00x
FilterEvenUsingReduceInto 149 147 -1.3% 1.01x (?)
FloatingPointPrinting_Double_description_small 21664 21607 -0.3% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 21180 21165 -0.1% 1.00x (?)
FloatingPointPrinting_Double_interpolated 61887 62264 +0.6% 0.99x (?)
FloatingPointPrinting_Float80_description_small 28500 28498 -0.0% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 27396 27660 +1.0% 0.99x
FloatingPointPrinting_Float80_interpolated 66024 65869 -0.2% 1.00x (?)
FloatingPointPrinting_Float_description_small 5366 5638 +5.1% 0.95x
FloatingPointPrinting_Float_description_uniform 5445 5399 -0.8% 1.01x
FloatingPointPrinting_Float_interpolated 39097 38678 -1.1% 1.01x (?)
FrequenciesUsingReduce 4915 4958 +0.9% 0.99x (?)
FrequenciesUsingReduceInto 1518 1552 +2.2% 0.98x
Hanoi 2087 2156 +3.3% 0.97x
HashTest 968 948 -2.1% 1.02x
Histogram 698 730 +4.6% 0.96x
Integrate 350 334 -4.6% 1.05x
IterateData 1547 1501 -3.0% 1.03x
Join 171 171 +0.0% 1.00x
LazilyFilteredArrays 64993 66750 +2.7% 0.97x (?)
LazilyFilteredRange 3866 3738 -3.3% 1.03x (?)
LessSubstringSubstring 48 48 +0.0% 1.00x
LessSubstringSubstringGenericComparable 48 49 +2.1% 0.98x
LinkedList 7538 7536 -0.0% 1.00x (?)
LuhnAlgoEager 441 440 -0.2% 1.00x (?)
LuhnAlgoLazy 444 444 +0.0% 1.00x
MapReduceAnyCollectionShort 2254 2244 -0.4% 1.00x (?)
MapReduceClass 3005 3006 +0.0% 1.00x (?)
MapReduceClassShort 4562 4567 +0.1% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 465 456 -1.9% 1.02x (?)
MapReduceShort 2000 2010 +0.5% 1.00x (?)
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 48 48 +0.0% 1.00x
Memset 214 219 +2.3% 0.98x (?)
MonteCarloE 10369 10308 -0.6% 1.01x (?)
MonteCarloPi 42968 42689 -0.6% 1.01x
NSError 167 165 -1.2% 1.01x
NSStringConversion 678 674 -0.6% 1.01x
NibbleSort 3696 3668 -0.8% 1.01x
ObjectAllocation 132 132 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 25450 26044 +2.3% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 5226 5420 +3.7% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 44482 46438 +4.4% 0.96x (?)
ObjectiveCBridgeFromNSSetAnyObject 52312 51922 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4970 5214 +4.9% 0.95x
ObjectiveCBridgeFromNSSetAnyObjectToString 68701 68323 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSString 1245 1239 -0.5% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2705 2702 -0.1% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6666 6569 -1.5% 1.01x (?)
ObjectiveCBridgeStubDateMutation 401 401 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 34748 36310 +4.5% 0.96x (?)
ObjectiveCBridgeStubFromNSDate 6171 6279 +1.8% 0.98x
ObjectiveCBridgeStubFromNSString 1020 1029 +0.9% 0.99x
ObjectiveCBridgeStubFromNSStringRef 159 158 -0.6% 1.01x
ObjectiveCBridgeStubNSDataAppend 2580 2555 -1.0% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 13251 13452 +1.5% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 40400 40385 -0.0% 1.00x (?)
ObjectiveCBridgeStubToNSDate 15276 15152 -0.8% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3437 3433 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 2341 2342 +0.0% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 116 116 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 279341 287345 +2.9% 0.97x (?)
ObjectiveCBridgeStubURLAppendPathRef 290727 299496 +3.0% 0.97x
ObjectiveCBridgeToNSArray 15151 15665 +3.4% 0.97x (?)
ObjectiveCBridgeToNSDictionary 28500 27754 -2.6% 1.03x (?)
ObjectiveCBridgeToNSSet 19308 19160 -0.8% 1.01x (?)
ObjectiveCBridgeToNSString 454 452 -0.4% 1.00x
ObserverClosure 2153 2157 +0.2% 1.00x (?)
ObserverForwarderStruct 1216 1215 -0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 3702 3745 +1.2% 0.99x
ObserverUnappliedMethod 2465 2483 +0.7% 0.99x
OpaqueConsumingUsers 4179 4187 +0.2% 1.00x
OpenClose 65 63 -3.1% 1.03x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 6641 6591 -0.8% 1.01x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1962 1889 -3.7% 1.04x (?)
PopFrontArrayGeneric 1986 1992 +0.3% 1.00x (?)
PrefixAnyCollection 84 84 +0.0% 1.00x
PrefixAnyCollectionLazy 65199 64769 -0.7% 1.01x (?)
PrefixAnySeqCRangeIter 16773 16775 +0.0% 1.00x (?)
PrefixAnySeqCRangeIterLazy 16628 16620 -0.0% 1.00x (?)
PrefixAnySeqCntRange 28 28 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 28 28 +0.0% 1.00x
PrefixAnySequence 4482 4497 +0.3% 1.00x (?)
PrefixAnySequenceLazy 4482 4482 +0.0% 1.00x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 2222 2218 -0.2% 1.00x
PrefixSequenceLazy 2275 2275 +0.0% 1.00x
PrefixWhileAnyCollection 154 155 +0.6% 0.99x
PrefixWhileAnyCollectionLazy 90 90 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 8695 8682 -0.1% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 72 72 +0.0% 1.00x
PrefixWhileAnySeqCntRange 60 60 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 90 90 +0.0% 1.00x
PrefixWhileAnySequence 9824 9914 +0.9% 0.99x
PrefixWhileAnySequenceLazy 1393 1393 +0.0% 1.00x
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 362 361 -0.3% 1.00x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 913 913 +0.0% 1.00x
PrimsSplit 919 910 -1.0% 1.01x (?)
QueueConcrete 1148 1152 +0.3% 1.00x
QueueGeneric 1146 1146 +0.0% 1.00x
RGBHistogram 3249 3298 +1.5% 0.99x
RGBHistogramOfObjects 23735 23839 +0.4% 1.00x (?)
Radix2CooleyTukey 12422 12282 -1.1% 1.01x (?)
Radix2CooleyTukeyf 8987 9091 +1.2% 0.99x (?)
RandomDoubleDef 26811 26792 -0.1% 1.00x (?)
RandomDoubleLCG 2914 2919 +0.2% 1.00x
RandomIntegersDef 24402 24502 +0.4% 1.00x
RandomIntegersLCG 994 994 +0.0% 1.00x
RandomShuffleDef 809511 808146 -0.2% 1.00x
RandomShuffleLCG 120591 121612 +0.8% 0.99x
RangeAssignment 352 336 -4.5% 1.05x
RangeReplaceableCollectionPlusDefault 1017 1011 -0.6% 1.01x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 46 47 +2.2% 0.98x
RemoveWhereFilterStrings 437 437 +0.0% 1.00x
RemoveWhereMoveInts 15 15 +0.0% 1.00x
RemoveWhereMoveStrings 711 707 -0.6% 1.01x (?)
RemoveWhereQuadraticInts 1299 1299 +0.0% 1.00x
RemoveWhereQuadraticString 372 374 +0.5% 0.99x (?)
RemoveWhereQuadraticStrings 2766 2763 -0.1% 1.00x
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 860 859 -0.1% 1.00x (?)
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16931 16664 -1.6% 1.02x
ReversedDictionary 276 284 +2.9% 0.97x (?)
RomanNumbers 80081 82048 +2.5% 0.98x
SequenceAlgosAnySequence 11958 11966 +0.1% 1.00x (?)
SequenceAlgosArray 1578 1579 +0.1% 1.00x
SequenceAlgosContiguousArray 1578 1581 +0.2% 1.00x (?)
SequenceAlgosList 1352 1357 +0.4% 1.00x
SequenceAlgosRange 2576 2577 +0.0% 1.00x (?)
SequenceAlgosUnfoldSequence 1102 1102 +0.0% 1.00x
SetExclusiveOr 5020 5131 +2.2% 0.98x
SetExclusiveOr_OfObjects 11696 11695 -0.0% 1.00x (?)
SetIntersect 702 700 -0.3% 1.00x (?)
SetIntersect_OfObjects 1763 1832 +3.9% 0.96x
SetIsSubsetOf 344 343 -0.3% 1.00x
SetIsSubsetOf_OfObjects 441 444 +0.7% 0.99x
SetUnion 4355 4374 +0.4% 1.00x
SetUnion_OfObjects 10046 10037 -0.1% 1.00x (?)
SevenBoom 846 847 +0.1% 1.00x (?)
SortLargeExistentials 5494 5560 +1.2% 0.99x
SortLettersInPlace 1002 998 -0.4% 1.00x (?)
SortSortedStrings 833 857 +2.9% 0.97x
SortStrings 1763 1760 -0.2% 1.00x
SortStringsUnicode 2527 2505 -0.9% 1.01x
StackPromo 25153 24668 -1.9% 1.02x
StaticArray 10 10 +0.0% 1.00x
StrComplexWalk 1780 1776 -0.2% 1.00x
StrToInt 3151 3180 +0.9% 0.99x
StringAdder 561 559 -0.4% 1.00x
StringBuilder 472 471 -0.2% 1.00x
StringBuilderSmallReservingCapacity 492 495 +0.6% 0.99x
StringBuilderWithLongSubstring 1482 1510 +1.9% 0.98x (?)
StringComparison_abnormal 803 802 -0.1% 1.00x (?)
StringComparison_ascii 1024 1002 -2.1% 1.02x
StringComparison_emoji 853 851 -0.2% 1.00x (?)
StringComparison_fastPrenormal 854 830 -2.8% 1.03x
StringComparison_latin1 644 668 +3.7% 0.96x
StringComparison_longSharedPrefix 945 948 +0.3% 1.00x
StringComparison_nonBMPSlowestPrenormal 1655 1662 +0.4% 1.00x (?)
StringComparison_slowerPrenormal 1778 1779 +0.1% 1.00x (?)
StringComparison_zalgo 120419 120085 -0.3% 1.00x (?)
StringEdits 173983 173653 -0.2% 1.00x (?)
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 22 22 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2205 2204 -0.0% 1.00x (?)
StringHasPrefixUnicode 99272 100628 +1.4% 0.99x (?)
StringHasSuffixAscii 2290 2292 +0.1% 1.00x (?)
StringInterpolation 9131 9122 -0.1% 1.00x (?)
StringInterpolationManySmallSegments 18443 18645 +1.1% 0.99x (?)
StringInterpolationSmall 4296 4294 -0.0% 1.00x (?)
StringMatch 12719 12797 +0.6% 0.99x
StringRemoveDupes 487 495 +1.6% 0.98x
StringUTF16Builder 2650 2669 +0.7% 0.99x (?)
StringUTF16SubstringBuilder 5987 6235 +4.1% 0.96x (?)
StringWalk 1550 1546 -0.3% 1.00x
StringWithCString 42982 43079 +0.2% 1.00x
StringWordBuilder 2294 2304 +0.4% 1.00x
StringWordBuilderReservingCapacity 1895 1901 +0.3% 1.00x (?)
SubstringComparable 13 13 +0.0% 1.00x
SubstringEqualString 628 630 +0.3% 1.00x (?)
SubstringEquatable 1444 1448 +0.3% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 74 74 +0.0% 1.00x
SuffixAnyCollection 31 31 +0.0% 1.00x
SuffixAnyCollectionLazy 22513 22662 +0.7% 0.99x (?)
SuffixAnySeqCRangeIter 3739 3748 +0.2% 1.00x
SuffixAnySeqCRangeIterLazy 3744 3743 -0.0% 1.00x (?)
SuffixAnySeqCntRange 21 21 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 21 21 +0.0% 1.00x
SuffixAnySequence 4949 4918 -0.6% 1.01x
SuffixAnySequenceLazy 5073 5036 -0.7% 1.01x
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixSequence 3661 3598 -1.7% 1.02x
SuffixSequenceLazy 3668 3603 -1.8% 1.02x
SumUsingReduce 97 102 +5.2% 0.95x
SumUsingReduceInto 97 101 +4.1% 0.96x
SuperChars 15643 15809 +1.1% 0.99x
TwoSum 1474 1493 +1.3% 0.99x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 312 312 +0.0% 1.00x
Walsh 448 436 -2.7% 1.03x
WordCountHistogramASCII 8035 8075 +0.5% 1.00x
WordCountHistogramUTF16 14153 14332 +1.3% 0.99x
WordCountUniqueASCII 2062 2061 -0.0% 1.00x (?)
WordCountUniqueUTF16 7379 7542 +2.2% 0.98x (?)
WordSplitASCII 7455 7120 -4.5% 1.05x
WordSplitUTF16 9334 8896 -4.7% 1.05x
XorLoop 401 402 +0.2% 1.00x (?)
Added (3)
TEST MIN MAX MEAN MAX_RSS
UTF8Decode_InitDecoding_ascii 2527 2530 2529 7868416
UTF8Decode_InitFromBytes_ascii 555 799 644 7961259
UTF8Decode_InitFromData_ascii 811 949 862 8024064
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

@milseman
Copy link
Member Author

@swift-ci please smoke test

@milseman
Copy link
Member Author

@swift-ci please smoke benchmark

@milseman
Copy link
Member Author

(The benchmark runs are just to make sure it builds and runs on bot configurations. They build and run locally for me)

@swift-ci
Copy link
Contributor

Build comment file:

Build failed before running benchmark.


@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (10)
TEST OLD NEW DELTA SPEEDUP
DataAppendDataSmallToLarge 38266 61306 +60.2% 0.62x
ObjectiveCBridgeFromNSStringForced 2717 3168 +16.6% 0.86x (?)
COWArrayGuaranteedParameterOverhead 8728 9972 +14.3% 0.88x (?)
DataReplaceMediumBuffer 11609 12967 +11.7% 0.90x (?)
DataAppendBytes 5035 5556 +10.3% 0.91x
PopFrontUnsafePointer 8744 9499 +8.6% 0.92x (?)
DataAppendDataMediumToMedium 6708 7253 +8.1% 0.92x (?)
StringUTF16SubstringBuilder 5957 6394 +7.3% 0.93x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 47043 50076 +6.4% 0.94x
CharIndexing_punctuatedJapanese_unicodeScalars 2958 3114 +5.3% 0.95x (?)
Improvement (7)
TEST OLD NEW DELTA SPEEDUP
StringBuilderWithLongSubstring 1928 1459 -24.3% 1.32x
NSDictionaryCastToSwift 7483 6795 -9.2% 1.10x (?)
CharIndexing_chinese_unicodeScalars 13590 12651 -6.9% 1.07x (?)
ObjectiveCBridgeFromNSArrayAnyObject 27944 26094 -6.6% 1.07x
DataSetCount 582 549 -5.7% 1.06x (?)
MapReduceLazyCollectionShort 38 36 -5.3% 1.06x
RemoveWhereFilterString 255 242 -5.1% 1.05x
No Changes (423)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3745 3790 +1.2% 0.99x (?)
AnyHashableWithAClass 86732 86808 +0.1% 1.00x (?)
Array2D 2858 2856 -0.1% 1.00x (?)
ArrayAppend 1082 1080 -0.2% 1.00x
ArrayAppendArrayOfInt 801 801 +0.0% 1.00x
ArrayAppendAscii 3809 3882 +1.9% 0.98x (?)
ArrayAppendAsciiSubstring 24164 24188 +0.1% 1.00x (?)
ArrayAppendFromGeneric 795 803 +1.0% 0.99x (?)
ArrayAppendGenericStructs 1430 1407 -1.6% 1.02x (?)
ArrayAppendLatin1 42232 42041 -0.5% 1.00x
ArrayAppendLatin1Substring 142827 142555 -0.2% 1.00x
ArrayAppendLazyMap 1345 1346 +0.1% 1.00x (?)
ArrayAppendOptionals 1444 1428 -1.1% 1.01x (?)
ArrayAppendRepeatCol 1343 1340 -0.2% 1.00x (?)
ArrayAppendReserved 812 811 -0.1% 1.00x (?)
ArrayAppendSequence 1125 1125 +0.0% 1.00x
ArrayAppendStrings 6339 6336 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 802 799 -0.4% 1.00x (?)
ArrayAppendToGeneric 803 785 -2.2% 1.02x (?)
ArrayAppendUTF16 42130 42338 +0.5% 1.00x (?)
ArrayAppendUTF16Substring 140375 139583 -0.6% 1.01x
ArrayInClass 86 85 -1.2% 1.01x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 151 +0.0% 1.00x
ArrayOfGenericRef 4383 4401 +0.4% 1.00x (?)
ArrayOfPOD 184 184 +0.0% 1.00x
ArrayOfRef 4371 4377 +0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 790 804 +1.8% 0.98x
ArrayPlusEqualFiveElementCollection 5395 5488 +1.7% 0.98x (?)
ArrayPlusEqualSingleElementCollection 1079 1082 +0.3% 1.00x (?)
ArrayPlusEqualThreeElements 1654 1657 +0.2% 1.00x (?)
ArraySubscript 1542 1543 +0.1% 1.00x (?)
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointPropertiesBinade 31 31 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 37 37 +0.0% 1.00x
BitCount 211 211 +0.0% 1.00x
ByteSwap 103 102 -1.0% 1.01x
COWTree 5453 5269 -3.4% 1.03x (?)
CSVParsing 656832 655088 -0.3% 1.00x (?)
CSVParsingAlt 818990 819515 +0.1% 1.00x (?)
CSVParsingAltIndices 342966 343434 +0.1% 1.00x (?)
CStringLongAscii 4034 4032 -0.0% 1.00x (?)
CStringLongNonAscii 2351 2353 +0.1% 1.00x (?)
CStringShortAscii 3323 3323 +0.0% 1.00x
Calculator 206 206 +0.0% 1.00x
CaptureProp 4077 4090 +0.3% 1.00x (?)
ChainedFilterMap 1248 1247 -0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars 16290 16278 -0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 16052 16048 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12169 12140 -0.2% 1.00x
CharIndexing_japanese_unicodeScalars 19498 19616 +0.6% 0.99x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19183 19194 +0.1% 1.00x (?)
CharIndexing_korean_unicodeScalars 15793 15789 -0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 15545 15550 +0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2915 2913 -0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 3701 3859 +4.3% 0.96x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3645 3640 -0.1% 1.00x
CharIndexing_russian_unicodeScalars 13567 13567 +0.0% 1.00x
CharIndexing_russian_unicodeScalars_Backwards 13366 13364 -0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 32107 32087 -0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 31644 31613 -0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars 22856 22823 -0.1% 1.00x
CharIndexing_utf16_unicodeScalars_Backwards 23300 23288 -0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars 20315 20442 +0.6% 0.99x
CharIteration_ascii_unicodeScalars_Backwards 15110 15100 -0.1% 1.00x
CharIteration_chinese_unicodeScalars 15355 15475 +0.8% 0.99x
CharIteration_chinese_unicodeScalars_Backwards 11460 11440 -0.2% 1.00x
CharIteration_japanese_unicodeScalars 24305 24486 +0.7% 0.99x
CharIteration_japanese_unicodeScalars_Backwards 18083 18072 -0.1% 1.00x (?)
CharIteration_korean_unicodeScalars 19716 19838 +0.6% 0.99x
CharIteration_korean_unicodeScalars_Backwards 14643 14646 +0.0% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3639 3679 +1.1% 0.99x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2737 2730 -0.3% 1.00x
CharIteration_punctuated_unicodeScalars 4568 4613 +1.0% 0.99x
CharIteration_punctuated_unicodeScalars_Backwards 3427 3420 -0.2% 1.00x
CharIteration_russian_unicodeScalars 16888 17029 +0.8% 0.99x
CharIteration_russian_unicodeScalars_Backwards 12584 12585 +0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars 40088 40664 +1.4% 0.99x
CharIteration_tweet_unicodeScalars_Backwards 29855 29851 -0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars 27676 27727 +0.2% 1.00x
CharIteration_utf16_unicodeScalars_Backwards 18624 18620 -0.0% 1.00x (?)
CharacterLiteralsLarge 5934 5965 +0.5% 0.99x (?)
CharacterLiteralsSmall 220 220 +0.0% 1.00x
CharacterPropertiesFetch 4640 4635 -0.1% 1.00x (?)
CharacterPropertiesPrecomputed 1044 1035 -0.9% 1.01x
CharacterPropertiesStashed 1486 1531 +3.0% 0.97x
CharacterPropertiesStashedMemo 1600 1611 +0.7% 0.99x (?)
Chars 1047 1046 -0.1% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 492 496 +0.8% 0.99x
DataAccessBytes 1145 1141 -0.3% 1.00x (?)
DataAppendArray 5374 5397 +0.4% 1.00x (?)
DataAppendDataLargeToLarge 68512 68751 +0.3% 1.00x (?)
DataAppendDataLargeToMedium 35677 35608 -0.2% 1.00x (?)
DataAppendDataLargeToSmall 35179 34679 -1.4% 1.01x
DataAppendDataMediumToLarge 38427 38645 +0.6% 0.99x (?)
DataAppendDataMediumToSmall 6113 6003 -1.8% 1.02x (?)
DataAppendDataSmallToMedium 6394 6215 -2.8% 1.03x (?)
DataAppendDataSmallToSmall 6040 6076 +0.6% 0.99x (?)
DataAppendSequence 20770 21050 +1.3% 0.99x (?)
DataCopyBytes 480 475 -1.0% 1.01x (?)
DataCount 37 37 +0.0% 1.00x
DataMutateBytes 4082 4138 +1.4% 0.99x (?)
DataReplaceLarge 36861 37796 +2.5% 0.98x (?)
DataReplaceLargeBuffer 58188 57258 -1.6% 1.02x (?)
DataReplaceMedium 7845 7674 -2.2% 1.02x (?)
DataReplaceSmall 5778 5566 -3.7% 1.04x
DataReplaceSmallBuffer 9049 9281 +2.6% 0.98x (?)
DataReset 2834 2807 -1.0% 1.01x (?)
DataSubscript 220 220 +0.0% 1.00x
DictOfArraysToArrayOfDicts 811 789 -2.7% 1.03x (?)
Dictionary 518 520 +0.4% 1.00x (?)
Dictionary2 634 643 +1.4% 0.99x
Dictionary2OfObjects 2081 2124 +2.1% 0.98x (?)
Dictionary3 222 229 +3.2% 0.97x
Dictionary3OfObjects 743 738 -0.7% 1.01x
Dictionary4 323 336 +4.0% 0.96x
Dictionary4Legacy 738 736 -0.3% 1.00x
Dictionary4OfObjects 447 454 +1.6% 0.98x
Dictionary4OfObjectsLegacy 959 960 +0.1% 1.00x (?)
DictionaryBridge 1205 1171 -2.8% 1.03x (?)
DictionaryCopy 107957 108301 +0.3% 1.00x (?)
DictionaryFilter 108153 108444 +0.3% 1.00x (?)
DictionaryGroup 216 218 +0.9% 0.99x (?)
DictionaryGroupOfObjects 2137 2129 -0.4% 1.00x (?)
DictionaryKeysContainsCocoa 40 39 -2.5% 1.03x (?)
DictionaryKeysContainsNative 32 32 +0.0% 1.00x
DictionaryLiteral 1920 1944 +1.2% 0.99x
DictionaryOfObjects 2383 2382 -0.0% 1.00x (?)
DictionaryRemove 4265 4246 -0.4% 1.00x (?)
DictionaryRemoveOfObjects 25994 26263 +1.0% 0.99x
DictionarySubscriptDefaultMutation 267 268 +0.4% 1.00x
DictionarySubscriptDefaultMutationArray 613 612 -0.2% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 4052 4056 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1738 1744 +0.3% 1.00x (?)
DictionarySwap 1051 1053 +0.2% 1.00x (?)
DictionarySwapAt 7171 7036 -1.9% 1.02x (?)
DictionarySwapAtOfObjects 52239 52353 +0.2% 1.00x (?)
DictionarySwapOfObjects 8865 8957 +1.0% 0.99x
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 84 84 +0.0% 1.00x
DropFirstAnyCollectionLazy 65674 67608 +2.9% 0.97x (?)
DropFirstAnySeqCRangeIter 21622 21587 -0.2% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21638 21578 -0.3% 1.00x
DropFirstAnySeqCntRange 41 41 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 41 41 +0.0% 1.00x
DropFirstAnySequence 5064 5046 -0.4% 1.00x
DropFirstAnySequenceLazy 5067 5053 -0.3% 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 2681 +0.0% 1.00x (?)
DropFirstSequenceLazy 2774 2776 +0.1% 1.00x (?)
DropLastAnyCollection 31 31 +0.0% 1.00x
DropLastAnyCollectionLazy 22672 22644 -0.1% 1.00x (?)
DropLastAnySeqCRangeIter 3527 3532 +0.1% 1.00x
DropLastAnySeqCRangeIterLazy 3526 3520 -0.2% 1.00x (?)
DropLastAnySeqCntRange 13 13 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 14 14 +0.0% 1.00x
DropLastAnySequence 4941 4915 -0.5% 1.01x
DropLastAnySequenceLazy 5040 5020 -0.4% 1.00x (?)
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropLastSequence 641 634 -1.1% 1.01x (?)
DropLastSequenceLazy 641 635 -0.9% 1.01x
DropWhileAnyCollection 108 108 +0.0% 1.00x
DropWhileAnyCollectionLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCRangeIter 17061 17035 -0.2% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCntRange 51 51 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 125 125 +0.0% 1.00x
DropWhileAnySequence 4857 4849 -0.2% 1.00x
DropWhileAnySequenceLazy 1858 1856 -0.1% 1.00x
DropWhileArrayLazy 88 88 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 105 105 +0.0% 1.00x
DropWhileSequence 2222 2214 -0.4% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 48 48 +0.0% 1.00x
EqualSubstringString 48 48 +0.0% 1.00x
EqualSubstringSubstring 48 48 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 48 47 -2.1% 1.02x
ErrorHandling 1206 1242 +3.0% 0.97x
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 199162 199527 +0.2% 1.00x
FilterEvenUsingReduce 1306 1320 +1.1% 0.99x
FilterEvenUsingReduceInto 151 148 -2.0% 1.02x
FloatingPointPrinting_Double_description_small 21452 21585 +0.6% 0.99x (?)
FloatingPointPrinting_Double_description_uniform 21287 21213 -0.3% 1.00x (?)
FloatingPointPrinting_Double_interpolated 62163 62535 +0.6% 0.99x (?)
FloatingPointPrinting_Float80_description_small 28481 28448 -0.1% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 27583 27517 -0.2% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 65785 64887 -1.4% 1.01x (?)
FloatingPointPrinting_Float_description_small 5358 5522 +3.1% 0.97x
FloatingPointPrinting_Float_description_uniform 5440 5341 -1.8% 1.02x
FloatingPointPrinting_Float_interpolated 38696 38747 +0.1% 1.00x (?)
FrequenciesUsingReduce 4922 4882 -0.8% 1.01x (?)
FrequenciesUsingReduceInto 1515 1497 -1.2% 1.01x (?)
Hanoi 2091 2092 +0.0% 1.00x (?)
HashTest 954 951 -0.3% 1.00x (?)
Histogram 699 699 +0.0% 1.00x
Integrate 350 342 -2.3% 1.02x
IterateData 1547 1548 +0.1% 1.00x (?)
Join 172 172 +0.0% 1.00x
LazilyFilteredArrayContains 38657 37447 -3.1% 1.03x
LazilyFilteredArrays 67084 64862 -3.3% 1.03x (?)
LazilyFilteredRange 3864 3877 +0.3% 1.00x
LessSubstringSubstring 48 48 +0.0% 1.00x
LessSubstringSubstringGenericComparable 48 48 +0.0% 1.00x
LinkedList 7554 7539 -0.2% 1.00x (?)
LuhnAlgoEager 439 435 -0.9% 1.01x (?)
LuhnAlgoLazy 443 437 -1.4% 1.01x
MapReduce 398 398 +0.0% 1.00x
MapReduceAnyCollection 429 428 -0.2% 1.00x
MapReduceAnyCollectionShort 2259 2272 +0.6% 0.99x (?)
MapReduceClass 2998 3002 +0.1% 1.00x (?)
MapReduceClassShort 4563 4579 +0.4% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 457 449 -1.8% 1.02x
MapReduceShort 1991 1997 +0.3% 1.00x
MapReduceShortString 20 21 +5.0% 0.95x
MapReduceString 48 48 +0.0% 1.00x
Memset 216 221 +2.3% 0.98x
MonteCarloE 10369 10336 -0.3% 1.00x
MonteCarloPi 42939 42951 +0.0% 1.00x (?)
NSError 167 164 -1.8% 1.02x
NSStringConversion 677 680 +0.4% 1.00x
NibbleSort 3695 3699 +0.1% 1.00x
NopDeinit 30170 30156 -0.0% 1.00x (?)
ObjectAllocation 134 132 -1.5% 1.02x
ObjectiveCBridgeFromNSArrayAnyObjectForced 5242 5232 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 51802 49881 -3.7% 1.04x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 116300 122208 +5.1% 0.95x (?)
ObjectiveCBridgeFromNSSetAnyObject 50259 52614 +4.7% 0.96x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5277 5042 -4.5% 1.05x
ObjectiveCBridgeFromNSSetAnyObjectToString 69174 69791 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSString 1244 1239 -0.4% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6489 6374 -1.8% 1.02x (?)
ObjectiveCBridgeStubDateMutation 401 400 -0.2% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 34121 33277 -2.5% 1.03x (?)
ObjectiveCBridgeStubFromNSDate 6162 6280 +1.9% 0.98x (?)
ObjectiveCBridgeStubFromNSString 1021 1023 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 158 161 +1.9% 0.98x
ObjectiveCBridgeStubNSDataAppend 2593 2705 +4.3% 0.96x
ObjectiveCBridgeStubNSDateMutationRef 13435 13304 -1.0% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 40705 40404 -0.7% 1.01x (?)
ObjectiveCBridgeStubToNSDate 15203 15359 +1.0% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3431 3458 +0.8% 0.99x (?)
ObjectiveCBridgeStubToNSString 2353 2347 -0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 116 116 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 285865 281092 -1.7% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 281955 277168 -1.7% 1.02x (?)
ObjectiveCBridgeToNSArray 14961 15681 +4.8% 0.95x (?)
ObjectiveCBridgeToNSDictionary 28366 28519 +0.5% 0.99x (?)
ObjectiveCBridgeToNSSet 18298 18656 +2.0% 0.98x (?)
ObjectiveCBridgeToNSString 453 452 -0.2% 1.00x
ObserverClosure 2158 2164 +0.3% 1.00x (?)
ObserverForwarderStruct 1217 1218 +0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 3732 3744 +0.3% 1.00x (?)
ObserverUnappliedMethod 2552 2475 -3.0% 1.03x
OpaqueConsumingUsers 4179 4183 +0.1% 1.00x (?)
OpenClose 65 65 +0.0% 1.00x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 6641 6637 -0.1% 1.00x (?)
PointerArithmetics 34385 34345 -0.1% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1960 1965 +0.3% 1.00x (?)
PopFrontArrayGeneric 1984 1903 -4.1% 1.04x (?)
PrefixAnyCollection 84 84 +0.0% 1.00x
PrefixAnyCollectionLazy 67944 65396 -3.8% 1.04x (?)
PrefixAnySeqCRangeIter 16735 16738 +0.0% 1.00x (?)
PrefixAnySeqCRangeIterLazy 16750 16732 -0.1% 1.00x (?)
PrefixAnySeqCntRange 28 28 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 28 28 +0.0% 1.00x
PrefixAnySequence 4327 4333 +0.1% 1.00x
PrefixAnySequenceLazy 4338 4343 +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 2223 2223 +0.0% 1.00x
PrefixSequenceLazy 2276 2275 -0.0% 1.00x (?)
PrefixWhileAnyCollection 154 154 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 90 90 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 8688 8692 +0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 72 72 +0.0% 1.00x
PrefixWhileAnySeqCntRange 60 60 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 90 90 +0.0% 1.00x
PrefixWhileAnySequence 9826 9817 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1393 1393 +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 361 362 +0.3% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 910 912 +0.2% 1.00x (?)
PrimsSplit 916 906 -1.1% 1.01x (?)
QueueConcrete 1149 1150 +0.1% 1.00x
QueueGeneric 1147 1148 +0.1% 1.00x (?)
RC4 161 161 +0.0% 1.00x
RGBHistogram 3193 3210 +0.5% 0.99x (?)
RGBHistogramOfObjects 23689 23721 +0.1% 1.00x (?)
Radix2CooleyTukey 12417 12433 +0.1% 1.00x (?)
Radix2CooleyTukeyf 9067 8940 -1.4% 1.01x
RandomDoubleDef 26881 26800 -0.3% 1.00x
RandomDoubleLCG 2914 2940 +0.9% 0.99x
RandomIntegersDef 24373 24486 +0.5% 1.00x
RandomIntegersLCG 994 994 +0.0% 1.00x
RandomShuffleDef 810029 812478 +0.3% 1.00x
RandomShuffleLCG 121137 121565 +0.4% 1.00x (?)
RangeAssignment 349 349 +0.0% 1.00x
RangeIterationSigned 171 171 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 1019 1014 -0.5% 1.00x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 46 46 +0.0% 1.00x
RemoveWhereFilterStrings 437 437 +0.0% 1.00x
RemoveWhereMoveInts 15 15 +0.0% 1.00x
RemoveWhereMoveStrings 708 709 +0.1% 1.00x
RemoveWhereQuadraticInts 1302 1296 -0.5% 1.00x
RemoveWhereQuadraticString 374 383 +2.4% 0.98x (?)
RemoveWhereQuadraticStrings 2765 2762 -0.1% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 862 860 -0.2% 1.00x (?)
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 17132 16694 -2.6% 1.03x
ReversedDictionary 270 270 +0.0% 1.00x
RomanNumbers 79992 81209 +1.5% 0.99x
SequenceAlgosAnySequence 11946 12008 +0.5% 0.99x
SequenceAlgosArray 1583 1584 +0.1% 1.00x (?)
SequenceAlgosContiguousArray 1584 1588 +0.3% 1.00x
SequenceAlgosList 1359 1352 -0.5% 1.01x
SequenceAlgosRange 2578 2577 -0.0% 1.00x (?)
SequenceAlgosUnfoldSequence 1103 1102 -0.1% 1.00x
SetExclusiveOr 4988 4999 +0.2% 1.00x (?)
SetExclusiveOr_OfObjects 11669 11622 -0.4% 1.00x
SetIntersect 696 698 +0.3% 1.00x (?)
SetIntersect_OfObjects 1787 1762 -1.4% 1.01x
SetIsSubsetOf 343 342 -0.3% 1.00x
SetIsSubsetOf_OfObjects 442 441 -0.2% 1.00x (?)
SetUnion 4377 4388 +0.3% 1.00x (?)
SetUnion_OfObjects 10055 10012 -0.4% 1.00x
SevenBoom 845 838 -0.8% 1.01x (?)
Sim2DArray 417 417 +0.0% 1.00x
SortLargeExistentials 5460 5459 -0.0% 1.00x (?)
SortLettersInPlace 1001 995 -0.6% 1.01x
SortSortedStrings 833 835 +0.2% 1.00x (?)
SortStrings 1764 1766 +0.1% 1.00x
SortStringsUnicode 2528 2532 +0.2% 1.00x (?)
StackPromo 25752 24652 -4.3% 1.04x
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1779 1779 +0.0% 1.00x
StrToInt 3151 3152 +0.0% 1.00x (?)
StringAdder 561 561 +0.0% 1.00x
StringBuilder 472 472 +0.0% 1.00x
StringBuilderLong 1281 1260 -1.6% 1.02x (?)
StringBuilderSmallReservingCapacity 493 493 +0.0% 1.00x
StringComparison_abnormal 798 797 -0.1% 1.00x (?)
StringComparison_ascii 1020 1016 -0.4% 1.00x
StringComparison_emoji 854 852 -0.2% 1.00x (?)
StringComparison_fastPrenormal 855 821 -4.0% 1.04x
StringComparison_latin1 645 648 +0.5% 1.00x
StringComparison_longSharedPrefix 946 942 -0.4% 1.00x
StringComparison_nonBMPSlowestPrenormal 1669 1657 -0.7% 1.01x
StringComparison_slowerPrenormal 1775 1783 +0.5% 1.00x
StringComparison_zalgo 120830 120344 -0.4% 1.00x (?)
StringEdits 174599 173334 -0.7% 1.01x (?)
StringEnumRawValueInitialization 873 882 +1.0% 0.99x
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 22 22 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2204 2205 +0.0% 1.00x
StringHasPrefixUnicode 100177 99641 -0.5% 1.01x (?)
StringHasSuffixAscii 2291 2371 +3.5% 0.97x
StringHasSuffixUnicode 100909 101241 +0.3% 1.00x (?)
StringInterpolation 9131 9077 -0.6% 1.01x (?)
StringInterpolationManySmallSegments 18503 18534 +0.2% 1.00x (?)
StringInterpolationSmall 4298 4289 -0.2% 1.00x (?)
StringMatch 12724 12521 -1.6% 1.02x (?)
StringRemoveDupes 493 487 -1.2% 1.01x
StringUTF16Builder 2664 2689 +0.9% 0.99x (?)
StringWalk 1549 1554 +0.3% 1.00x
StringWithCString 42980 42988 +0.0% 1.00x (?)
StringWordBuilder 2305 2303 -0.1% 1.00x (?)
StringWordBuilderReservingCapacity 1901 1903 +0.1% 1.00x (?)
SubstringComparable 14 14 +0.0% 1.00x
SubstringEqualString 629 622 -1.1% 1.01x (?)
SubstringEquatable 1450 1446 -0.3% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 73 74 +1.4% 0.99x
SuffixAnyCollection 31 31 +0.0% 1.00x
SuffixAnyCollectionLazy 21440 21737 +1.4% 0.99x (?)
SuffixAnySeqCRangeIter 3740 3746 +0.2% 1.00x
SuffixAnySeqCRangeIterLazy 3739 3747 +0.2% 1.00x
SuffixAnySeqCntRange 20 20 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 21 21 +0.0% 1.00x
SuffixAnySequence 4944 4935 -0.2% 1.00x (?)
SuffixAnySequenceLazy 5075 5045 -0.6% 1.01x
SuffixCountableRange 12 12 +0.0% 1.00x
SuffixCountableRangeLazy 12 12 +0.0% 1.00x
SuffixSequence 3659 3647 -0.3% 1.00x (?)
SuffixSequenceLazy 3722 3645 -2.1% 1.02x
SumUsingReduce 97 97 +0.0% 1.00x
SumUsingReduceInto 97 97 +0.0% 1.00x
SuperChars 15565 15582 +0.1% 1.00x (?)
TwoSum 1474 1471 -0.2% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 311 313 +0.6% 0.99x
Walsh 447 445 -0.4% 1.00x
WordCountHistogramASCII 8000 7837 -2.0% 1.02x (?)
WordCountHistogramUTF16 14115 14020 -0.7% 1.01x (?)
WordCountUniqueASCII 2063 2059 -0.2% 1.00x (?)
WordCountUniqueUTF16 7551 7561 +0.1% 1.00x (?)
WordSplitASCII 7190 7229 +0.5% 0.99x (?)
WordSplitUTF16 8961 8896 -0.7% 1.01x (?)
XorLoop 402 397 -1.2% 1.01x (?)
Added (6)
TEST MIN MAX MEAN MAX_RSS
UTF8Decode_InitDecoding 1176 1178 1177 7942144
UTF8Decode_InitDecoding_ascii 2527 2542 2534 7888896
UTF8Decode_InitFromBytes 1195 1205 1200 8010411
UTF8Decode_InitFromBytes_ascii 558 632 598 7966720
UTF8Decode_InitFromData 1250 1257 1254 8071851
UTF8Decode_InitFromData_ascii 783 940 863 8028160
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

@milseman milseman merged commit 1edc3be into swiftlang:master Jun 15, 2018
@milseman milseman deleted the utf8_cre8 branch June 15, 2018 16:48
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.

2 participants