Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[String] Drop many @inlinable annotations #16578

Merged
merged 5 commits into from May 13, 2018

Conversation

milseman
Copy link
Contributor

Drop append-related @inlinable annotations for String, StringGuts, StringStorage, and the Views. Drop several for larger operations, such as case conversion. Drop as many as we can from StringGuts for now.

Cleanup and remove init-from-CString inlinability

Streamline more String creation logic. Streamline and de-genericize non-inlinable internal functions to create a String from UTF-8 efficiently.

@milseman
Copy link
Contributor Author

@swift-ci please smoke benchmark

@milseman
Copy link
Contributor Author

@swift-ci please smoke test compiler performance

@milseman
Copy link
Contributor Author

@swift-ci please test

@swift-ci
Copy link
Collaborator

Build comment file:

Compilation-performance test failed

@swift-ci
Copy link
Collaborator

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

@swift-ci
Copy link
Collaborator

Build failed
Swift Test Linux Platform
Git Sha - 0f5875ae07e8bc37232d1a693fa5253d550ec0ea

@swift-ci
Copy link
Collaborator

Build comment file:

Optimized (O)

Regression (24)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubFromNSDate 6110 7138 +16.8% 0.86x
StringBuilder 626 729 +16.5% 0.86x
ArrayAppendLatin1Substring 283002 326372 +15.3% 0.87x
StringAdder 697 803 +15.2% 0.87x
OpenClose 295 335 +13.6% 0.88x
StringBuilderWithLongSubstring 1503 1692 +12.6% 0.89x (?)
DropFirstAnyCollectionLazy 61672 68668 +11.3% 0.90x
PrefixAnyCollectionLazy 61641 67590 +9.7% 0.91x
FloatingPointPrinting_Float_description_small 5158 5627 +9.1% 0.92x
MapReduceLazyCollectionShort 34 37 +8.8% 0.92x
ObjectiveCBridgeFromNSArrayAnyObjectForced 4633 5038 +8.7% 0.92x (?)
CStringShortAscii 3156 3426 +8.6% 0.92x
DataReplaceMedium 12600 13562 +7.6% 0.93x (?)
ErrorHandling 1487 1598 +7.5% 0.93x
DropLastAnyCollectionLazy 20685 22209 +7.4% 0.93x (?)
NopDeinit 30185 32365 +7.2% 0.93x
MapReduceAnyCollection 402 431 +7.2% 0.93x
StringWordBuilder 2395 2550 +6.5% 0.94x
DataReplaceSmallBuffer 11500 12205 +6.1% 0.94x (?)
DataAppendDataMediumToMedium 7876 8338 +5.9% 0.94x (?)
CStringLongNonAscii 2243 2373 +5.8% 0.95x
UTF8Decode 304 321 +5.6% 0.95x
StringWithCString 40898 43106 +5.4% 0.95x
ObjectiveCBridgeToNSSet 17282 18194 +5.3% 0.95x (?)
Improvement (43)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 670 417 -37.8% 1.61x
EqualSubstringString 65 49 -24.6% 1.33x
StringFromLongWholeSubstringGeneric 29 22 -24.1% 1.32x
SubstringFromLongString 13 10 -23.1% 1.30x
SubstringEqualString 787 626 -20.5% 1.26x
BinaryFloatingPointPropertiesBinade 31 25 -19.4% 1.24x
StringBuilderLong 1479 1256 -15.1% 1.18x (?)
EqualStringSubstring 57 49 -14.0% 1.16x
ChainedFilterMap 1407 1245 -11.5% 1.13x
Join 182 163 -10.4% 1.12x
Chars 1216 1093 -10.1% 1.11x
RandomIntegersLCG 2354 2119 -10.0% 1.11x
ArrayAppendUTF16Substring 318938 288002 -9.7% 1.11x (?)
StaticArray 11 10 -9.1% 1.10x
CStringLongAscii 4641 4221 -9.0% 1.10x
ObjectiveCBridgeFromNSSetAnyObjectForced 5400 4925 -8.8% 1.10x (?)
StringUTF16SubstringBuilder 6236 5694 -8.7% 1.10x
RomanNumbers 92512 84518 -8.6% 1.09x
ObjectiveCBridgeStubNSDataAppend 2721 2494 -8.3% 1.09x
PointerArithmetics 34387 31520 -8.3% 1.09x
ObjectiveCBridgeStubFromArrayOfNSString 37356 34369 -8.0% 1.09x (?)
DataReplaceMediumBuffer 17745 16367 -7.8% 1.08x
MapReduce 401 370 -7.7% 1.08x
RC4 161 149 -7.5% 1.08x
StringMatch 13308 12318 -7.4% 1.08x
RandomDoubleLCG 4432 4114 -7.2% 1.08x
PopFrontArray 1971 1834 -7.0% 1.07x (?)
IterateData 2029 1894 -6.7% 1.07x
ObjectiveCBridgeToNSArray 15838 14799 -6.6% 1.07x
CharIndexing_japanese_unicodeScalars 20710 19422 -6.2% 1.07x
CharIndexing_korean_unicodeScalars 16781 15742 -6.2% 1.07x
CharIndexing_chinese_unicodeScalars 13104 12299 -6.1% 1.07x
CharIndexing_ascii_unicodeScalars 17298 16236 -6.1% 1.07x
CharIndexing_russian_unicodeScalars 14408 13538 -6.0% 1.06x
DataCopyBytes 2687 2528 -5.9% 1.06x
ObjectiveCBridgeStubURLAppendPathRef 296230 279801 -5.5% 1.06x
BinaryFloatingPointPropertiesUlp 37 35 -5.4% 1.06x
NSDictionaryCastToSwift 7522 7119 -5.4% 1.06x
DataAppendDataMediumToSmall 7575 7182 -5.2% 1.05x
ObjectiveCBridgeStubToArrayOfNSString 40990 38889 -5.1% 1.05x
ArrayAppendReserved 843 801 -5.0% 1.05x
CharIndexing_punctuated_unicodeScalars 3906 3714 -4.9% 1.05x
StringComparison_abnormal 817 778 -4.8% 1.05x
No Changes (368)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3956 3853 -2.6% 1.03x
AnyHashableWithAClass 85412 85180 -0.3% 1.00x (?)
Array2D 2858 2859 +0.0% 1.00x (?)
ArrayAppend 1112 1071 -3.7% 1.04x
ArrayAppendArrayOfInt 806 797 -1.1% 1.01x
ArrayAppendAscii 3987 3966 -0.5% 1.01x (?)
ArrayAppendAsciiSubstring 154071 157603 +2.3% 0.98x
ArrayAppendFromGeneric 800 802 +0.2% 1.00x (?)
ArrayAppendGenericStructs 1431 1425 -0.4% 1.00x
ArrayAppendLatin1 40117 40431 +0.8% 0.99x
ArrayAppendLazyMap 1343 1345 +0.1% 1.00x (?)
ArrayAppendOptionals 1432 1429 -0.2% 1.00x (?)
ArrayAppendRepeatCol 1340 1343 +0.2% 1.00x (?)
ArrayAppendSequence 1124 1123 -0.1% 1.00x (?)
ArrayAppendStrings 6334 6320 -0.2% 1.00x (?)
ArrayAppendToFromGeneric 804 800 -0.5% 1.00x
ArrayAppendToGeneric 801 801 +0.0% 1.00x
ArrayAppendUTF16 39254 39676 +1.1% 0.99x
ArrayInClass 86 86 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 151 +0.0% 1.00x
ArrayOfGenericRef 4423 4417 -0.1% 1.00x (?)
ArrayOfPOD 184 184 +0.0% 1.00x
ArrayOfRef 4348 4372 +0.6% 0.99x (?)
ArrayPlusEqualArrayOfInt 797 798 +0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5559 5453 -1.9% 1.02x
ArrayPlusEqualSingleElementCollection 1110 1070 -3.6% 1.04x
ArrayPlusEqualThreeElements 1648 1708 +3.6% 0.96x
ArraySubscript 1540 1554 +0.9% 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 105 107 +1.9% 0.98x
COWTree 5420 5459 +0.7% 0.99x (?)
CSVParsing 725735 697452 -3.9% 1.04x
CSVParsingAlt 782398 790999 +1.1% 0.99x (?)
CSVParsingAltIndices 344987 342726 -0.7% 1.01x (?)
Calculator 1145 1149 +0.3% 1.00x (?)
CaptureProp 4120 4108 -0.3% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 16029 16025 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12138 12139 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19195 19168 -0.1% 1.00x
CharIndexing_korean_unicodeScalars_Backwards 15535 15532 -0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 3118 2979 -4.5% 1.05x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2913 2914 +0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3647 3643 -0.1% 1.00x
CharIndexing_russian_unicodeScalars_Backwards 13349 13356 +0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars 33489 32019 -4.4% 1.05x
CharIndexing_tweet_unicodeScalars_Backwards 31792 31630 -0.5% 1.01x
CharIndexing_utf16_unicodeScalars 23024 22832 -0.8% 1.01x
CharIndexing_utf16_unicodeScalars_Backwards 23272 23592 +1.4% 0.99x
CharIteration_ascii_unicodeScalars 21162 20812 -1.7% 1.02x
CharIteration_ascii_unicodeScalars_Backwards 14379 14364 -0.1% 1.00x
CharIteration_chinese_unicodeScalars 15991 15747 -1.5% 1.02x
CharIteration_chinese_unicodeScalars_Backwards 10892 10886 -0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars 25349 24932 -1.6% 1.02x
CharIteration_japanese_unicodeScalars_Backwards 17202 17209 +0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 20524 20203 -1.6% 1.02x
CharIteration_korean_unicodeScalars_Backwards 13934 13939 +0.0% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3778 3744 -0.9% 1.01x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2618 2617 -0.0% 1.00x
CharIteration_punctuated_unicodeScalars 4744 4691 -1.1% 1.01x
CharIteration_punctuated_unicodeScalars_Backwards 3270 3267 -0.1% 1.00x
CharIteration_russian_unicodeScalars 17608 17339 -1.5% 1.02x
CharIteration_russian_unicodeScalars_Backwards 11982 11986 +0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars 42405 40688 -4.0% 1.04x
CharIteration_tweet_unicodeScalars_Backwards 28745 28760 +0.1% 1.00x
CharIteration_utf16_unicodeScalars 28056 28066 +0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 17739 17799 +0.3% 1.00x (?)
CharacterLiteralsLarge 6039 5973 -1.1% 1.01x (?)
CharacterLiteralsSmall 220 217 -1.4% 1.01x
CharacterPropertiesFetch 4590 4579 -0.2% 1.00x (?)
CharacterPropertiesPrecomputed 1145 1116 -2.5% 1.03x
CharacterPropertiesStashed 1493 1484 -0.6% 1.01x
CharacterPropertiesStashedMemo 1582 1573 -0.6% 1.01x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 501 496 -1.0% 1.01x
DataAccessBytes 1226 1226 +0.0% 1.00x
DataAppendArray 6075 6136 +1.0% 0.99x (?)
DataAppendBytes 6003 5777 -3.8% 1.04x (?)
DataAppendDataLargeToLarge 70281 70042 -0.3% 1.00x (?)
DataAppendDataLargeToMedium 37034 37563 +1.4% 0.99x (?)
DataAppendDataLargeToSmall 35733 35913 +0.5% 0.99x (?)
DataAppendDataMediumToLarge 38870 39422 +1.4% 0.99x (?)
DataAppendDataSmallToLarge 37816 38621 +2.1% 0.98x (?)
DataAppendDataSmallToMedium 7540 7888 +4.6% 0.96x
DataAppendDataSmallToSmall 6923 7035 +1.6% 0.98x (?)
DataAppendSequence 21004 20997 -0.0% 1.00x (?)
DataCount 37 38 +2.7% 0.97x
DataMutateBytes 4380 4486 +2.4% 0.98x (?)
DataReplaceLarge 41494 42448 +2.3% 0.98x (?)
DataReplaceLargeBuffer 61980 61248 -1.2% 1.01x (?)
DataReplaceSmall 9574 9190 -4.0% 1.04x (?)
DataReset 3267 3228 -1.2% 1.01x (?)
DataSetCount 897 896 -0.1% 1.00x
DataSubscript 240 245 +2.1% 0.98x
DictOfArraysToArrayOfDicts 812 810 -0.2% 1.00x (?)
Dictionary 690 696 +0.9% 0.99x
Dictionary2 824 824 +0.0% 1.00x
Dictionary2OfObjects 2236 2261 +1.1% 0.99x
Dictionary3 253 258 +2.0% 0.98x
Dictionary3OfObjects 772 779 +0.9% 0.99x
Dictionary4 344 343 -0.3% 1.00x (?)
Dictionary4Legacy 732 736 +0.5% 0.99x
Dictionary4OfObjects 454 453 -0.2% 1.00x (?)
Dictionary4OfObjectsLegacy 934 945 +1.2% 0.99x
DictionaryBridge 1205 1225 +1.7% 0.98x (?)
DictionaryCopy 108768 107714 -1.0% 1.01x (?)
DictionaryFilter 109219 106719 -2.3% 1.02x (?)
DictionaryGroup 216 216 +0.0% 1.00x
DictionaryGroupOfObjects 2124 2126 +0.1% 1.00x (?)
DictionaryKeysContainsCocoa 40 39 -2.5% 1.03x
DictionaryKeysContainsNative 32 32 +0.0% 1.00x
DictionaryLiteral 1968 1933 -1.8% 1.02x (?)
DictionaryOfObjects 2545 2507 -1.5% 1.02x
DictionaryRemove 4203 4268 +1.5% 0.98x
DictionaryRemoveOfObjects 26219 26149 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutation 268 271 +1.1% 0.99x (?)
DictionarySubscriptDefaultMutationArray 622 624 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 4020 4023 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1708 1736 +1.6% 0.98x
DictionarySwap 1043 1040 -0.3% 1.00x
DictionarySwapAt 6691 7021 +4.9% 0.95x (?)
DictionarySwapAtOfObjects 52423 52182 -0.5% 1.00x (?)
DictionarySwapOfObjects 8803 8820 +0.2% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 84 84 +0.0% 1.00x
DropFirstAnySeqCRangeIter 21205 21411 +1.0% 0.99x
DropFirstAnySeqCRangeIterLazy 21179 21403 +1.1% 0.99x
DropFirstAnySeqCntRange 41 41 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 41 41 +0.0% 1.00x
DropFirstAnySequence 4999 4974 -0.5% 1.01x
DropFirstAnySequenceLazy 4988 4972 -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 2722 2681 -1.5% 1.02x
DropFirstSequenceLazy 2772 2768 -0.1% 1.00x
DropLastAnyCollection 31 31 +0.0% 1.00x
DropLastAnySeqCRangeIter 3656 3688 +0.9% 0.99x (?)
DropLastAnySeqCRangeIterLazy 3634 3691 +1.6% 0.98x (?)
DropLastAnySeqCntRange 13 13 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 13 13 +0.0% 1.00x
DropLastAnySequence 5142 5062 -1.6% 1.02x
DropLastAnySequenceLazy 5198 5209 +0.2% 1.00x
DropLastCountableRange 12 12 +0.0% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropLastSequence 662 666 +0.6% 0.99x (?)
DropLastSequenceLazy 663 663 +0.0% 1.00x
DropWhileAnyCollection 107 107 +0.0% 1.00x
DropWhileAnyCollectionLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCRangeIter 16657 16724 +0.4% 1.00x
DropWhileAnySeqCRangeIterLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCntRange 51 50 -2.0% 1.02x
DropWhileAnySeqCntRangeLazy 125 125 +0.0% 1.00x
DropWhileAnySequence 4878 4843 -0.7% 1.01x
DropWhileAnySequenceLazy 1856 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 2225 2158 -3.0% 1.03x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualSubstringSubstring 48 49 +2.1% 0.98x
EqualSubstringSubstringGenericEquatable 49 49 +0.0% 1.00x
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 208775 205879 -1.4% 1.01x
FilterEvenUsingReduce 1327 1324 -0.2% 1.00x (?)
FilterEvenUsingReduceInto 152 151 -0.7% 1.01x (?)
FloatingPointPrinting_Double_description_small 23877 23583 -1.2% 1.01x
FloatingPointPrinting_Double_description_uniform 23575 23261 -1.3% 1.01x
FloatingPointPrinting_Double_interpolated 68013 68610 +0.9% 0.99x (?)
FloatingPointPrinting_Float80_description_small 30844 30949 +0.3% 1.00x
FloatingPointPrinting_Float80_description_uniform 30026 30076 +0.2% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 70962 72285 +1.9% 0.98x (?)
FloatingPointPrinting_Float_description_uniform 4982 5090 +2.2% 0.98x
FloatingPointPrinting_Float_interpolated 42153 42122 -0.1% 1.00x (?)
FrequenciesUsingReduce 5092 5000 -1.8% 1.02x (?)
FrequenciesUsingReduceInto 1585 1568 -1.1% 1.01x (?)
Hanoi 2099 2090 -0.4% 1.00x (?)
HashTest 1038 1075 +3.6% 0.97x
Histogram 709 704 -0.7% 1.01x (?)
Integrate 335 339 +1.2% 0.99x
LazilyFilteredArrayContains 36286 36281 -0.0% 1.00x (?)
LazilyFilteredArrays 65625 65058 -0.9% 1.01x (?)
LazilyFilteredRange 3883 3883 +0.0% 1.00x
LessSubstringSubstring 49 49 +0.0% 1.00x
LessSubstringSubstringGenericComparable 49 49 +0.0% 1.00x
LinkedList 7608 7542 -0.9% 1.01x
LuhnAlgoEager 326 320 -1.8% 1.02x
LuhnAlgoLazy 326 323 -0.9% 1.01x (?)
MapReduceAnyCollectionShort 2280 2289 +0.4% 1.00x (?)
MapReduceClass 3014 3031 +0.6% 0.99x
MapReduceClassShort 4556 4588 +0.7% 0.99x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 467 487 +4.3% 0.96x
MapReduceShort 2027 2028 +0.0% 1.00x (?)
MapReduceShortString 30 30 +0.0% 1.00x
MapReduceString 79 79 +0.0% 1.00x
Memset 223 215 -3.6% 1.04x (?)
MonteCarloE 10237 10343 +1.0% 0.99x
MonteCarloPi 42723 42828 +0.2% 1.00x (?)
NSError 171 173 +1.2% 0.99x
NSStringConversion 720 702 -2.5% 1.03x
NibbleSort 3696 3670 -0.7% 1.01x
ObjectAllocation 133 132 -0.8% 1.01x
ObjectiveCBridgeFromNSArrayAnyObject 27545 26880 -2.4% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 46748 47948 +2.6% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 45981 43941 -4.4% 1.05x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 116655 117676 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObject 53153 52257 -1.7% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 65912 67790 +2.8% 0.97x (?)
ObjectiveCBridgeFromNSString 1221 1207 -1.1% 1.01x
ObjectiveCBridgeFromNSStringForced 2704 2717 +0.5% 1.00x (?)
ObjectiveCBridgeStubDataAppend 11391 11491 +0.9% 0.99x (?)
ObjectiveCBridgeStubDateMutation 401 401 +0.0% 1.00x
ObjectiveCBridgeStubFromNSString 1066 1045 -2.0% 1.02x (?)
ObjectiveCBridgeStubFromNSStringRef 170 164 -3.5% 1.04x
ObjectiveCBridgeStubNSDateMutationRef 13434 13811 +2.8% 0.97x (?)
ObjectiveCBridgeStubToNSDate 15083 15764 +4.5% 0.96x (?)
ObjectiveCBridgeStubToNSDateRef 3497 3419 -2.2% 1.02x (?)
ObjectiveCBridgeStubToNSString 2401 2432 +1.3% 0.99x
ObjectiveCBridgeStubToNSStringRef 124 121 -2.4% 1.02x
ObjectiveCBridgeStubURLAppendPath 290730 286893 -1.3% 1.01x (?)
ObjectiveCBridgeToNSDictionary 26748 26885 +0.5% 0.99x (?)
ObjectiveCBridgeToNSString 490 490 +0.0% 1.00x
ObserverClosure 2172 2162 -0.5% 1.00x (?)
ObserverForwarderStruct 1262 1263 +0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 3762 3746 -0.4% 1.00x (?)
ObserverUnappliedMethod 2648 2616 -1.2% 1.01x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4794 4597 -4.1% 1.04x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArrayGeneric 1979 1988 +0.5% 1.00x (?)
PopFrontUnsafePointer 9488 9521 +0.3% 1.00x (?)
PrefixAnyCollection 84 84 +0.0% 1.00x
PrefixAnySeqCRangeIter 16656 16722 +0.4% 1.00x
PrefixAnySeqCRangeIterLazy 16635 16726 +0.5% 0.99x
PrefixAnySeqCntRange 28 28 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 28 28 +0.0% 1.00x
PrefixAnySequence 4322 4318 -0.1% 1.00x
PrefixAnySequenceLazy 4330 4316 -0.3% 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 2224 +0.1% 1.00x (?)
PrefixSequenceLazy 2278 2276 -0.1% 1.00x
PrefixWhileAnyCollection 154 154 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 90 90 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 9056 9168 +1.2% 0.99x
PrefixWhileAnySeqCRangeIterLazy 73 72 -1.4% 1.01x
PrefixWhileAnySeqCntRange 60 59 -1.7% 1.02x
PrefixWhileAnySeqCntRangeLazy 90 90 +0.0% 1.00x
PrefixWhileAnySequence 10372 10285 -0.8% 1.01x
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 913 904 -1.0% 1.01x (?)
PrimsSplit 908 908 +0.0% 1.00x
QueueConcrete 1150 1148 -0.2% 1.00x
QueueGeneric 1150 1146 -0.3% 1.00x
RGBHistogram 3276 3256 -0.6% 1.01x (?)
RGBHistogramOfObjects 23918 23831 -0.4% 1.00x
RandomDoubleDef 27875 27550 -1.2% 1.01x
RandomIntegersDef 25642 25511 -0.5% 1.01x
RandomShuffleDef 825897 826453 +0.1% 1.00x (?)
RandomShuffleLCG 150516 155827 +3.5% 0.97x
RangeAssignment 337 337 +0.0% 1.00x
RangeIterationSigned 171 171 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 1023 1017 -0.6% 1.01x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 46 47 +2.2% 0.98x
RemoveWhereFilterString 233 234 +0.4% 1.00x (?)
RemoveWhereFilterStrings 437 439 +0.5% 1.00x
RemoveWhereMoveInts 14 14 +0.0% 1.00x
RemoveWhereMoveStrings 708 709 +0.1% 1.00x (?)
RemoveWhereQuadraticInts 1296 1296 +0.0% 1.00x
RemoveWhereQuadraticString 370 370 +0.0% 1.00x
RemoveWhereQuadraticStrings 2761 2760 -0.0% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 860 862 +0.2% 1.00x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16568 16474 -0.6% 1.01x
ReversedDictionary 279 269 -3.6% 1.04x
SequenceAlgosAnySequence 11900 11804 -0.8% 1.01x
SequenceAlgosArray 1567 1578 +0.7% 0.99x (?)
SequenceAlgosContiguousArray 1584 1579 -0.3% 1.00x (?)
SequenceAlgosList 1350 1355 +0.4% 1.00x
SequenceAlgosRange 2579 2579 +0.0% 1.00x
SequenceAlgosUnfoldSequence 1103 1102 -0.1% 1.00x
SetExclusiveOr 5118 5211 +1.8% 0.98x
SetExclusiveOr_OfObjects 11998 11807 -1.6% 1.02x
SetIntersect 700 700 +0.0% 1.00x
SetIntersect_OfObjects 1742 1780 +2.2% 0.98x
SetIsSubsetOf 355 354 -0.3% 1.00x
SetIsSubsetOf_OfObjects 452 457 +1.1% 0.99x
SetUnion 4380 4526 +3.3% 0.97x
SetUnion_OfObjects 10155 10056 -1.0% 1.01x
SevenBoom 885 890 +0.6% 0.99x
SortLargeExistentials 6056 6066 +0.2% 1.00x (?)
SortLettersInPlace 1054 1065 +1.0% 0.99x
SortSortedStrings 1047 1012 -3.3% 1.03x
SortStrings 2002 1971 -1.5% 1.02x
SortStringsUnicode 2508 2491 -0.7% 1.01x
StackPromo 26310 25811 -1.9% 1.02x
StrComplexWalk 1785 1784 -0.1% 1.00x
StrToInt 3180 3172 -0.3% 1.00x (?)
StringComparison_ascii 1288 1259 -2.3% 1.02x
StringComparison_emoji 836 834 -0.2% 1.00x (?)
StringComparison_fastPrenormal 804 803 -0.1% 1.00x (?)
StringComparison_latin1 627 636 +1.4% 0.99x
StringComparison_longSharedPrefix 936 931 -0.5% 1.01x
StringComparison_nonBMPSlowestPrenormal 1630 1642 +0.7% 0.99x (?)
StringComparison_slowerPrenormal 1743 1741 -0.1% 1.00x
StringComparison_zalgo 124808 125539 +0.6% 0.99x
StringEdits 173798 174552 +0.4% 1.00x (?)
StringEnumRawValueInitialization 937 936 -0.1% 1.00x (?)
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 21 22 +4.8% 0.95x
StringHasPrefixAscii 2262 2176 -3.8% 1.04x
StringHasPrefixUnicode 102286 102099 -0.2% 1.00x (?)
StringHasSuffixAscii 2433 2338 -3.9% 1.04x
StringHasSuffixUnicode 100960 102611 +1.6% 0.98x (?)
StringInterpolation 10208 10244 +0.4% 1.00x (?)
StringInterpolationManySmallSegments 19989 20443 +2.3% 0.98x (?)
StringInterpolationSmall 7052 7068 +0.2% 1.00x (?)
StringRemoveDupes 529 523 -1.1% 1.01x (?)
StringUTF16Builder 2640 2715 +2.8% 0.97x
StringWalk 1428 1414 -1.0% 1.01x
StringWordBuilderReservingCapacity 1801 1851 +2.8% 0.97x
SubstringComparable 28 27 -3.6% 1.04x
SubstringEquatable 1429 1428 -0.1% 1.00x (?)
SubstringFromLongStringGeneric 75 75 +0.0% 1.00x
SuffixAnyCollection 31 31 +0.0% 1.00x
SuffixAnyCollectionLazy 20527 21129 +2.9% 0.97x
SuffixAnySeqCRangeIter 3859 3890 +0.8% 0.99x (?)
SuffixAnySeqCRangeIterLazy 3846 3899 +1.4% 0.99x (?)
SuffixAnySeqCntRange 20 20 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 20 20 +0.0% 1.00x
SuffixAnySequence 5129 5072 -1.1% 1.01x
SuffixAnySequenceLazy 5222 5202 -0.4% 1.00x
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 12 12 +0.0% 1.00x
SuffixSequence 3702 3713 +0.3% 1.00x
SuffixSequenceLazy 3695 3706 +0.3% 1.00x
SumUsingReduce 102 101 -1.0% 1.01x
SumUsingReduceInto 97 97 +0.0% 1.00x
SuperChars 14840 14769 -0.5% 1.00x (?)
TwoSum 1473 1482 +0.6% 0.99x (?)
TypeFlood 0 0 +0.0% 1.00x
Walsh 431 434 +0.7% 0.99x
WordCountHistogramASCII 7623 7613 -0.1% 1.00x (?)
WordCountHistogramUTF16 14076 14310 +1.7% 0.98x
WordCountUniqueASCII 2136 2175 +1.8% 0.98x
WordCountUniqueUTF16 7732 7669 -0.8% 1.01x (?)
WordSplitASCII 7078 7021 -0.8% 1.01x (?)
WordSplitUTF16 9224 9068 -1.7% 1.02x
XorLoop 402 402 +0.0% 1.00x
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@milseman
Copy link
Contributor Author

milseman commented May 13, 2018

(fixing 32-bit as well).

@xedin, do you know why changes here could cause the test at https://ci.swift.org/job/swift-PR-Linux/4923/consoleFull#-1612600944ba62d58e-7248-467b-91e0-c7508d5cf947 to crash? Should I XFAIL it to unblock this?

******************** TEST 'Swift(linux-x86_64) :: Sema/fixed_ambiguities/rdar35623181.swift' FAILED ********************
23:59:55 Script:
23:59:55 --
23:59:55 /home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/swift-linux-x86_64/bin/swift -frontend -target x86_64-unknown-linux-gnu  -module-cache-path '/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/swift-linux-x86_64/swift-test-results/x86_64-unknown-linux-gnu/clang-module-cache' -swift-version 3  -emit-sil -verify /home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/swift/test/Sema/fixed_ambiguities/rdar35623181.swift | /home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/swift/utils/PathSanitizingFileCheck --sanitize 'BUILD_DIR=/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/swift-linux-x86_64' --sanitize 'SOURCE_DIR=/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/swift' --use-filecheck '/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/llvm-linux-x86_64/bin/FileCheck' /home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/swift/test/Sema/fixed_ambiguities/rdar35623181.swift
23:59:55 --
23:59:55 Exit Code: 134
23:59:55 
23:59:55 Command Output (stderr):
23:59:55 --
23:59:55 swift: /home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/swift/lib/SIL/SILPrinter.cpp:3020: void swift::SILSpecializeAttr::print(llvm::raw_ostream &) const: Assertion `GenericEnv' failed.
23:59:55 #0 0x00000000040ef6b4 PrintStackTraceSignalHandler(void*) (/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/swift-linux-x86_64/bin/swift+0x40ef6b4)
23:59:55 #1 0x00000000040ef9f6 SignalHandler(int) (/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/swift-linux-x86_64/bin/swift+0x40ef9f6)
23:59:55 #2 0x00007fcb29f8d390 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x11390)
23:59:55 #3 0x00007fcb286cc428 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x35428)
23:59:55 #4 0x00007fcb286ce02a abort (/lib/x86_64-linux-gnu/libc.so.6+0x3702a)
23:59:55 #5 0x00007fcb286c4bd7 (/lib/x86_64-linux-gnu/libc.so.6+0x2dbd7)
23:59:55 #6 0x00007fcb286c4c82 (/lib/x86_64-linux-gnu/libc.so.6+0x2dc82)
23:59:55 #7 0x0000000001234e67 (/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/swift-linux-x86_64/bin/swift+0x1234e67)
23:59:55 #8 0x00000000012330aa swift::SILFunction::print(swift::SILPrintContext&) const (/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/swift-linux-x86_64/bin/swift+0x12330aa)
23:59:55 #9 0x000000000123635b swift::SILModule::print(swift::SILPrintContext&, swift::ModuleDecl*, bool) const (/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/swift-linux-x86_64/bin/swift+0x123635b)
23:59:55 #10 0x00000000004e7557 writeSIL(swift::SILModule&, swift::PrimarySpecificPaths const&, swift::CompilerInstance&, swift::CompilerInvocation&) (/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/swift-linux-x86_64/bin/swift+0x4e7557)
23:59:55 #11 0x00000000004dd11b performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/swift-linux-x86_64/bin/swift+0x4dd11b)
23:59:55 #12 0x00000000004d87c0 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/home/buildnode/jenkins/workspace/swift-PR-Linux/branch-master/buildbot_linux/swift-linux-x86_64/bin/swift+0x4d87c0)

milseman and others added 5 commits May 13, 2018 07:38
Streamline and de-genericize non-inlinable internal functions to
create a String from UTF-8 efficiently.
Drop append-related @inlinable annotations for String, StringGuts,
StringStorage, and the Views. Drop several for larger operations, such
as case conversion. Drop as many as we can from StringGuts for now.
@milseman
Copy link
Contributor Author

@swift-ci please test

@milseman
Copy link
Contributor Author

@swift-ci please smoke test compiler performance

@milseman
Copy link
Contributor Author

@swift-ci please smoke benchmark

@swift-ci
Copy link
Collaborator

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

@swift-ci
Copy link
Collaborator

Build failed
Swift Test Linux Platform
Git Sha - 0f5875ae07e8bc37232d1a693fa5253d550ec0ea

@swift-ci
Copy link
Collaborator

Build comment file:

Summary for master smoketest

Unexpected test results, excluded stats for ReactiveCocoa

No regressions above thresholds

Debug

debug brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 41,252,250 41,244,898 -7,352 -0.02%
time.swift-driver.wall 70.7s 71.2s 513.5ms 0.73%

debug detailed

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (23)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 84,556 84,556 0 0.0%
AST.NumLoadedModules 12,956 12,956 0 0.0%
AST.NumTotalClangImportedEntities 256,416 256,416 0 0.0%
AST.NumUsedConformances 8,764 8,764 0 0.0%
IRModule.NumIRBasicBlocks 125,749 125,731 -18 -0.01%
IRModule.NumIRFunctions 75,153 75,153 0 0.0%
IRModule.NumIRGlobals 68,675 68,673 -2 -0.0%
IRModule.NumIRInsts 1,429,981 1,429,819 -162 -0.01%
IRModule.NumIRValueSymbols 128,737 128,737 0 0.0%
LLVM.NumLLVMBytesOutput 41,252,250 41,244,898 -7,352 -0.02%
SILModule.NumSILGenFunctions 42,746 42,746 0 0.0%
SILModule.NumSILOptFunctions 47,119 47,119 0 0.0%
Sema.NumConformancesDeserialized 356,427 356,427 0 0.0%
Sema.NumConstraintScopes 900,349 900,349 0 0.0%
Sema.NumDeclsDeserialized 2,107,085 2,106,934 -151 -0.01%
Sema.NumDeclsValidated 190,411 190,411 0 0.0%
Sema.NumFunctionsTypechecked 48,042 48,042 0 0.0%
Sema.NumGenericSignatureBuilders 81,823 81,823 0 0.0%
Sema.NumLazyGenericEnvironments 419,627 419,084 -543 -0.13%
Sema.NumLazyGenericEnvironmentsLoaded 39,193 39,193 0 0.0%
Sema.NumLazyIterableDeclContexts 336,099 336,491 392 0.12%
Sema.NumTypesDeserialized 2,327,977 2,327,542 -435 -0.02%
Sema.NumTypesValidated 211,819 211,819 0 0.0%

Release

release brief

Regressed (0)
name old new delta delta_pct
Improved (1)
name old new delta delta_pct
time.swift-driver.wall 144.6s 139.3s -5.3s -3.64% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (1)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 30,118,420 29,859,436 -258,984 -0.86%

release detailed

Regressed (0)
name old new delta delta_pct
Improved (9)
name old new delta delta_pct
IRModule.NumIRBasicBlocks 158,940 152,645 -6,295 -3.96% ✅
IRModule.NumIRInsts 1,324,447 1,288,770 -35,677 -2.69% ✅
SILModule.NumSILOptFunctions 36,626 36,154 -472 -1.29% ✅
Sema.NumConformancesDeserialized 89,400 85,426 -3,974 -4.45% ✅
Sema.NumDeclsDeserialized 210,467 205,848 -4,619 -2.19% ✅
Sema.NumGenericSignatureBuilders 9,660 9,561 -99 -1.02% ✅
Sema.NumLazyGenericEnvironments 33,050 32,185 -865 -2.62% ✅
Sema.NumLazyIterableDeclContexts 21,143 20,608 -535 -2.53% ✅
Sema.NumTypesDeserialized 277,769 269,478 -8,291 -2.98% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (14)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 8,764 8,764 0 0.0%
AST.NumLoadedModules 406 406 0 0.0%
AST.NumTotalClangImportedEntities 25,373 25,365 -8 -0.03%
AST.NumUsedConformances 8,770 8,770 0 0.0%
IRModule.NumIRFunctions 57,180 56,816 -364 -0.64%
IRModule.NumIRGlobals 56,040 55,832 -208 -0.37%
IRModule.NumIRValueSymbols 101,904 101,327 -577 -0.57%
LLVM.NumLLVMBytesOutput 30,118,420 29,859,436 -258,984 -0.86%
SILModule.NumSILGenFunctions 22,151 22,151 0 0.0%
Sema.NumConstraintScopes 799,066 799,066 0 0.0%
Sema.NumDeclsValidated 59,864 59,864 0 0.0%
Sema.NumFunctionsTypechecked 10,695 10,695 0 0.0%
Sema.NumLazyGenericEnvironmentsLoaded 4,532 4,519 -13 -0.29%
Sema.NumTypesValidated 34,805 34,805 0 0.0%

@swift-ci
Copy link
Collaborator

Build comment file:

Optimized (O)

Regression (27)
TEST OLD NEW DELTA SPEEDUP
StringBuilder 626 729 +16.5% 0.86x
ObjectiveCBridgeStubFromNSDate 6096 7084 +16.2% 0.86x
StringAdder 696 802 +15.2% 0.87x
DropLastAnyCollectionLazy 20801 23763 +14.2% 0.88x
OpenClose 296 335 +13.2% 0.88x
MapReduceLazyCollectionShort 34 38 +11.8% 0.89x
DictionaryKeysContainsCocoa 39 43 +10.3% 0.91x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4913 5407 +10.1% 0.91x (?)
DataAppendDataSmallToSmall 6681 7346 +10.0% 0.91x (?)
FloatingPointPrinting_Float_description_small 5156 5619 +9.0% 0.92x
DropFirstAnyCollectionLazy 61868 67307 +8.8% 0.92x
CStringShortAscii 3166 3436 +8.5% 0.92x
NSDictionaryCastToSwift 7364 7966 +8.2% 0.92x (?)
DictionaryBridge 1197 1288 +7.6% 0.93x
DataReplaceSmallBuffer 11558 12416 +7.4% 0.93x (?)
ArrayAppendLatin1Substring 283021 303621 +7.3% 0.93x (?)
NopDeinit 30195 32381 +7.2% 0.93x
ErrorHandling 1484 1587 +6.9% 0.94x
ObjectiveCBridgeStubToNSDate 15337 16385 +6.8% 0.94x
MapReduceAnyCollection 402 429 +6.7% 0.94x (?)
StringWordBuilder 2390 2547 +6.6% 0.94x
ArrayAppendUTF16Substring 287094 305387 +6.4% 0.94x (?)
DictionarySubscriptDefaultMutationArray 623 659 +5.8% 0.95x
UTF8Decode 304 321 +5.6% 0.95x
DataReplaceSmall 9065 9569 +5.6% 0.95x
StringWithCString 40895 43096 +5.4% 0.95x
DataAppendDataMediumToMedium 7871 8294 +5.4% 0.95x (?)
Improvement (34)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 666 417 -37.4% 1.60x
StringFromLongWholeSubstringGeneric 29 22 -24.1% 1.32x
EqualSubstringString 64 49 -23.4% 1.31x
SubstringFromLongString 13 10 -23.1% 1.30x
SubstringEqualString 787 622 -21.0% 1.27x
BinaryFloatingPointPropertiesBinade 31 25 -19.4% 1.24x
EqualStringSubstring 58 49 -15.5% 1.18x
StringBuilderLong 1503 1317 -12.4% 1.14x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 5487 4831 -12.0% 1.14x (?)
ChainedFilterMap 1407 1248 -11.3% 1.13x
Join 182 163 -10.4% 1.12x
Chars 1216 1092 -10.2% 1.11x
RandomIntegersLCG 2356 2119 -10.1% 1.11x
CStringLongAscii 4642 4212 -9.3% 1.10x
RomanNumbers 92360 84211 -8.8% 1.10x
PointerArithmetics 34368 31505 -8.3% 1.09x
RC4 161 149 -7.5% 1.08x
StringMatch 13287 12306 -7.4% 1.08x
RandomDoubleLCG 4431 4115 -7.1% 1.08x
DataCopyBytes 2705 2515 -7.0% 1.08x
ObjectiveCBridgeFromNSArrayAnyObjectToString 51436 47857 -7.0% 1.07x (?)
StringBuilderWithLongSubstring 1605 1497 -6.7% 1.07x (?)
StringUTF16SubstringBuilder 6112 5711 -6.6% 1.07x (?)
MapReduce 399 373 -6.5% 1.07x
CharIndexing_ascii_unicodeScalars 17346 16243 -6.4% 1.07x
CharIndexing_japanese_unicodeScalars 20701 19431 -6.1% 1.07x
CharIndexing_korean_unicodeScalars 16768 15746 -6.1% 1.06x
CharIndexing_chinese_unicodeScalars 13101 12309 -6.0% 1.06x
CharIndexing_russian_unicodeScalars 14407 13541 -6.0% 1.06x
IterateData 2017 1898 -5.9% 1.06x
BinaryFloatingPointPropertiesUlp 37 35 -5.4% 1.06x
ArrayAppendReserved 840 798 -5.0% 1.05x
ObjectiveCBridgeToNSDictionary 27744 26362 -5.0% 1.05x (?)
CharIndexing_punctuated_unicodeScalars 3903 3715 -4.8% 1.05x
No Changes (374)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3999 3926 -1.8% 1.02x (?)
AnyHashableWithAClass 85523 85128 -0.5% 1.00x (?)
Array2D 2860 2857 -0.1% 1.00x (?)
ArrayAppend 1110 1069 -3.7% 1.04x
ArrayAppendArrayOfInt 783 800 +2.2% 0.98x
ArrayAppendAscii 3957 3945 -0.3% 1.00x (?)
ArrayAppendAsciiSubstring 154189 157618 +2.2% 0.98x
ArrayAppendFromGeneric 802 800 -0.2% 1.00x (?)
ArrayAppendGenericStructs 1427 1429 +0.1% 1.00x (?)
ArrayAppendLatin1 40344 40424 +0.2% 1.00x (?)
ArrayAppendLazyMap 1343 1342 -0.1% 1.00x (?)
ArrayAppendOptionals 1427 1429 +0.1% 1.00x (?)
ArrayAppendRepeatCol 1340 1341 +0.1% 1.00x (?)
ArrayAppendSequence 1124 1122 -0.2% 1.00x (?)
ArrayAppendStrings 6327 6325 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 799 799 +0.0% 1.00x
ArrayAppendToGeneric 786 800 +1.8% 0.98x (?)
ArrayAppendUTF16 39226 39589 +0.9% 0.99x
ArrayInClass 85 86 +1.2% 0.99x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 151 +0.0% 1.00x
ArrayOfGenericRef 4426 4432 +0.1% 1.00x (?)
ArrayOfPOD 184 184 +0.0% 1.00x
ArrayOfRef 4351 4378 +0.6% 0.99x
ArrayPlusEqualArrayOfInt 795 800 +0.6% 0.99x
ArrayPlusEqualFiveElementCollection 5516 5459 -1.0% 1.01x
ArrayPlusEqualSingleElementCollection 1111 1069 -3.8% 1.04x
ArrayPlusEqualThreeElements 1643 1695 +3.2% 0.97x (?)
ArraySubscript 1544 1545 +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
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BitCount 211 202 -4.3% 1.04x
ByteSwap 104 105 +1.0% 0.99x
COWTree 5613 5399 -3.8% 1.04x (?)
CSVParsing 722853 701451 -3.0% 1.03x
CSVParsingAlt 782540 789907 +0.9% 0.99x
CSVParsingAltIndices 345167 342569 -0.8% 1.01x (?)
CStringLongNonAscii 2256 2372 +5.1% 0.95x (?)
Calculator 1145 1149 +0.3% 1.00x
CaptureProp 4114 4135 +0.5% 0.99x
CharIndexing_ascii_unicodeScalars_Backwards 16023 16021 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12143 12138 -0.0% 1.00x
CharIndexing_japanese_unicodeScalars_Backwards 19184 19165 -0.1% 1.00x
CharIndexing_korean_unicodeScalars_Backwards 15548 15534 -0.1% 1.00x
CharIndexing_punctuatedJapanese_unicodeScalars 3119 2979 -4.5% 1.05x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2913 2913 +0.0% 1.00x
CharIndexing_punctuated_unicodeScalars_Backwards 3646 3644 -0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 13355 13358 +0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 33457 31978 -4.4% 1.05x
CharIndexing_tweet_unicodeScalars_Backwards 31647 31642 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars 23043 22828 -0.9% 1.01x
CharIndexing_utf16_unicodeScalars_Backwards 23254 23584 +1.4% 0.99x
CharIteration_ascii_unicodeScalars 21158 20940 -1.0% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 14377 14373 -0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars 16015 15761 -1.6% 1.02x
CharIteration_chinese_unicodeScalars_Backwards 10886 10887 +0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars 25335 24937 -1.6% 1.02x
CharIteration_japanese_unicodeScalars_Backwards 17208 17197 -0.1% 1.00x (?)
CharIteration_korean_unicodeScalars 20519 20170 -1.7% 1.02x
CharIteration_korean_unicodeScalars_Backwards 13933 13940 +0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3783 3744 -1.0% 1.01x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2617 2616 -0.0% 1.00x
CharIteration_punctuated_unicodeScalars 4743 4694 -1.0% 1.01x
CharIteration_punctuated_unicodeScalars_Backwards 3271 3267 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars 17608 17334 -1.6% 1.02x
CharIteration_russian_unicodeScalars_Backwards 11981 11975 -0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars 42413 40703 -4.0% 1.04x
CharIteration_tweet_unicodeScalars_Backwards 28740 28763 +0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars 28055 28072 +0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 17713 17807 +0.5% 0.99x
CharacterLiteralsLarge 5972 5986 +0.2% 1.00x (?)
CharacterLiteralsSmall 220 217 -1.4% 1.01x
CharacterPropertiesFetch 4615 4581 -0.7% 1.01x (?)
CharacterPropertiesPrecomputed 1148 1113 -3.0% 1.03x
CharacterPropertiesStashed 1489 1484 -0.3% 1.00x (?)
CharacterPropertiesStashedMemo 1574 1572 -0.1% 1.00x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 501 498 -0.6% 1.01x
DataAccessBytes 1227 1225 -0.2% 1.00x (?)
DataAppendArray 6083 6155 +1.2% 0.99x (?)
DataAppendBytes 5802 5870 +1.2% 0.99x (?)
DataAppendDataLargeToLarge 70525 70457 -0.1% 1.00x (?)
DataAppendDataLargeToMedium 36430 36759 +0.9% 0.99x (?)
DataAppendDataLargeToSmall 35739 36094 +1.0% 0.99x (?)
DataAppendDataMediumToLarge 38693 39638 +2.4% 0.98x (?)
DataAppendDataMediumToSmall 6961 7096 +1.9% 0.98x (?)
DataAppendDataSmallToLarge 38150 38568 +1.1% 0.99x (?)
DataAppendDataSmallToMedium 7483 7608 +1.7% 0.98x (?)
DataAppendSequence 21578 21335 -1.1% 1.01x (?)
DataCount 37 38 +2.7% 0.97x
DataMutateBytes 4336 4315 -0.5% 1.00x (?)
DataReplaceLarge 42639 44029 +3.3% 0.97x (?)
DataReplaceLargeBuffer 60766 61268 +0.8% 0.99x (?)
DataReplaceMedium 12423 12799 +3.0% 0.97x (?)
DataReplaceMediumBuffer 16076 16210 +0.8% 0.99x (?)
DataReset 3286 3212 -2.3% 1.02x
DataSetCount 896 896 +0.0% 1.00x
DataSubscript 240 243 +1.2% 0.99x
DictOfArraysToArrayOfDicts 806 808 +0.2% 1.00x (?)
Dictionary 689 693 +0.6% 0.99x (?)
Dictionary2 827 820 -0.8% 1.01x
Dictionary2OfObjects 2237 2264 +1.2% 0.99x
Dictionary3 253 258 +2.0% 0.98x
Dictionary3OfObjects 771 783 +1.6% 0.98x
Dictionary4 344 343 -0.3% 1.00x
Dictionary4Legacy 732 734 +0.3% 1.00x
Dictionary4OfObjects 454 453 -0.2% 1.00x
Dictionary4OfObjectsLegacy 933 946 +1.4% 0.99x
DictionaryCopy 108608 108734 +0.1% 1.00x (?)
DictionaryFilter 109402 107471 -1.8% 1.02x
DictionaryGroup 220 216 -1.8% 1.02x
DictionaryGroupOfObjects 2157 2130 -1.3% 1.01x
DictionaryKeysContainsNative 32 32 +0.0% 1.00x
DictionaryLiteral 1967 1939 -1.4% 1.01x (?)
DictionaryOfObjects 2542 2519 -0.9% 1.01x (?)
DictionaryRemove 4217 4251 +0.8% 0.99x (?)
DictionaryRemoveOfObjects 26508 26100 -1.5% 1.02x
DictionarySubscriptDefaultMutation 265 271 +2.3% 0.98x
DictionarySubscriptDefaultMutationArrayOfObjects 4024 4003 -0.5% 1.01x
DictionarySubscriptDefaultMutationOfObjects 1705 1736 +1.8% 0.98x
DictionarySwap 1044 1040 -0.4% 1.00x (?)
DictionarySwapAt 6962 7012 +0.7% 0.99x (?)
DictionarySwapAtOfObjects 52364 52257 -0.2% 1.00x (?)
DictionarySwapOfObjects 8876 8751 -1.4% 1.01x
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 84 84 +0.0% 1.00x
DropFirstAnySeqCRangeIter 21196 21415 +1.0% 0.99x
DropFirstAnySeqCRangeIterLazy 21179 21378 +0.9% 0.99x
DropFirstAnySeqCntRange 41 41 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 41 41 +0.0% 1.00x
DropFirstAnySequence 5000 4974 -0.5% 1.01x
DropFirstAnySequenceLazy 4992 4975 -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 2684 2680 -0.1% 1.00x
DropFirstSequenceLazy 2769 2768 -0.0% 1.00x (?)
DropLastAnyCollection 31 31 +0.0% 1.00x
DropLastAnySeqCRangeIter 3629 3690 +1.7% 0.98x (?)
DropLastAnySeqCRangeIterLazy 3629 3692 +1.7% 0.98x (?)
DropLastAnySeqCntRange 13 13 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 13 13 +0.0% 1.00x
DropLastAnySequence 5131 5088 -0.8% 1.01x (?)
DropLastAnySequenceLazy 5200 5204 +0.1% 1.00x (?)
DropLastCountableRange 12 12 +0.0% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropLastSequence 664 664 +0.0% 1.00x
DropLastSequenceLazy 664 664 +0.0% 1.00x
DropWhileAnyCollection 107 107 +0.0% 1.00x
DropWhileAnyCollectionLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCRangeIter 16708 16694 -0.1% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCntRange 51 50 -2.0% 1.02x
DropWhileAnySeqCntRangeLazy 125 125 +0.0% 1.00x
DropWhileAnySequence 4876 4841 -0.7% 1.01x
DropWhileAnySequenceLazy 1856 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 2161 -2.8% 1.03x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualSubstringSubstring 48 48 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 49 49 +0.0% 1.00x
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 208980 205764 -1.5% 1.02x
FilterEvenUsingReduce 1329 1325 -0.3% 1.00x (?)
FilterEvenUsingReduceInto 151 150 -0.7% 1.01x (?)
FloatingPointPrinting_Double_description_small 23956 23547 -1.7% 1.02x (?)
FloatingPointPrinting_Double_description_uniform 23558 23191 -1.6% 1.02x
FloatingPointPrinting_Double_interpolated 67078 68963 +2.8% 0.97x
FloatingPointPrinting_Float80_description_small 30786 30794 +0.0% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 29980 30315 +1.1% 0.99x
FloatingPointPrinting_Float80_interpolated 69891 72409 +3.6% 0.97x
FloatingPointPrinting_Float_description_uniform 4979 5088 +2.2% 0.98x
FloatingPointPrinting_Float_interpolated 41808 43270 +3.5% 0.97x
FrequenciesUsingReduce 5079 5006 -1.4% 1.01x (?)
FrequenciesUsingReduceInto 1606 1546 -3.7% 1.04x
Hanoi 2101 2126 +1.2% 0.99x
HashTest 1033 1084 +4.9% 0.95x
Histogram 709 704 -0.7% 1.01x
Integrate 335 339 +1.2% 0.99x
LazilyFilteredArrayContains 36277 36262 -0.0% 1.00x (?)
LazilyFilteredArrays 65409 66916 +2.3% 0.98x (?)
LazilyFilteredRange 3882 3890 +0.2% 1.00x
LessSubstringSubstring 49 49 +0.0% 1.00x
LessSubstringSubstringGenericComparable 49 49 +0.0% 1.00x
LinkedList 7609 7543 -0.9% 1.01x
LuhnAlgoEager 326 321 -1.5% 1.02x (?)
LuhnAlgoLazy 325 323 -0.6% 1.01x (?)
MapReduceAnyCollectionShort 2303 2286 -0.7% 1.01x
MapReduceClass 3013 3036 +0.8% 0.99x
MapReduceClassShort 4593 4580 -0.3% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 466 456 -2.1% 1.02x
MapReduceShort 2033 2013 -1.0% 1.01x (?)
MapReduceShortString 30 31 +3.3% 0.97x (?)
MapReduceString 79 79 +0.0% 1.00x
Memset 217 220 +1.4% 0.99x (?)
MonteCarloE 10247 10325 +0.8% 0.99x
MonteCarloPi 42690 42784 +0.2% 1.00x (?)
NSError 172 173 +0.6% 0.99x (?)
NSStringConversion 720 702 -2.5% 1.03x
NibbleSort 3698 3677 -0.6% 1.01x (?)
ObjectAllocation 133 133 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 26096 26526 +1.6% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 45264 43647 -3.6% 1.04x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 117845 118187 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 54706 52426 -4.2% 1.04x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 66471 67036 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSString 1224 1207 -1.4% 1.01x
ObjectiveCBridgeFromNSStringForced 2696 2679 -0.6% 1.01x (?)
ObjectiveCBridgeStubDataAppend 11410 11603 +1.7% 0.98x (?)
ObjectiveCBridgeStubDateMutation 400 401 +0.2% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 38101 36292 -4.7% 1.05x (?)
ObjectiveCBridgeStubFromNSString 1066 1043 -2.2% 1.02x
ObjectiveCBridgeStubFromNSStringRef 170 164 -3.5% 1.04x
ObjectiveCBridgeStubNSDataAppend 2663 2592 -2.7% 1.03x (?)
ObjectiveCBridgeStubNSDateMutationRef 13609 13555 -0.4% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 38746 39128 +1.0% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3421 3383 -1.1% 1.01x (?)
ObjectiveCBridgeStubToNSString 2380 2431 +2.1% 0.98x
ObjectiveCBridgeStubToNSStringRef 125 121 -3.2% 1.03x
ObjectiveCBridgeStubURLAppendPath 301865 299111 -0.9% 1.01x
ObjectiveCBridgeStubURLAppendPathRef 294002 283727 -3.5% 1.04x (?)
ObjectiveCBridgeToNSArray 15283 15129 -1.0% 1.01x (?)
ObjectiveCBridgeToNSSet 17931 17804 -0.7% 1.01x (?)
ObjectiveCBridgeToNSString 491 490 -0.2% 1.00x
ObserverClosure 2182 2169 -0.6% 1.01x
ObserverForwarderStruct 1263 1258 -0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3781 3749 -0.8% 1.01x
ObserverUnappliedMethod 2637 2598 -1.5% 1.02x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4800 4597 -4.2% 1.04x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1990 1961 -1.5% 1.01x (?)
PopFrontArrayGeneric 1975 1978 +0.2% 1.00x (?)
PopFrontUnsafePointer 9598 9513 -0.9% 1.01x (?)
PrefixAnyCollection 84 84 +0.0% 1.00x
PrefixAnyCollectionLazy 66506 66921 +0.6% 0.99x (?)
PrefixAnySeqCRangeIter 16636 16883 +1.5% 0.99x
PrefixAnySeqCRangeIterLazy 16655 16728 +0.4% 1.00x (?)
PrefixAnySeqCntRange 28 28 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 28 28 +0.0% 1.00x
PrefixAnySequence 4326 4319 -0.2% 1.00x
PrefixAnySequenceLazy 4328 4316 -0.3% 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 2224 2222 -0.1% 1.00x
PrefixSequenceLazy 2277 2275 -0.1% 1.00x (?)
PrefixWhileAnyCollection 154 154 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 90 90 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 8957 9166 +2.3% 0.98x
PrefixWhileAnySeqCRangeIterLazy 73 72 -1.4% 1.01x
PrefixWhileAnySeqCntRange 60 60 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 90 90 +0.0% 1.00x
PrefixWhileAnySequence 10330 10277 -0.5% 1.01x (?)
PrefixWhileAnySequenceLazy 1394 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 361 363 +0.6% 0.99x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 906 912 +0.7% 0.99x (?)
PrimsSplit 908 905 -0.3% 1.00x (?)
QueueConcrete 1158 1148 -0.9% 1.01x
QueueGeneric 1150 1146 -0.3% 1.00x
RGBHistogram 3210 3243 +1.0% 0.99x
RGBHistogramOfObjects 23902 23870 -0.1% 1.00x (?)
RandomDoubleDef 28009 27600 -1.5% 1.01x
RandomIntegersDef 25633 25518 -0.4% 1.00x
RandomShuffleDef 825414 826203 +0.1% 1.00x (?)
RandomShuffleLCG 150195 157528 +4.9% 0.95x
RangeAssignment 337 339 +0.6% 0.99x (?)
RangeIterationSigned 171 171 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 1021 1023 +0.2% 1.00x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 46 47 +2.2% 0.98x
RemoveWhereFilterString 231 233 +0.9% 0.99x
RemoveWhereFilterStrings 438 439 +0.2% 1.00x
RemoveWhereMoveInts 14 14 +0.0% 1.00x
RemoveWhereMoveStrings 709 708 -0.1% 1.00x
RemoveWhereQuadraticInts 1295 1299 +0.3% 1.00x
RemoveWhereQuadraticString 374 372 -0.5% 1.01x (?)
RemoveWhereQuadraticStrings 2764 2759 -0.2% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 861 861 +0.0% 1.00x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16576 16490 -0.5% 1.01x
ReversedDictionary 278 269 -3.2% 1.03x
SequenceAlgosAnySequence 11905 11814 -0.8% 1.01x
SequenceAlgosArray 1582 1582 +0.0% 1.00x
SequenceAlgosContiguousArray 1583 1581 -0.1% 1.00x (?)
SequenceAlgosList 1350 1355 +0.4% 1.00x
SequenceAlgosRange 2577 2577 +0.0% 1.00x
SequenceAlgosUnfoldSequence 1102 1102 +0.0% 1.00x
SetExclusiveOr 5138 5169 +0.6% 0.99x (?)
SetExclusiveOr_OfObjects 12048 11803 -2.0% 1.02x
SetIntersect 698 699 +0.1% 1.00x (?)
SetIntersect_OfObjects 1757 1768 +0.6% 0.99x (?)
SetIsSubsetOf 354 354 +0.0% 1.00x
SetIsSubsetOf_OfObjects 452 457 +1.1% 0.99x
SetUnion 4373 4446 +1.7% 0.98x
SetUnion_OfObjects 10211 10094 -1.1% 1.01x
SevenBoom 880 889 +1.0% 0.99x (?)
SortLargeExistentials 6048 6073 +0.4% 1.00x (?)
SortLettersInPlace 1051 1064 +1.2% 0.99x (?)
SortSortedStrings 1056 1008 -4.5% 1.05x
SortStrings 2006 1968 -1.9% 1.02x
SortStringsUnicode 2512 2493 -0.8% 1.01x
StackPromo 26321 25823 -1.9% 1.02x
StaticArray 11 11 +0.0% 1.00x
StrComplexWalk 1785 1783 -0.1% 1.00x
StrToInt 3180 3170 -0.3% 1.00x
StringComparison_abnormal 814 776 -4.7% 1.05x
StringComparison_ascii 1289 1260 -2.2% 1.02x
StringComparison_emoji 834 833 -0.1% 1.00x (?)
StringComparison_fastPrenormal 804 802 -0.2% 1.00x
StringComparison_latin1 627 636 +1.4% 0.99x
StringComparison_longSharedPrefix 935 934 -0.1% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 1622 1641 +1.2% 0.99x
StringComparison_slowerPrenormal 1740 1742 +0.1% 1.00x (?)
StringComparison_zalgo 124508 125504 +0.8% 0.99x
StringEdits 174341 166588 -4.4% 1.05x (?)
StringEnumRawValueInitialization 929 936 +0.8% 0.99x
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 21 22 +4.8% 0.95x
StringHasPrefixAscii 2262 2177 -3.8% 1.04x
StringHasPrefixUnicode 102683 102638 -0.0% 1.00x (?)
StringHasSuffixAscii 2433 2338 -3.9% 1.04x
StringHasSuffixUnicode 102273 101194 -1.1% 1.01x (?)
StringInterpolation 9961 10467 +5.1% 0.95x
StringInterpolationManySmallSegments 20108 21062 +4.7% 0.95x (?)
StringInterpolationSmall 6915 7005 +1.3% 0.99x (?)
StringRemoveDupes 528 522 -1.1% 1.01x
StringUTF16Builder 2681 2719 +1.4% 0.99x (?)
StringWalk 1428 1413 -1.1% 1.01x
StringWordBuilderReservingCapacity 1805 1848 +2.4% 0.98x
SubstringComparable 28 27 -3.6% 1.04x
SubstringEquatable 1423 1425 +0.1% 1.00x (?)
SubstringFromLongStringGeneric 75 75 +0.0% 1.00x
SuffixAnyCollection 31 31 +0.0% 1.00x
SuffixAnyCollectionLazy 20557 21112 +2.7% 0.97x
SuffixAnySeqCRangeIter 3839 3890 +1.3% 0.99x
SuffixAnySeqCRangeIterLazy 3843 3901 +1.5% 0.99x (?)
SuffixAnySeqCntRange 20 20 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 20 20 +0.0% 1.00x
SuffixAnySequence 5124 5071 -1.0% 1.01x
SuffixAnySequenceLazy 5199 5182 -0.3% 1.00x (?)
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 12 12 +0.0% 1.00x
SuffixSequence 3706 3714 +0.2% 1.00x (?)
SuffixSequenceLazy 3697 3721 +0.6% 0.99x
SumUsingReduce 102 101 -1.0% 1.01x
SumUsingReduceInto 97 97 +0.0% 1.00x
SuperChars 14844 14776 -0.5% 1.00x
TwoSum 1474 1472 -0.1% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
Walsh 430 433 +0.7% 0.99x
WordCountHistogramASCII 7650 7643 -0.1% 1.00x (?)
WordCountHistogramUTF16 14084 14300 +1.5% 0.98x
WordCountUniqueASCII 2135 2178 +2.0% 0.98x
WordCountUniqueUTF16 7632 7661 +0.4% 1.00x (?)
WordSplitASCII 7073 7160 +1.2% 0.99x (?)
WordSplitUTF16 9331 9122 -2.2% 1.02x (?)
XorLoop 402 401 -0.2% 1.00x (?)
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@milseman milseman merged commit 60b6789 into apple:master May 13, 2018
@milseman milseman deleted the never_forgiv_never_inlin branch May 13, 2018 22:11
@slavapestov
Copy link
Member

3.6% speedup in release builds is excellent!

Here's a fix for the XFAIL: #16587

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.

None yet

3 participants