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

Improve Dictionary.Keys.contains(_:) #16310

Merged
merged 3 commits into from
May 8, 2018
Merged

Conversation

koher
Copy link
Contributor

@koher koher commented May 2, 2018

Dictionary.Keys.contains(_:) takes O(1) for native dictionaries. However it takes O(n) when dictionaries wrap a NSDictionary. This PR makes it to take just O(1) even when wrapping a NSDictionary.

Benchmark results

Before

  # TEST                      SAMPLES MIN(μs) MAX(μs) MEAN(μs) SD(μs) MEDIAN(μs) MAX_RSS(B)
  1 DictionaryKeysContainsCocoa       1 1442133 1442133  1442133      0    1442133  314028032
  1 DictionaryKeysContainsNative       1      29      29       29      0         29   57896960

After

  # TEST                      SAMPLES MIN(μs) MAX(μs) MEAN(μs) SD(μs) MEDIAN(μs) MAX_RSS(B)
  1 DictionaryKeysContainsCocoa       1      36      36       36      0         36  314073088
  1 DictionaryKeysContainsNative       1      30      30       30      0         30   57925632

Copy link
Member

@lorentey lorentey left a comment

Choose a reason for hiding this comment

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

Very nice!

@lorentey
Copy link
Member

lorentey commented May 4, 2018

@swift-ci please test

@lorentey
Copy link
Member

lorentey commented May 4, 2018

@swift-ci please benchmark

@@ -0,0 +1,70 @@
//===--- DictionaryKeysContains.swift -------------------------------------------===//
Copy link
Collaborator

Choose a reason for hiding this comment

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

Nit: Please fix the header so that it's 80-characters wide; below, please consistently use two-space indents and wrap to 80-characters.

Anyway, this is awesome!

@swift-ci
Copy link
Collaborator

swift-ci commented May 5, 2018

Build comment file:

Optimized (O)

Regression (10)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubFromNSDate 6085 7051 +15.9% 0.86x (?)
RemoveWhereFilterString 213 245 +15.0% 0.87x
SubstringEquatable 1398 1555 +11.2% 0.90x
SuffixCountableRange 11 12 +9.1% 0.92x
EqualStringSubstring 56 61 +8.9% 0.92x
SubstringComparable 26 28 +7.7% 0.93x
PopFrontArrayGeneric 1833 1972 +7.6% 0.93x (?)
EqualSubstringString 65 69 +6.2% 0.94x
ArrayAppendAscii 3960 4185 +5.7% 0.95x
SubstringFromLongStringGeneric 75 79 +5.3% 0.95x
Improvement (7)
TEST OLD NEW DELTA SPEEDUP
DropLastCountableRangeLazy 12 11 -8.3% 1.09x
DataReplaceMediumBuffer 15987 14702 -8.0% 1.09x (?)
MapReduce 399 371 -7.0% 1.08x
MapReduceAnyCollection 429 400 -6.8% 1.07x (?)
NopDeinit 32325 30153 -6.7% 1.07x
DataReplaceMedium 11951 11268 -5.7% 1.06x (?)
MapReduceLazyCollectionShort 36 34 -5.6% 1.06x
No Changes (410)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3718 3741 +0.6% 0.99x (?)
AnyHashableWithAClass 85098 85590 +0.6% 0.99x (?)
Array2D 2817 2855 +1.3% 0.99x (?)
ArrayAppend 1106 1108 +0.2% 1.00x (?)
ArrayAppendArrayOfInt 797 794 -0.4% 1.00x (?)
ArrayAppendAsciiSubstring 153881 157681 +2.5% 0.98x (?)
ArrayAppendFromGeneric 785 787 +0.3% 1.00x (?)
ArrayAppendGenericStructs 1419 1418 -0.1% 1.00x (?)
ArrayAppendLatin1 39904 40088 +0.5% 1.00x (?)
ArrayAppendLatin1Substring 283236 290751 +2.7% 0.97x (?)
ArrayAppendLazyMap 1335 1341 +0.4% 1.00x (?)
ArrayAppendOptionals 1425 1418 -0.5% 1.00x (?)
ArrayAppendRepeatCol 1341 1335 -0.4% 1.00x (?)
ArrayAppendReserved 841 840 -0.1% 1.00x (?)
ArrayAppendSequence 1118 1119 +0.1% 1.00x (?)
ArrayAppendStrings 6215 6211 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 798 791 -0.9% 1.01x (?)
ArrayAppendToGeneric 794 798 +0.5% 0.99x (?)
ArrayAppendUTF16 39480 39892 +1.0% 0.99x (?)
ArrayAppendUTF16Substring 284810 292558 +2.7% 0.97x (?)
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 149 149 +0.0% 1.00x
ArrayOfGenericRef 4392 4374 -0.4% 1.00x (?)
ArrayOfPOD 184 183 -0.5% 1.01x (?)
ArrayOfRef 4360 4360 +0.0% 1.00x
ArrayPlusEqualArrayOfInt 796 796 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 5498 5570 +1.3% 0.99x (?)
ArrayPlusEqualSingleElementCollection 1108 1108 +0.0% 1.00x
ArrayPlusEqualThreeElements 1651 1646 -0.3% 1.00x (?)
ArraySubscript 1515 1524 +0.6% 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
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 103 +0.0% 1.00x
COWTree 5375 5388 +0.2% 1.00x (?)
CSVParsing 724375 723892 -0.1% 1.00x (?)
CSVParsingAlt 787948 789439 +0.2% 1.00x (?)
CSVParsingAltIndices 343718 340596 -0.9% 1.01x (?)
CStringLongAscii 4643 4644 +0.0% 1.00x (?)
CStringLongNonAscii 2164 2166 +0.1% 1.00x (?)
CStringShortAscii 3182 3186 +0.1% 1.00x (?)
Calculator 1129 1150 +1.9% 0.98x
CaptureProp 4100 4104 +0.1% 1.00x (?)
ChainedFilterMap 1408 1408 +0.0% 1.00x
CharIndexing_ascii_unicodeScalars 16084 16267 +1.1% 0.99x
CharIndexing_ascii_unicodeScalars_Backwards 16288 16528 +1.5% 0.99x
CharIndexing_chinese_unicodeScalars 12184 12326 +1.2% 0.99x
CharIndexing_chinese_unicodeScalars_Backwards 12335 12512 +1.4% 0.99x
CharIndexing_japanese_unicodeScalars 19237 19486 +1.3% 0.99x
CharIndexing_japanese_unicodeScalars_Backwards 19497 19790 +1.5% 0.99x
CharIndexing_korean_unicodeScalars 15589 15768 +1.1% 0.99x (?)
CharIndexing_korean_unicodeScalars_Backwards 15654 16036 +2.4% 0.98x
CharIndexing_punctuatedJapanese_unicodeScalars 2913 2960 +1.6% 0.98x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2951 2975 +0.8% 0.99x (?)
CharIndexing_punctuated_unicodeScalars 3651 3702 +1.4% 0.99x
CharIndexing_punctuated_unicodeScalars_Backwards 3694 3733 +1.1% 0.99x
CharIndexing_russian_unicodeScalars 13403 13543 +1.0% 0.99x (?)
CharIndexing_russian_unicodeScalars_Backwards 13603 13780 +1.3% 0.99x
CharIndexing_tweet_unicodeScalars 31677 32070 +1.2% 0.99x
CharIndexing_tweet_unicodeScalars_Backwards 32272 32443 +0.5% 0.99x (?)
CharIndexing_utf16_unicodeScalars 22880 22910 +0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 23373 23455 +0.4% 1.00x (?)
CharIteration_ascii_unicodeScalars 20443 20587 +0.7% 0.99x (?)
CharIteration_ascii_unicodeScalars_Backwards 15143 15362 +1.4% 0.99x
CharIteration_chinese_unicodeScalars 15456 15554 +0.6% 0.99x
CharIteration_chinese_unicodeScalars_Backwards 11468 11626 +1.4% 0.99x (?)
CharIteration_japanese_unicodeScalars 24439 24646 +0.8% 0.99x
CharIteration_japanese_unicodeScalars_Backwards 18121 18396 +1.5% 0.99x
CharIteration_korean_unicodeScalars 19832 19950 +0.6% 0.99x (?)
CharIteration_korean_unicodeScalars_Backwards 14684 14898 +1.5% 0.99x
CharIteration_punctuatedJapanese_unicodeScalars 3669 3679 +0.3% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2748 2781 +1.2% 0.99x (?)
CharIteration_punctuated_unicodeScalars 4591 4622 +0.7% 0.99x
CharIteration_punctuated_unicodeScalars_Backwards 3436 3478 +1.2% 0.99x
CharIteration_russian_unicodeScalars 17009 17138 +0.8% 0.99x (?)
CharIteration_russian_unicodeScalars_Backwards 12621 12793 +1.4% 0.99x
CharIteration_tweet_unicodeScalars 39989 40056 +0.2% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 29962 30428 +1.6% 0.98x
CharIteration_utf16_unicodeScalars 27575 27543 -0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 18786 18860 +0.4% 1.00x (?)
CharacterLiteralsLarge 5802 5801 -0.0% 1.00x (?)
CharacterLiteralsSmall 220 220 +0.0% 1.00x
CharacterPropertiesFetch 4531 4532 +0.0% 1.00x (?)
CharacterPropertiesPrecomputed 1127 1123 -0.4% 1.00x (?)
CharacterPropertiesStashed 1497 1484 -0.9% 1.01x (?)
CharacterPropertiesStashedMemo 1591 1578 -0.8% 1.01x (?)
Chars 1214 1216 +0.2% 1.00x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 497 497 +0.0% 1.00x
DataAccessBytes 1219 1218 -0.1% 1.00x (?)
DataAppendArray 6070 6294 +3.7% 0.96x (?)
DataAppendBytes 6004 5985 -0.3% 1.00x (?)
DataAppendDataLargeToLarge 69108 69230 +0.2% 1.00x (?)
DataAppendDataLargeToMedium 36487 36882 +1.1% 0.99x (?)
DataAppendDataLargeToSmall 35294 35666 +1.1% 0.99x (?)
DataAppendDataMediumToLarge 39012 39127 +0.3% 1.00x (?)
DataAppendDataMediumToMedium 7868 8077 +2.7% 0.97x (?)
DataAppendDataMediumToSmall 6848 6859 +0.2% 1.00x (?)
DataAppendDataSmallToLarge 38043 38367 +0.9% 0.99x (?)
DataAppendDataSmallToMedium 7303 7637 +4.6% 0.96x (?)
DataAppendDataSmallToSmall 6858 7086 +3.3% 0.97x (?)
DataAppendSequence 20991 21001 +0.0% 1.00x (?)
DataCopyBytes 2511 2532 +0.8% 0.99x (?)
DataCount 37 37 +0.0% 1.00x
DataMutateBytes 4289 4257 -0.7% 1.01x (?)
DataReplaceLarge 41169 40876 -0.7% 1.01x (?)
DataReplaceLargeBuffer 59927 59579 -0.6% 1.01x (?)
DataReplaceSmall 9139 8717 -4.6% 1.05x (?)
DataReplaceSmallBuffer 11292 11485 +1.7% 0.98x (?)
DataReset 3178 3167 -0.3% 1.00x (?)
DataSetCount 917 897 -2.2% 1.02x
DataSubscript 238 239 +0.4% 1.00x
DictOfArraysToArrayOfDicts 803 806 +0.4% 1.00x (?)
Dictionary 695 696 +0.1% 1.00x (?)
Dictionary2 818 823 +0.6% 0.99x (?)
Dictionary2OfObjects 2233 2226 -0.3% 1.00x (?)
Dictionary3 255 254 -0.4% 1.00x (?)
Dictionary3OfObjects 768 769 +0.1% 1.00x (?)
Dictionary4 342 343 +0.3% 1.00x (?)
Dictionary4Legacy 727 727 +0.0% 1.00x
Dictionary4OfObjects 452 453 +0.2% 1.00x (?)
Dictionary4OfObjectsLegacy 939 938 -0.1% 1.00x (?)
DictionaryBridge 1217 1216 -0.1% 1.00x (?)
DictionaryCopy 107199 106247 -0.9% 1.01x (?)
DictionaryFilter 105278 106208 +0.9% 0.99x (?)
DictionaryGroup 215 215 +0.0% 1.00x
DictionaryGroupOfObjects 2123 2114 -0.4% 1.00x (?)
DictionaryLiteral 1908 1908 +0.0% 1.00x
DictionaryOfObjects 2494 2497 +0.1% 1.00x (?)
DictionaryRemove 4178 4171 -0.2% 1.00x (?)
DictionaryRemoveOfObjects 25893 25886 -0.0% 1.00x (?)
DictionarySubscriptDefaultMutation 267 269 +0.7% 0.99x
DictionarySubscriptDefaultMutationArray 624 624 +0.0% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 4005 4014 +0.2% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1705 1706 +0.1% 1.00x (?)
DictionarySwap 1034 1038 +0.4% 1.00x (?)
DictionarySwapAt 6624 6659 +0.5% 0.99x (?)
DictionarySwapAtOfObjects 52519 51844 -1.3% 1.01x (?)
DictionarySwapOfObjects 8765 8780 +0.2% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 83 83 +0.0% 1.00x
DropFirstAnyCollectionLazy 62448 62273 -0.3% 1.00x (?)
DropFirstAnySeqCRangeIter 21551 21500 -0.2% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21556 21506 -0.2% 1.00x (?)
DropFirstAnySeqCntRange 41 41 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 41 41 +0.0% 1.00x
DropFirstAnySequence 4979 4989 +0.2% 1.00x (?)
DropFirstAnySequenceLazy 4965 4971 +0.1% 1.00x (?)
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2682 2681 -0.0% 1.00x (?)
DropFirstSequenceLazy 2773 2774 +0.0% 1.00x (?)
DropLastAnyCollection 31 30 -3.2% 1.03x
DropLastAnyCollectionLazy 20733 20781 +0.2% 1.00x (?)
DropLastAnySeqCRangeIter 3641 3661 +0.5% 0.99x (?)
DropLastAnySeqCRangeIterLazy 3630 3669 +1.1% 0.99x (?)
DropLastAnySeqCntRange 13 13 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 13 13 +0.0% 1.00x
DropLastAnySequence 5043 5034 -0.2% 1.00x (?)
DropLastAnySequenceLazy 5141 5152 +0.2% 1.00x (?)
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastSequence 632 661 +4.6% 0.96x
DropLastSequenceLazy 633 663 +4.7% 0.95x (?)
DropWhileAnyCollection 107 107 +0.0% 1.00x
DropWhileAnyCollectionLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCRangeIter 16946 16906 -0.2% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCntRange 50 50 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 125 125 +0.0% 1.00x
DropWhileAnySequence 4900 4895 -0.1% 1.00x (?)
DropWhileAnySequenceLazy 1855 1855 +0.0% 1.00x
DropWhileArrayLazy 88 88 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 105 105 +0.0% 1.00x
DropWhileSequence 2215 2204 -0.5% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualSubstringSubstring 49 49 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 49 49 +0.0% 1.00x
ErrorHandling 1469 1490 +1.4% 0.99x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 204081 204309 +0.1% 1.00x (?)
FilterEvenUsingReduce 1287 1288 +0.1% 1.00x (?)
FilterEvenUsingReduceInto 147 146 -0.7% 1.01x (?)
FloatingPointPrinting_Double_description_small 23577 23629 +0.2% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 23131 23140 +0.0% 1.00x (?)
FloatingPointPrinting_Double_interpolated 66703 66752 +0.1% 1.00x (?)
FloatingPointPrinting_Float80_description_small 30546 30582 +0.1% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 29569 29580 +0.0% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 70064 70331 +0.4% 1.00x (?)
FloatingPointPrinting_Float_description_small 5160 5209 +0.9% 0.99x
FloatingPointPrinting_Float_description_uniform 4937 5024 +1.8% 0.98x
FloatingPointPrinting_Float_interpolated 41842 42132 +0.7% 0.99x (?)
FrequenciesUsingReduce 4960 4948 -0.2% 1.00x (?)
FrequenciesUsingReduceInto 1542 1556 +0.9% 0.99x (?)
Hanoi 2180 2188 +0.4% 1.00x (?)
HashTest 1032 1041 +0.9% 0.99x (?)
Histogram 700 701 +0.1% 1.00x (?)
Integrate 334 335 +0.3% 1.00x (?)
IterateData 1815 1851 +2.0% 0.98x (?)
Join 180 183 +1.7% 0.98x
LazilyFilteredArrayContains 35479 36257 +2.2% 0.98x (?)
LazilyFilteredArrays 64947 65003 +0.1% 1.00x (?)
LazilyFilteredRange 3808 3883 +2.0% 0.98x
LessSubstringSubstring 49 49 +0.0% 1.00x
LessSubstringSubstringGenericComparable 49 49 +0.0% 1.00x
LinkedList 7606 7541 -0.9% 1.01x
LuhnAlgoEager 328 323 -1.5% 1.02x (?)
LuhnAlgoLazy 323 325 +0.6% 0.99x (?)
MapReduceAnyCollectionShort 2268 2222 -2.0% 1.02x
MapReduceClass 3026 3001 -0.8% 1.01x
MapReduceClassShort 4561 4562 +0.0% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 456 448 -1.8% 1.02x (?)
MapReduceShort 1973 2013 +2.0% 0.98x (?)
MapReduceShortString 30 30 +0.0% 1.00x
MapReduceString 79 79 +0.0% 1.00x
Memset 216 217 +0.5% 1.00x (?)
MonteCarloE 10151 10287 +1.3% 0.99x
MonteCarloPi 42685 42709 +0.1% 1.00x (?)
NSDictionaryCastToSwift 7132 7174 +0.6% 0.99x (?)
NSError 172 173 +0.6% 0.99x (?)
NSStringConversion 716 719 +0.4% 1.00x (?)
NibbleSort 3669 3696 +0.7% 0.99x (?)
ObjectAllocation 133 132 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25596 25381 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4791 4606 -3.9% 1.04x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45122 45386 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 42501 43063 +1.3% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 115512 116283 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObject 52613 51952 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5064 4867 -3.9% 1.04x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 66378 65708 -1.0% 1.01x (?)
ObjectiveCBridgeFromNSString 1224 1208 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2675 2679 +0.1% 1.00x (?)
ObjectiveCBridgeStubDataAppend 11480 11292 -1.6% 1.02x (?)
ObjectiveCBridgeStubDateMutation 400 400 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 32151 32420 +0.8% 0.99x (?)
ObjectiveCBridgeStubFromNSString 1036 1042 +0.6% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 164 167 +1.8% 0.98x
ObjectiveCBridgeStubNSDataAppend 2530 2529 -0.0% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 13389 13374 -0.1% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 39210 39651 +1.1% 0.99x (?)
ObjectiveCBridgeStubToNSDate 14734 15084 +2.4% 0.98x (?)
ObjectiveCBridgeStubToNSDateRef 3437 3407 -0.9% 1.01x (?)
ObjectiveCBridgeStubToNSString 2375 2380 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 121 124 +2.5% 0.98x (?)
ObjectiveCBridgeStubURLAppendPath 277761 284304 +2.4% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 281293 284051 +1.0% 0.99x (?)
ObjectiveCBridgeToNSArray 14958 15105 +1.0% 0.99x (?)
ObjectiveCBridgeToNSDictionary 25290 26171 +3.5% 0.97x (?)
ObjectiveCBridgeToNSSet 16863 17163 +1.8% 0.98x (?)
ObjectiveCBridgeToNSString 486 493 +1.4% 0.99x
ObserverClosure 2169 2173 +0.2% 1.00x (?)
ObserverForwarderStruct 1249 1245 -0.3% 1.00x (?)
ObserverPartiallyAppliedMethod 3740 3739 -0.0% 1.00x (?)
ObserverUnappliedMethod 2596 2586 -0.4% 1.00x (?)
OpenClose 272 279 +2.6% 0.97x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4766 4814 +1.0% 0.99x
PointerArithmetics 34352 34356 +0.0% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1962 1962 +0.0% 1.00x
PopFrontUnsafePointer 8741 8737 -0.0% 1.00x (?)
PrefixAnyCollection 83 83 +0.0% 1.00x
PrefixAnyCollectionLazy 62268 62290 +0.0% 1.00x (?)
PrefixAnySeqCRangeIter 16759 16767 +0.0% 1.00x (?)
PrefixAnySeqCRangeIterLazy 16700 16794 +0.6% 0.99x (?)
PrefixAnySeqCntRange 28 28 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 28 28 +0.0% 1.00x
PrefixAnySequence 4358 4351 -0.2% 1.00x (?)
PrefixAnySequenceLazy 4353 4351 -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 2218 2214 -0.2% 1.00x (?)
PrefixSequenceLazy 2276 2276 +0.0% 1.00x
PrefixWhileAnyCollection 154 154 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 90 90 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 9080 9074 -0.1% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 72 72 +0.0% 1.00x
PrefixWhileAnySeqCntRange 59 59 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 90 90 +0.0% 1.00x
PrefixWhileAnySequence 10244 10104 -1.4% 1.01x (?)
PrefixWhileAnySequenceLazy 1392 1392 +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 360 360 +0.0% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 901 908 +0.8% 0.99x (?)
PrimsSplit 900 910 +1.1% 0.99x (?)
QueueConcrete 1148 1146 -0.2% 1.00x (?)
QueueGeneric 1148 1147 -0.1% 1.00x (?)
RC4 149 149 +0.0% 1.00x
RGBHistogram 3209 3225 +0.5% 1.00x (?)
RGBHistogramOfObjects 23709 23674 -0.1% 1.00x (?)
RangeAssignment 337 336 -0.3% 1.00x (?)
RangeIterationSigned 171 171 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 1017 1017 +0.0% 1.00x
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 46 46 +0.0% 1.00x
RemoveWhereFilterStrings 436 437 +0.2% 1.00x (?)
RemoveWhereMoveInts 15 15 +0.0% 1.00x
RemoveWhereMoveStrings 707 708 +0.1% 1.00x (?)
RemoveWhereQuadraticInts 1290 1291 +0.1% 1.00x (?)
RemoveWhereQuadraticString 352 355 +0.9% 0.99x (?)
RemoveWhereQuadraticStrings 2759 2753 -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 16486 16188 -1.8% 1.02x (?)
ReversedDictionary 268 262 -2.2% 1.02x (?)
RomanNumbers 91580 89114 -2.7% 1.03x
SequenceAlgosAnySequence 11920 11901 -0.2% 1.00x (?)
SequenceAlgosArray 1575 1577 +0.1% 1.00x (?)
SequenceAlgosContiguousArray 1578 1578 +0.0% 1.00x
SequenceAlgosList 1350 1353 +0.2% 1.00x (?)
SequenceAlgosRange 2576 2576 +0.0% 1.00x
SequenceAlgosUnfoldSequence 1102 1102 +0.0% 1.00x
SetExclusiveOr 5125 5205 +1.6% 0.98x (?)
SetExclusiveOr_OfObjects 11840 11929 +0.8% 0.99x (?)
SetIntersect 700 697 -0.4% 1.00x (?)
SetIntersect_OfObjects 1647 1637 -0.6% 1.01x (?)
SetIsSubsetOf 355 355 +0.0% 1.00x
SetIsSubsetOf_OfObjects 449 451 +0.4% 1.00x (?)
SetUnion 4396 4526 +3.0% 0.97x
SetUnion_OfObjects 10137 10182 +0.4% 1.00x (?)
SevenBoom 873 873 +0.0% 1.00x
Sim2DArray 417 417 +0.0% 1.00x
SortLargeExistentials 6169 6205 +0.6% 0.99x (?)
SortLettersInPlace 1042 1047 +0.5% 1.00x (?)
SortSortedStrings 1012 1022 +1.0% 0.99x
SortStrings 1991 2009 +0.9% 0.99x (?)
SortStringsUnicode 2454 2497 +1.8% 0.98x
StackPromo 25381 25401 +0.1% 1.00x (?)
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1783 1784 +0.1% 1.00x (?)
StrToInt 3261 3213 -1.5% 1.01x
StringAdder 707 732 +3.5% 0.97x
StringBuilder 643 646 +0.5% 1.00x (?)
StringBuilderLong 2780 2777 -0.1% 1.00x (?)
StringBuilderWithLongSubstring 1465 1514 +3.3% 0.97x (?)
StringComparison_abnormal 794 794 +0.0% 1.00x
StringComparison_ascii 1289 1310 +1.6% 0.98x
StringComparison_emoji 783 787 +0.5% 0.99x (?)
StringComparison_fastPrenormal 797 812 +1.9% 0.98x (?)
StringComparison_latin1 627 634 +1.1% 0.99x (?)
StringComparison_longSharedPrefix 921 929 +0.9% 0.99x (?)
StringComparison_nonBMPSlowestPrenormal 1525 1538 +0.9% 0.99x
StringComparison_slowerPrenormal 1658 1699 +2.5% 0.98x (?)
StringComparison_zalgo 124590 124891 +0.2% 1.00x (?)
StringEdits 170086 171176 +0.6% 0.99x (?)
StringEnumRawValueInitialization 928 925 -0.3% 1.00x (?)
StringEqualPointerComparison 304 303 -0.3% 1.00x (?)
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2205 2234 +1.3% 0.99x (?)
StringHasPrefixUnicode 105131 104700 -0.4% 1.00x (?)
StringHasSuffixAscii 2319 2347 +1.2% 0.99x
StringHasSuffixUnicode 101843 102074 +0.2% 1.00x (?)
StringInterpolation 9904 9808 -1.0% 1.01x (?)
StringInterpolationManySmallSegments 19929 19940 +0.1% 1.00x (?)
StringInterpolationSmall 7146 6866 -3.9% 1.04x (?)
StringMatch 13099 13033 -0.5% 1.01x (?)
StringRemoveDupes 524 524 +0.0% 1.00x
StringUTF16Builder 2579 2576 -0.1% 1.00x (?)
StringUTF16SubstringBuilder 5727 5923 +3.4% 0.97x (?)
StringWalk 1428 1430 +0.1% 1.00x (?)
StringWithCString 40834 40878 +0.1% 1.00x (?)
StringWordBuilder 2323 2323 +0.0% 1.00x
StringWordBuilderReservingCapacity 1895 1937 +2.2% 0.98x
SubstringEqualString 787 786 -0.1% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SuffixAnyCollection 31 31 +0.0% 1.00x
SuffixAnyCollectionLazy 20828 20793 -0.2% 1.00x (?)
SuffixAnySeqCRangeIter 3868 3890 +0.6% 0.99x (?)
SuffixAnySeqCRangeIterLazy 3873 3856 -0.4% 1.00x (?)
SuffixAnySeqCntRange 20 20 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 20 20 +0.0% 1.00x
SuffixAnySequence 5050 5040 -0.2% 1.00x (?)
SuffixAnySequenceLazy 5172 5159 -0.3% 1.00x (?)
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3760 3757 -0.1% 1.00x (?)
SuffixSequenceLazy 3751 3750 -0.0% 1.00x (?)
SumUsingReduce 97 97 +0.0% 1.00x
SumUsingReduceInto 101 102 +1.0% 0.99x
SuperChars 14828 14801 -0.2% 1.00x (?)
TwoSum 1459 1470 +0.8% 0.99x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 304 304 +0.0% 1.00x
Walsh 431 432 +0.2% 1.00x (?)
WordCountHistogramASCII 7645 7654 +0.1% 1.00x (?)
WordCountHistogramUTF16 14079 14287 +1.5% 0.99x (?)
WordCountUniqueASCII 2133 2148 +0.7% 0.99x (?)
WordCountUniqueUTF16 7448 7544 +1.3% 0.99x (?)
WordSplitASCII 6753 6793 +0.6% 0.99x (?)
WordSplitUTF16 8636 8856 +2.5% 0.98x (?)
XorLoop 396 398 +0.5% 0.99x (?)
Added (2)
TEST MIN MAX MEAN MAX_RSS
DictionaryKeysContainsCocoa 39 51 42 313822618
DictionaryKeysContainsNative 32 47 34 57643418

Unoptimized (Onone)

Regression (12)
TEST OLD NEW DELTA SPEEDUP
StringEdits 360552 390949 +8.4% 0.92x
ObjectiveCBridgeStubToNSDate 14636 15868 +8.4% 0.92x (?)
DataReplaceSmallBuffer 11949 12929 +8.2% 0.92x (?)
StackPromo 101275 108580 +7.2% 0.93x (?)
PopFrontArray 4672 4971 +6.4% 0.94x (?)
AngryPhonebook 5443 5783 +6.2% 0.94x (?)
BitCount 8563 9088 +6.1% 0.94x
ExclusivityIndependent 72 76 +5.6% 0.95x (?)
StringWalk 12018 12682 +5.5% 0.95x
ObjectiveCBridgeFromNSSetAnyObjectForced 5542 5845 +5.5% 0.95x (?)
PointerArithmetics 114520 120682 +5.4% 0.95x
StringComparison_latin1 3847 4053 +5.4% 0.95x
Improvement (9)
TEST OLD NEW DELTA SPEEDUP
StringInterpolationSmall 10441 8871 -15.0% 1.18x (?)
CharIndexing_tweet_unicodeScalars_Backwards 804504 715443 -11.1% 1.12x (?)
CharIndexing_ascii_unicodeScalars_Backwards 401063 359153 -10.4% 1.12x (?)
CharIndexing_korean_unicodeScalars_Backwards 388321 348854 -10.2% 1.11x (?)
CharIndexing_russian_unicodeScalars_Backwards 332272 302690 -8.9% 1.10x (?)
StringUTF16Builder 8750 8058 -7.9% 1.09x (?)
StringBuilderWithLongSubstring 5051 4682 -7.3% 1.08x (?)
NSDictionaryCastToSwift 9309 8835 -5.1% 1.05x (?)
PrefixArray 3548 3375 -4.9% 1.05x (?)
No Changes (406)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 102220 102289 +0.1% 1.00x (?)
Array2D 636481 635246 -0.2% 1.00x (?)
ArrayAppend 4432 4550 +2.7% 0.97x
ArrayAppendArrayOfInt 853 863 +1.2% 0.99x (?)
ArrayAppendAscii 29309 29213 -0.3% 1.00x
ArrayAppendAsciiSubstring 184619 185084 +0.3% 1.00x (?)
ArrayAppendFromGeneric 867 875 +0.9% 0.99x
ArrayAppendGenericStructs 1498 1502 +0.3% 1.00x (?)
ArrayAppendLatin1 66726 66489 -0.4% 1.00x (?)
ArrayAppendLatin1Substring 322581 324382 +0.6% 0.99x (?)
ArrayAppendLazyMap 169314 169711 +0.2% 1.00x (?)
ArrayAppendOptionals 1500 1503 +0.2% 1.00x (?)
ArrayAppendRepeatCol 184838 188655 +2.1% 0.98x
ArrayAppendReserved 4280 4163 -2.7% 1.03x
ArrayAppendSequence 104965 104487 -0.5% 1.00x
ArrayAppendStrings 6345 6344 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 869 868 -0.1% 1.00x (?)
ArrayAppendToGeneric 873 877 +0.5% 1.00x (?)
ArrayAppendUTF16 66536 66163 -0.6% 1.01x (?)
ArrayAppendUTF16Substring 325374 326717 +0.4% 1.00x
ArrayInClass 6234 6217 -0.3% 1.00x
ArrayLiteral 1831 1799 -1.7% 1.02x (?)
ArrayOfGenericPOD2 1071 1072 +0.1% 1.00x (?)
ArrayOfGenericRef 10818 10769 -0.5% 1.00x (?)
ArrayOfPOD 759 761 +0.3% 1.00x (?)
ArrayOfRef 9997 9969 -0.3% 1.00x (?)
ArrayPlusEqualArrayOfInt 868 866 -0.2% 1.00x (?)
ArrayPlusEqualFiveElementCollection 239285 239481 +0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 236873 235552 -0.6% 1.01x (?)
ArrayPlusEqualThreeElements 9478 9425 -0.6% 1.01x (?)
ArraySubscript 106974 107855 +0.8% 0.99x
ArrayValueProp 3706 3666 -1.1% 1.01x (?)
ArrayValueProp2 15328 15437 +0.7% 0.99x
ArrayValueProp3 4204 4192 -0.3% 1.00x (?)
ArrayValueProp4 4157 4124 -0.8% 1.01x (?)
BinaryFloatingPointPropertiesBinade 88 85 -3.4% 1.04x
BinaryFloatingPointPropertiesNextUp 126 128 +1.6% 0.98x
BinaryFloatingPointPropertiesUlp 134 128 -4.5% 1.05x
ByteSwap 9501 9861 +3.8% 0.96x (?)
COWTree 12030 11870 -1.3% 1.01x (?)
CSVParsing 2991622 2969160 -0.8% 1.01x (?)
CSVParsingAlt 1418895 1436787 +1.3% 0.99x (?)
CSVParsingAltIndices 2425902 2419191 -0.3% 1.00x (?)
CStringLongAscii 5368 5378 +0.2% 1.00x (?)
CStringLongNonAscii 2479 2476 -0.1% 1.00x (?)
CStringShortAscii 6588 6361 -3.4% 1.04x (?)
Calculator 2111 2141 +1.4% 0.99x
CaptureProp 278225 277964 -0.1% 1.00x (?)
ChainedFilterMap 232512 233185 +0.3% 1.00x (?)
CharIndexing_ascii_unicodeScalars 319546 319551 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 243053 245380 +1.0% 0.99x (?)
CharIndexing_chinese_unicodeScalars_Backwards 279825 272647 -2.6% 1.03x (?)
CharIndexing_japanese_unicodeScalars 390517 387851 -0.7% 1.01x (?)
CharIndexing_japanese_unicodeScalars_Backwards 440039 429383 -2.4% 1.02x (?)
CharIndexing_korean_unicodeScalars 313037 309396 -1.2% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 57733 56386 -2.3% 1.02x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 63401 62238 -1.8% 1.02x (?)
CharIndexing_punctuated_unicodeScalars 71946 71586 -0.5% 1.01x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 83229 79725 -4.2% 1.04x (?)
CharIndexing_russian_unicodeScalars 264065 264846 +0.3% 1.00x (?)
CharIndexing_tweet_unicodeScalars 630181 631479 +0.2% 1.00x (?)
CharIndexing_utf16_unicodeScalars 279325 279601 +0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 307316 313546 +2.0% 0.98x (?)
CharIteration_ascii_unicodeScalars 149792 150756 +0.6% 0.99x
CharIteration_ascii_unicodeScalars_Backwards 251961 250011 -0.8% 1.01x (?)
CharIteration_chinese_unicodeScalars 113088 114276 +1.1% 0.99x
CharIteration_chinese_unicodeScalars_Backwards 190130 192284 +1.1% 0.99x (?)
CharIteration_japanese_unicodeScalars 179682 180509 +0.5% 1.00x
CharIteration_japanese_unicodeScalars_Backwards 301705 306361 +1.5% 0.98x
CharIteration_korean_unicodeScalars 145306 145946 +0.4% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 244049 243836 -0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 26630 26797 +0.6% 0.99x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 43972 43794 -0.4% 1.00x (?)
CharIteration_punctuated_unicodeScalars 33485 33632 +0.4% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 55664 55184 -0.9% 1.01x (?)
CharIteration_russian_unicodeScalars 124543 125309 +0.6% 0.99x
CharIteration_russian_unicodeScalars_Backwards 209465 208710 -0.4% 1.00x (?)
CharIteration_tweet_unicodeScalars 295742 296948 +0.4% 1.00x
CharIteration_tweet_unicodeScalars_Backwards 499352 493780 -1.1% 1.01x (?)
CharIteration_utf16_unicodeScalars 126996 127404 +0.3% 1.00x
CharIteration_utf16_unicodeScalars_Backwards 218383 229026 +4.9% 0.95x (?)
CharacterLiteralsLarge 5750 5921 +3.0% 0.97x
CharacterLiteralsSmall 707 701 -0.8% 1.01x (?)
CharacterPropertiesFetch 5532 5441 -1.6% 1.02x (?)
CharacterPropertiesPrecomputed 3513 3681 +4.8% 0.95x
CharacterPropertiesStashed 2313 2293 -0.9% 1.01x (?)
CharacterPropertiesStashedMemo 4558 4483 -1.6% 1.02x (?)
Chars 35942 35965 +0.1% 1.00x (?)
ClassArrayGetter 994 993 -0.1% 1.00x (?)
Combos 2363 2386 +1.0% 0.99x (?)
DataAccessBytes 2407 2409 +0.1% 1.00x (?)
DataAppendArray 5351 5333 -0.3% 1.00x (?)
DataAppendBytes 4990 4987 -0.1% 1.00x (?)
DataAppendDataLargeToLarge 68839 67390 -2.1% 1.02x (?)
DataAppendDataLargeToMedium 35362 35630 +0.8% 0.99x (?)
DataAppendDataLargeToSmall 34789 34722 -0.2% 1.00x (?)
DataAppendDataMediumToLarge 38105 38186 +0.2% 1.00x (?)
DataAppendDataMediumToMedium 6941 6636 -4.4% 1.05x (?)
DataAppendDataMediumToSmall 6062 6017 -0.7% 1.01x (?)
DataAppendDataSmallToLarge 37327 36908 -1.1% 1.01x (?)
DataAppendDataSmallToMedium 6451 6249 -3.1% 1.03x (?)
DataAppendDataSmallToSmall 6217 6130 -1.4% 1.01x (?)
DataAppendSequence 1916138 1909320 -0.4% 1.00x
DataCopyBytes 2492 2505 +0.5% 0.99x (?)
DataCount 223 223 +0.0% 1.00x
DataMutateBytes 5282 5246 -0.7% 1.01x (?)
DataReplaceLarge 38128 38151 +0.1% 1.00x (?)
DataReplaceLargeBuffer 61970 61572 -0.6% 1.01x (?)
DataReplaceMedium 9880 9738 -1.4% 1.01x (?)
DataReplaceMediumBuffer 16458 17169 +4.3% 0.96x (?)
DataReplaceSmall 6975 6929 -0.7% 1.01x (?)
DataReset 2850 2881 +1.1% 0.99x (?)
DataSetCount 583 558 -4.3% 1.04x (?)
DataSubscript 443 444 +0.2% 1.00x
DictOfArraysToArrayOfDicts 3560 3512 -1.3% 1.01x (?)
Dictionary 2343 2364 +0.9% 0.99x (?)
Dictionary2 1465 1472 +0.5% 1.00x (?)
Dictionary2OfObjects 4300 4422 +2.8% 0.97x (?)
Dictionary3 869 864 -0.6% 1.01x (?)
Dictionary3OfObjects 2147 2133 -0.7% 1.01x (?)
Dictionary4 1317 1317 +0.0% 1.00x
Dictionary4Legacy 1613 1608 -0.3% 1.00x (?)
Dictionary4OfObjects 1891 1896 +0.3% 1.00x (?)
Dictionary4OfObjectsLegacy 2210 2215 +0.2% 1.00x (?)
DictionaryBridge 1314 1329 +1.1% 0.99x (?)
DictionaryCopy 314451 313846 -0.2% 1.00x (?)
DictionaryFilter 326925 330294 +1.0% 0.99x
DictionaryGroup 4581 4557 -0.5% 1.01x (?)
DictionaryGroupOfObjects 6958 6900 -0.8% 1.01x (?)
DictionaryLiteral 8850 8838 -0.1% 1.00x (?)
DictionaryOfObjects 5881 5978 +1.6% 0.98x (?)
DictionaryRemove 17346 18051 +4.1% 0.96x (?)
DictionaryRemoveOfObjects 52437 52617 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutation 1973 1967 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArray 2236 2242 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9288 9400 +1.2% 0.99x (?)
DictionarySubscriptDefaultMutationOfObjects 5308 5310 +0.0% 1.00x (?)
DictionarySwap 4926 4918 -0.2% 1.00x (?)
DictionarySwapAt 35031 35166 +0.4% 1.00x (?)
DictionarySwapAtOfObjects 113692 113492 -0.2% 1.00x (?)
DictionarySwapOfObjects 19024 19193 +0.9% 0.99x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 15504 15497 -0.0% 1.00x (?)
DropFirstAnyCollectionLazy 102825 106917 +4.0% 0.96x (?)
DropFirstAnySeqCRangeIter 24078 23958 -0.5% 1.01x (?)
DropFirstAnySeqCRangeIterLazy 23926 23840 -0.4% 1.00x (?)
DropFirstAnySeqCntRange 15499 15473 -0.2% 1.00x (?)
DropFirstAnySeqCntRangeLazy 15440 15534 +0.6% 0.99x
DropFirstAnySequence 13295 13260 -0.3% 1.00x (?)
DropFirstAnySequenceLazy 13011 12959 -0.4% 1.00x (?)
DropFirstArray 3429 3358 -2.1% 1.02x
DropFirstArrayLazy 29354 29319 -0.1% 1.00x (?)
DropFirstCountableRange 309 311 +0.6% 0.99x
DropFirstCountableRangeLazy 33874 33830 -0.1% 1.00x (?)
DropFirstSequence 12728 12668 -0.5% 1.00x (?)
DropFirstSequenceLazy 12540 12550 +0.1% 1.00x (?)
DropLastAnyCollection 5175 5175 +0.0% 1.00x
DropLastAnyCollectionLazy 35911 35171 -2.1% 1.02x (?)
DropLastAnySeqCRangeIter 42583 43252 +1.6% 0.98x
DropLastAnySeqCRangeIterLazy 42472 43110 +1.5% 0.99x (?)
DropLastAnySeqCntRange 5186 5184 -0.0% 1.00x (?)
DropLastAnySeqCntRangeLazy 5185 5166 -0.4% 1.00x
DropLastAnySequence 30902 31165 +0.9% 0.99x
DropLastAnySequenceLazy 30959 31361 +1.3% 0.99x
DropLastCountableRange 107 107 +0.0% 1.00x
DropLastCountableRangeLazy 11285 11260 -0.2% 1.00x (?)
DropLastSequence 30783 31180 +1.3% 0.99x
DropLastSequenceLazy 30855 31059 +0.7% 0.99x
DropWhileAnyCollection 20076 20082 +0.0% 1.00x (?)
DropWhileAnyCollectionLazy 22641 22528 -0.5% 1.01x (?)
DropWhileAnySeqCRangeIter 24810 24696 -0.5% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 22580 22494 -0.4% 1.00x (?)
DropWhileAnySeqCntRange 20066 20033 -0.2% 1.00x (?)
DropWhileAnySeqCntRangeLazy 22559 22442 -0.5% 1.01x (?)
DropWhileAnySequence 13736 13637 -0.7% 1.01x (?)
DropWhileAnySequenceLazy 12520 12399 -1.0% 1.01x
DropWhileArrayLazy 14186 14064 -0.9% 1.01x
DropWhileCountableRange 4888 4883 -0.1% 1.00x (?)
DropWhileCountableRangeLazy 22211 22165 -0.2% 1.00x (?)
DropWhileSequence 13460 13437 -0.2% 1.00x (?)
DropWhileSequenceLazy 12083 12112 +0.2% 1.00x (?)
EqualStringSubstring 74 73 -1.4% 1.01x
EqualSubstringString 73 74 +1.4% 0.99x
EqualSubstringSubstring 73 73 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 58 58 +0.0% 1.00x
ErrorHandling 6743 6619 -1.8% 1.02x (?)
ExclusivityGlobal 183 186 +1.6% 0.98x
FatCompactMap 293735 294094 +0.1% 1.00x (?)
FilterEvenUsingReduce 3612 3614 +0.1% 1.00x (?)
FilterEvenUsingReduceInto 1892 1881 -0.6% 1.01x
FloatingPointPrinting_Double_description_small 24281 24168 -0.5% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 35932 35954 +0.1% 1.00x (?)
FloatingPointPrinting_Double_interpolated 104005 100368 -3.5% 1.04x (?)
FloatingPointPrinting_Float80_description_small 31399 31220 -0.6% 1.01x (?)
FloatingPointPrinting_Float80_description_uniform 61947 61897 -0.1% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 124188 124091 -0.1% 1.00x (?)
FloatingPointPrinting_Float_description_small 6476 6478 +0.0% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 17367 17327 -0.2% 1.00x (?)
FloatingPointPrinting_Float_interpolated 72529 70180 -3.2% 1.03x (?)
FrequenciesUsingReduce 11089 10761 -3.0% 1.03x (?)
FrequenciesUsingReduceInto 3245 3155 -2.8% 1.03x (?)
Hanoi 20703 20818 +0.6% 0.99x (?)
HashTest 21294 21520 +1.1% 0.99x (?)
Histogram 6309 6312 +0.0% 1.00x (?)
Integrate 460 459 -0.2% 1.00x (?)
IterateData 5412 5442 +0.6% 0.99x (?)
Join 770 772 +0.3% 1.00x (?)
LazilyFilteredArrayContains 766064 761235 -0.6% 1.01x (?)
LazilyFilteredArrays 1434465 1477964 +3.0% 0.97x (?)
LazilyFilteredRange 542800 542020 -0.1% 1.00x (?)
LessSubstringSubstring 73 73 +0.0% 1.00x
LessSubstringSubstringGenericComparable 59 58 -1.7% 1.02x
LinkedList 32302 32369 +0.2% 1.00x (?)
LuhnAlgoEager 5690 5521 -3.0% 1.03x (?)
LuhnAlgoLazy 5641 5618 -0.4% 1.00x (?)
MapReduce 25784 25468 -1.2% 1.01x
MapReduceAnyCollection 25767 25534 -0.9% 1.01x
MapReduceAnyCollectionShort 37505 37242 -0.7% 1.01x (?)
MapReduceClass 29550 29520 -0.1% 1.00x (?)
MapReduceClassShort 40254 41573 +3.3% 0.97x (?)
MapReduceLazyCollection 22696 22868 +0.8% 0.99x
MapReduceLazyCollectionShort 32776 34316 +4.7% 0.96x (?)
MapReduceLazySequence 20268 20023 -1.2% 1.01x (?)
MapReduceSequence 30748 30689 -0.2% 1.00x (?)
MapReduceShort 37301 37462 +0.4% 1.00x (?)
MapReduceShortString 230 233 +1.3% 0.99x (?)
MapReduceString 1746 1748 +0.1% 1.00x (?)
Memset 44832 44827 -0.0% 1.00x (?)
MonteCarloE 1142553 1146242 +0.3% 1.00x (?)
MonteCarloPi 5168522 5201540 +0.6% 0.99x
NSError 619 605 -2.3% 1.02x (?)
NSStringConversion 761 758 -0.4% 1.00x
NibbleSort 502206 505655 +0.7% 0.99x
NopDeinit 188975 192880 +2.1% 0.98x (?)
ObjectAllocation 1252 1261 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObject 30309 29214 -3.6% 1.04x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 9421 9866 +4.7% 0.95x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 48934 49200 +0.5% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 47145 45915 -2.6% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 124372 123938 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 56684 56834 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 72640 71111 -2.1% 1.02x (?)
ObjectiveCBridgeFromNSString 2888 2883 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2820 2807 -0.5% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6237 6142 -1.5% 1.02x (?)
ObjectiveCBridgeStubDateMutation 716 716 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 33959 33595 -1.1% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 7001 6852 -2.1% 1.02x (?)
ObjectiveCBridgeStubFromNSString 1079 1078 -0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 197 194 -1.5% 1.02x (?)
ObjectiveCBridgeStubNSDataAppend 3076 3103 +0.9% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 15922 16060 +0.9% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 39072 39436 +0.9% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3472 3484 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSString 2413 2421 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 150 150 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 305231 307753 +0.8% 0.99x (?)
ObjectiveCBridgeStubURLAppendPathRef 308905 300826 -2.6% 1.03x (?)
ObjectiveCBridgeToNSArray 16191 16254 +0.4% 1.00x (?)
ObjectiveCBridgeToNSDictionary 27548 27868 +1.2% 0.99x (?)
ObjectiveCBridgeToNSSet 17749 17952 +1.1% 0.99x (?)
ObjectiveCBridgeToNSString 523 522 -0.2% 1.00x (?)
ObserverClosure 6461 6465 +0.1% 1.00x (?)
ObserverForwarderStruct 4354 4364 +0.2% 1.00x (?)
ObserverPartiallyAppliedMethod 7988 8059 +0.9% 0.99x (?)
ObserverUnappliedMethod 8140 8143 +0.0% 1.00x (?)
OpenClose 892 885 -0.8% 1.01x
PartialApplyDynamicType 40395 41776 +3.4% 0.97x (?)
Phonebook 19356 18942 -2.1% 1.02x
PolymorphicCalls 2364 2357 -0.3% 1.00x (?)
PopFrontArrayGeneric 5453 5562 +2.0% 0.98x
PopFrontUnsafePointer 10427 10414 -0.1% 1.00x (?)
PrefixAnyCollection 15506 15543 +0.2% 1.00x
PrefixAnyCollectionLazy 101543 106739 +5.1% 0.95x (?)
PrefixAnySeqCRangeIter 19115 19069 -0.2% 1.00x (?)
PrefixAnySeqCRangeIterLazy 19064 19007 -0.3% 1.00x (?)
PrefixAnySeqCntRange 15523 15551 +0.2% 1.00x (?)
PrefixAnySeqCntRangeLazy 15476 15471 -0.0% 1.00x (?)
PrefixAnySequence 10672 10750 +0.7% 0.99x (?)
PrefixAnySequenceLazy 10588 10667 +0.7% 0.99x (?)
PrefixArrayLazy 29280 29358 +0.3% 1.00x (?)
PrefixCountableRange 310 310 +0.0% 1.00x
PrefixCountableRangeLazy 33846 33790 -0.2% 1.00x (?)
PrefixSequence 10394 10381 -0.1% 1.00x (?)
PrefixSequenceLazy 10213 10286 +0.7% 0.99x
PrefixWhileAnyCollection 29199 29220 +0.1% 1.00x (?)
PrefixWhileAnyCollectionLazy 18947 18756 -1.0% 1.01x (?)
PrefixWhileAnySeqCRangeIter 34901 35450 +1.6% 0.98x (?)
PrefixWhileAnySeqCRangeIterLazy 18695 18579 -0.6% 1.01x (?)
PrefixWhileAnySeqCntRange 29196 29277 +0.3% 1.00x
PrefixWhileAnySeqCntRangeLazy 18748 18846 +0.5% 0.99x (?)
PrefixWhileAnySequence 26805 27108 +1.1% 0.99x
PrefixWhileAnySequenceLazy 11210 11230 +0.2% 1.00x (?)
PrefixWhileArray 10555 10625 +0.7% 0.99x
PrefixWhileArrayLazy 12510 12505 -0.0% 1.00x (?)
PrefixWhileCountableRange 13905 13820 -0.6% 1.01x (?)
PrefixWhileCountableRangeLazy 18485 18750 +1.4% 0.99x (?)
PrefixWhileSequence 26515 26728 +0.8% 0.99x
PrefixWhileSequenceLazy 10841 10727 -1.1% 1.01x
Prims 9723 9719 -0.0% 1.00x (?)
PrimsSplit 9633 9620 -0.1% 1.00x (?)
QueueConcrete 14424 14456 +0.2% 1.00x (?)
QueueGeneric 18818 18976 +0.8% 0.99x (?)
RC4 15983 15996 +0.1% 1.00x (?)
RGBHistogram 24395 24481 +0.4% 1.00x (?)
RGBHistogramOfObjects 78587 77421 -1.5% 1.02x (?)
RangeAssignment 2731 2650 -3.0% 1.03x (?)
RangeIterationSigned 14687 14677 -0.1% 1.00x (?)
RangeReplaceableCollectionPlusDefault 11310 11355 +0.4% 1.00x (?)
RecursiveOwnedParameter 5779 5806 +0.5% 1.00x (?)
RemoveWhereFilterInts 1951 1952 +0.1% 1.00x (?)
RemoveWhereFilterString 1316 1313 -0.2% 1.00x
RemoveWhereFilterStrings 2470 2474 +0.2% 1.00x (?)
RemoveWhereMoveInts 3402 3402 +0.0% 1.00x
RemoveWhereMoveStrings 3922 3918 -0.1% 1.00x (?)
RemoveWhereQuadraticInts 8094 8101 +0.1% 1.00x (?)
RemoveWhereQuadraticString 2296 2297 +0.0% 1.00x (?)
RemoveWhereQuadraticStrings 9740 9748 +0.1% 1.00x (?)
RemoveWhereSwapInts 6137 6153 +0.3% 1.00x
RemoveWhereSwapStrings 6858 6852 -0.1% 1.00x (?)
ReversedArray 12978 12995 +0.1% 1.00x
ReversedBidirectional 43241 43419 +0.4% 1.00x (?)
ReversedDictionary 23010 23381 +1.6% 0.98x (?)
RomanNumbers 1318531 1356595 +2.9% 0.97x
SequenceAlgosAnySequence 13180 13246 +0.5% 1.00x
SequenceAlgosArray 755957 755062 -0.1% 1.00x (?)
SequenceAlgosContiguousArray 285425 286195 +0.3% 1.00x (?)
SequenceAlgosList 8652 8720 +0.8% 0.99x
SequenceAlgosRange 1293354 1300104 +0.5% 0.99x
SequenceAlgosUnfoldSequence 6529 6556 +0.4% 1.00x
SetExclusiveOr 16214 16275 +0.4% 1.00x (?)
SetExclusiveOr_OfObjects 41002 41246 +0.6% 0.99x (?)
SetIntersect 6584 6618 +0.5% 0.99x (?)
SetIntersect_OfObjects 10266 10255 -0.1% 1.00x (?)
SetIsSubsetOf 1193 1186 -0.6% 1.01x (?)
SetIsSubsetOf_OfObjects 2250 2259 +0.4% 1.00x (?)
SetUnion 11839 11777 -0.5% 1.01x (?)
SetUnion_OfObjects 29764 29814 +0.2% 1.00x (?)
SevenBoom 1087 1090 +0.3% 1.00x (?)
Sim2DArray 43622 43622 +0.0% 1.00x
SortLargeExistentials 11675 11759 +0.7% 0.99x
SortLettersInPlace 1969 1948 -1.1% 1.01x
SortSortedStrings 1164 1127 -3.2% 1.03x
SortStrings 2261 2198 -2.8% 1.03x
SortStringsUnicode 2758 2669 -3.2% 1.03x
StaticArray 2512 2512 +0.0% 1.00x
StrComplexWalk 7276 7274 -0.0% 1.00x (?)
StrToInt 79836 77026 -3.5% 1.04x (?)
StringAdder 1125 1148 +2.0% 0.98x
StringBuilder 5831 5579 -4.3% 1.05x (?)
StringBuilderLong 2951 2954 +0.1% 1.00x (?)
StringComparison_abnormal 1365 1324 -3.0% 1.03x (?)
StringComparison_ascii 9510 9501 -0.1% 1.00x (?)
StringComparison_emoji 1984 1977 -0.4% 1.00x (?)
StringComparison_fastPrenormal 4925 4948 +0.5% 1.00x (?)
StringComparison_longSharedPrefix 2366 2362 -0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3668 3656 -0.3% 1.00x (?)
StringComparison_slowerPrenormal 4126 4124 -0.0% 1.00x (?)
StringComparison_zalgo 127189 127686 +0.4% 1.00x (?)
StringEnumRawValueInitialization 33211 33143 -0.2% 1.00x (?)
StringEqualPointerComparison 1573 1629 +3.6% 0.97x
StringFromLongWholeSubstring 12 12 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 201 201 +0.0% 1.00x
StringHasPrefixAscii 3036 3066 +1.0% 0.99x
StringHasPrefixUnicode 106378 106696 +0.3% 1.00x (?)
StringHasSuffixAscii 3139 3184 +1.4% 0.99x
StringHasSuffixUnicode 103236 103220 -0.0% 1.00x (?)
StringInterpolation 13931 13299 -4.5% 1.05x (?)
StringInterpolationManySmallSegments 21899 21782 -0.5% 1.01x (?)
StringMatch 41704 42494 +1.9% 0.98x (?)
StringRemoveDupes 731 736 +0.7% 0.99x (?)
StringUTF16SubstringBuilder 22071 23120 +4.8% 0.95x (?)
StringWithCString 43532 43488 -0.1% 1.00x (?)
StringWordBuilder 2530 2518 -0.5% 1.00x (?)
StringWordBuilderReservingCapacity 2015 2018 +0.1% 1.00x (?)
SubstringComparable 1718 1718 +0.0% 1.00x
SubstringEqualString 1716 1720 +0.2% 1.00x (?)
SubstringEquatable 5427 5444 +0.3% 1.00x (?)
SubstringFromLongString 18 18 +0.0% 1.00x
SubstringFromLongStringGeneric 106 106 +0.0% 1.00x
SuffixAnyCollection 5184 5176 -0.2% 1.00x (?)
SuffixAnyCollectionLazy 34036 35227 +3.5% 0.97x (?)
SuffixAnySeqCRangeIter 39325 40124 +2.0% 0.98x
SuffixAnySeqCRangeIterLazy 39505 40301 +2.0% 0.98x (?)
SuffixAnySeqCntRange 5181 5163 -0.3% 1.00x
SuffixAnySeqCntRangeLazy 5177 5162 -0.3% 1.00x (?)
SuffixAnySequence 26634 26731 +0.4% 1.00x
SuffixAnySequenceLazy 26720 26806 +0.3% 1.00x (?)
SuffixCountableRange 108 107 -0.9% 1.01x
SuffixCountableRangeLazy 11297 11287 -0.1% 1.00x (?)
SuffixSequence 26655 26662 +0.0% 1.00x (?)
SuffixSequenceLazy 26517 26670 +0.6% 0.99x
SumUsingReduce 159373 159824 +0.3% 1.00x
SumUsingReduceInto 153894 153555 -0.2% 1.00x (?)
SuperChars 86056 86879 +1.0% 0.99x (?)
TwoSum 3544 3521 -0.6% 1.01x (?)
TypeFlood 205 204 -0.5% 1.00x (?)
UTF8Decode 29783 29776 -0.0% 1.00x (?)
Walsh 11944 11936 -0.1% 1.00x (?)
WordCountHistogramASCII 39229 39438 +0.5% 0.99x (?)
WordCountHistogramUTF16 46888 47229 +0.7% 0.99x (?)
WordCountUniqueASCII 7201 7268 +0.9% 0.99x
WordCountUniqueUTF16 12873 12994 +0.9% 0.99x
WordSplitASCII 10317 10627 +3.0% 0.97x (?)
WordSplitUTF16 12430 12573 +1.2% 0.99x (?)
XorLoop 25104 25087 -0.1% 1.00x (?)
Added (2)
TEST MIN MAX MEAN MAX_RSS
DictionaryKeysContainsCocoa 61 86 75 314295910
DictionaryKeysContainsNative 55 88 70 58124698
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

@koher
Copy link
Contributor Author

koher commented May 5, 2018

@xwu

Thank you for your review.

I have fixed it in 8afa9b1 . Should I squash 8afa9b1 into 903f55b ?

@lorentey
Copy link
Member

lorentey commented May 5, 2018

@koher You can squash if you want, but it's also fine like this!

@swift-ci please smoke benchmark

@lorentey
Copy link
Member

lorentey commented May 5, 2018

@swift-ci smoke test

@lorentey
Copy link
Member

lorentey commented May 5, 2018

@swift-ci smoke benchmark

@lorentey
Copy link
Member

lorentey commented May 5, 2018

@swift-ci smoke test

@swift-ci
Copy link
Collaborator

swift-ci commented May 5, 2018

Build comment file:

Optimized (O)

Regression (17)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 417 599 +43.6% 0.70x
StringBuilderWithLongSubstring 1617 2018 +24.8% 0.80x (?)
RangeIterationSigned 171 200 +17.0% 0.86x
ObjectiveCBridgeFromNSArrayAnyObjectForced 4937 5676 +15.0% 0.87x
CharIndexing_punctuated_unicodeScalars 3660 4163 +13.7% 0.88x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 44231 48494 +9.6% 0.91x (?)
CharIndexing_ascii_unicodeScalars 16088 17635 +9.6% 0.91x
RemoveWhereFilterString 216 234 +8.3% 0.92x
CharIndexing_chinese_unicodeScalars 12253 13271 +8.3% 0.92x (?)
RC4 149 161 +8.1% 0.93x
SubstringFromLongStringGeneric 75 81 +8.0% 0.93x
SubstringComparable 26 28 +7.7% 0.93x
CharIndexing_utf16_unicodeScalars 24197 25895 +7.0% 0.93x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2925 3101 +6.0% 0.94x
CharIndexing_japanese_unicodeScalars 19412 20564 +5.9% 0.94x (?)
CStringLongAscii 4652 4920 +5.8% 0.95x
StringWithCString 40819 43017 +5.4% 0.95x
Improvement (25)
TEST OLD NEW DELTA SPEEDUP
BinaryFloatingPointPropertiesBinade 31 25 -19.4% 1.24x
ChainedFilterMap 1409 1248 -11.4% 1.13x
CharIteration_korean_unicodeScalars 23225 20701 -10.9% 1.12x
DataReplaceMedium 13921 12421 -10.8% 1.12x (?)
Chars 1216 1092 -10.2% 1.11x
PointerArithmetics 34375 31495 -8.4% 1.09x
EqualSubstringSubstringGenericEquatable 48 44 -8.3% 1.09x
CharIteration_japanese_unicodeScalars 27852 25553 -8.3% 1.09x
CharIteration_ascii_unicodeScalars 23238 21340 -8.2% 1.09x
CharIteration_tweet_unicodeScalars 45846 42126 -8.1% 1.09x
CharIteration_russian_unicodeScalars 19322 17767 -8.0% 1.09x
CharIteration_chinese_unicodeScalars 17548 16172 -7.8% 1.09x
CharIndexing_japanese_unicodeScalars_Backwards 21197 19593 -7.6% 1.08x (?)
CharIteration_punctuated_unicodeScalars 5179 4789 -7.5% 1.08x
CharIteration_punctuatedJapanese_unicodeScalars 4123 3814 -7.5% 1.08x
PopFrontArrayGeneric 1973 1831 -7.2% 1.08x (?)
RemoveWhereMoveInts 15 14 -6.7% 1.07x
DataReplaceMediumBuffer 16222 15224 -6.2% 1.07x
LessSubstringSubstringGenericComparable 49 46 -6.1% 1.07x
StringEqualPointerComparison 304 286 -5.9% 1.06x
ObjectiveCBridgeStubFromArrayOfNSString 34152 32132 -5.9% 1.06x (?)
Dictionary4 343 323 -5.8% 1.06x
BinaryFloatingPointPropertiesUlp 37 35 -5.4% 1.06x
SumUsingReduceInto 102 97 -4.9% 1.05x
ArrayAppendUTF16Substring 284994 271233 -4.8% 1.05x
No Changes (385)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3734 3741 +0.2% 1.00x (?)
AnyHashableWithAClass 84980 86381 +1.6% 0.98x
Array2D 2858 2860 +0.1% 1.00x (?)
ArrayAppend 1063 1071 +0.8% 0.99x
ArrayAppendArrayOfInt 799 796 -0.4% 1.00x (?)
ArrayAppendAscii 3934 4014 +2.0% 0.98x
ArrayAppendAsciiSubstring 154033 152734 -0.8% 1.01x
ArrayAppendFromGeneric 800 812 +1.5% 0.99x
ArrayAppendGenericStructs 1428 1422 -0.4% 1.00x (?)
ArrayAppendLatin1 39944 40452 +1.3% 0.99x
ArrayAppendLatin1Substring 282918 274802 -2.9% 1.03x
ArrayAppendLazyMap 1343 1341 -0.1% 1.00x (?)
ArrayAppendOptionals 1426 1426 +0.0% 1.00x
ArrayAppendRepeatCol 1340 1340 +0.0% 1.00x
ArrayAppendReserved 799 798 -0.1% 1.00x (?)
ArrayAppendSequence 1120 1117 -0.3% 1.00x (?)
ArrayAppendStrings 6210 6215 +0.1% 1.00x (?)
ArrayAppendToFromGeneric 800 799 -0.1% 1.00x (?)
ArrayAppendToGeneric 798 799 +0.1% 1.00x (?)
ArrayAppendUTF16 39855 40194 +0.9% 0.99x (?)
ArrayInClass 86 86 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 151 +0.0% 1.00x
ArrayOfGenericRef 4388 4383 -0.1% 1.00x (?)
ArrayOfPOD 184 184 +0.0% 1.00x
ArrayOfRef 4358 4371 +0.3% 1.00x
ArrayPlusEqualArrayOfInt 799 798 -0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5422 5465 +0.8% 0.99x
ArrayPlusEqualSingleElementCollection 1068 1064 -0.4% 1.00x (?)
ArrayPlusEqualThreeElements 1656 1652 -0.2% 1.00x (?)
ArraySubscript 1528 1556 +1.8% 0.98x
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BitCount 211 202 -4.3% 1.04x
ByteSwap 106 107 +0.9% 0.99x
COWTree 5420 5527 +2.0% 0.98x (?)
CSVParsing 723374 729024 +0.8% 0.99x (?)
CSVParsingAlt 793368 791540 -0.2% 1.00x
CSVParsingAltIndices 342578 342689 +0.0% 1.00x (?)
CStringLongNonAscii 2178 2247 +3.2% 0.97x
CStringShortAscii 3169 3205 +1.1% 0.99x (?)
Calculator 1126 1102 -2.1% 1.02x
CaptureProp 4121 4071 -1.2% 1.01x
CharIndexing_ascii_unicodeScalars_Backwards 16366 15912 -2.8% 1.03x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12392 12051 -2.8% 1.03x (?)
CharIndexing_korean_unicodeScalars 16062 16660 +3.7% 0.96x (?)
CharIndexing_korean_unicodeScalars_Backwards 16097 15415 -4.2% 1.04x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2965 2901 -2.2% 1.02x
CharIndexing_punctuated_unicodeScalars_Backwards 3863 3701 -4.2% 1.04x (?)
CharIndexing_russian_unicodeScalars 15013 14307 -4.7% 1.05x (?)
CharIndexing_russian_unicodeScalars_Backwards 13696 13783 +0.6% 0.99x (?)
CharIndexing_tweet_unicodeScalars 33404 33228 -0.5% 1.01x (?)
CharIndexing_tweet_unicodeScalars_Backwards 34974 33951 -2.9% 1.03x (?)
CharIndexing_utf16_unicodeScalars_Backwards 26010 25742 -1.0% 1.01x (?)
CharIteration_ascii_unicodeScalars_Backwards 15149 15109 -0.3% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 11473 11445 -0.2% 1.00x
CharIteration_japanese_unicodeScalars_Backwards 18669 18095 -3.1% 1.03x
CharIteration_korean_unicodeScalars_Backwards 14689 14647 -0.3% 1.00x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2750 2738 -0.4% 1.00x
CharIteration_punctuated_unicodeScalars_Backwards 3437 3428 -0.3% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 12619 12591 -0.2% 1.00x
CharIteration_tweet_unicodeScalars_Backwards 29990 29861 -0.4% 1.00x (?)
CharIteration_utf16_unicodeScalars 28404 28162 -0.9% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 18863 18613 -1.3% 1.01x
CharacterLiteralsLarge 5793 5849 +1.0% 0.99x
CharacterLiteralsSmall 220 217 -1.4% 1.01x
CharacterPropertiesFetch 4540 4589 +1.1% 0.99x (?)
CharacterPropertiesPrecomputed 1126 1122 -0.4% 1.00x (?)
CharacterPropertiesStashed 1484 1482 -0.1% 1.00x (?)
CharacterPropertiesStashedMemo 1595 1568 -1.7% 1.02x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 497 500 +0.6% 0.99x
DataAccessBytes 1240 1241 +0.1% 1.00x
DataAppendArray 6182 6038 -2.3% 1.02x
DataAppendBytes 5915 5973 +1.0% 0.99x
DataAppendDataLargeToLarge 70908 71006 +0.1% 1.00x (?)
DataAppendDataLargeToMedium 36696 37404 +1.9% 0.98x (?)
DataAppendDataLargeToSmall 35964 35982 +0.1% 1.00x (?)
DataAppendDataMediumToLarge 39412 39797 +1.0% 0.99x (?)
DataAppendDataMediumToMedium 8389 8748 +4.3% 0.96x (?)
DataAppendDataMediumToSmall 6858 7077 +3.2% 0.97x (?)
DataAppendDataSmallToLarge 38190 38722 +1.4% 0.99x
DataAppendDataSmallToMedium 7710 7641 -0.9% 1.01x (?)
DataAppendDataSmallToSmall 7009 6712 -4.2% 1.04x (?)
DataAppendSequence 21072 20817 -1.2% 1.01x (?)
DataCopyBytes 2563 2676 +4.4% 0.96x
DataCount 37 38 +2.7% 0.97x
DataMutateBytes 4351 4325 -0.6% 1.01x (?)
DataReplaceLarge 42474 42706 +0.5% 0.99x (?)
DataReplaceLargeBuffer 61526 60001 -2.5% 1.03x (?)
DataReplaceSmall 9151 9019 -1.4% 1.01x
DataReplaceSmallBuffer 11902 11733 -1.4% 1.01x (?)
DataReset 3186 3206 +0.6% 0.99x (?)
DataSetCount 920 893 -2.9% 1.03x
DataSubscript 240 237 -1.2% 1.01x
DictOfArraysToArrayOfDicts 813 807 -0.7% 1.01x (?)
Dictionary 700 696 -0.6% 1.01x
Dictionary2 816 815 -0.1% 1.00x (?)
Dictionary2OfObjects 2235 2228 -0.3% 1.00x (?)
Dictionary3 253 251 -0.8% 1.01x
Dictionary3OfObjects 768 769 +0.1% 1.00x (?)
Dictionary4Legacy 725 725 +0.0% 1.00x
Dictionary4OfObjects 455 443 -2.6% 1.03x
Dictionary4OfObjectsLegacy 977 977 +0.0% 1.00x
DictionaryBridge 1222 1238 +1.3% 0.99x (?)
DictionaryCopy 107229 106815 -0.4% 1.00x (?)
DictionaryFilter 106286 106316 +0.0% 1.00x (?)
DictionaryGroup 217 215 -0.9% 1.01x
DictionaryGroupOfObjects 2117 2115 -0.1% 1.00x (?)
DictionaryLiteral 1923 1928 +0.3% 1.00x (?)
DictionaryOfObjects 2504 2508 +0.2% 1.00x (?)
DictionaryRemove 4190 4245 +1.3% 0.99x
DictionaryRemoveOfObjects 25994 26172 +0.7% 0.99x
DictionarySubscriptDefaultMutation 267 265 -0.7% 1.01x
DictionarySubscriptDefaultMutationArray 625 627 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 4002 4001 -0.0% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1718 1711 -0.4% 1.00x
DictionarySwap 1046 1050 +0.4% 1.00x
DictionarySwapAt 6759 6985 +3.3% 0.97x
DictionarySwapAtOfObjects 52401 52770 +0.7% 0.99x
DictionarySwapOfObjects 8850 8749 -1.1% 1.01x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 84 84 +0.0% 1.00x
DropFirstAnyCollectionLazy 62336 62282 -0.1% 1.00x (?)
DropFirstAnySeqCRangeIter 21680 21644 -0.2% 1.00x
DropFirstAnySeqCRangeIterLazy 21709 21649 -0.3% 1.00x
DropFirstAnySeqCntRange 41 41 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 41 41 +0.0% 1.00x
DropFirstAnySequence 4968 4956 -0.2% 1.00x (?)
DropFirstAnySequenceLazy 4963 4947 -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 2703 2684 -0.7% 1.01x (?)
DropFirstSequenceLazy 2814 2769 -1.6% 1.02x
DropLastAnyCollection 31 31 +0.0% 1.00x
DropLastAnyCollectionLazy 20739 20791 +0.3% 1.00x (?)
DropLastAnySeqCRangeIter 3624 3653 +0.8% 0.99x
DropLastAnySeqCRangeIterLazy 3635 3655 +0.6% 0.99x (?)
DropLastAnySeqCntRange 13 13 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 13 13 +0.0% 1.00x
DropLastAnySequence 5301 5259 -0.8% 1.01x
DropLastAnySequenceLazy 5145 5147 +0.0% 1.00x (?)
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastCountableRangeLazy 12 12 +0.0% 1.00x
DropLastSequence 633 633 +0.0% 1.00x
DropLastSequenceLazy 633 634 +0.2% 1.00x (?)
DropWhileAnyCollection 107 107 +0.0% 1.00x
DropWhileAnyCollectionLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCRangeIter 17069 17080 +0.1% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCntRange 50 50 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 125 125 +0.0% 1.00x
DropWhileAnySequence 4857 4846 -0.2% 1.00x
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 2242 2224 -0.8% 1.01x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 55 53 -3.6% 1.04x (?)
EqualSubstringString 64 64 +0.0% 1.00x
EqualSubstringSubstring 48 48 +0.0% 1.00x
ErrorHandling 1490 1491 +0.1% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 204026 204684 +0.3% 1.00x (?)
FilterEvenUsingReduce 1308 1313 +0.4% 1.00x (?)
FilterEvenUsingReduceInto 148 152 +2.7% 0.97x (?)
FloatingPointPrinting_Double_description_small 23786 23717 -0.3% 1.00x
FloatingPointPrinting_Double_description_uniform 23216 23307 +0.4% 1.00x (?)
FloatingPointPrinting_Double_interpolated 67424 67345 -0.1% 1.00x (?)
FloatingPointPrinting_Float80_description_small 30750 30762 +0.0% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 29759 29687 -0.2% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 70978 70366 -0.9% 1.01x (?)
FloatingPointPrinting_Float_description_small 5164 5160 -0.1% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 4954 5134 +3.6% 0.96x
FloatingPointPrinting_Float_interpolated 42093 42048 -0.1% 1.00x (?)
FrequenciesUsingReduce 5002 5155 +3.1% 0.97x (?)
FrequenciesUsingReduceInto 1555 1555 +0.0% 1.00x
Hanoi 2190 2190 +0.0% 1.00x
HashTest 1036 1030 -0.6% 1.01x (?)
Histogram 704 694 -1.4% 1.01x
Integrate 335 336 +0.3% 1.00x
IterateData 1821 1821 +0.0% 1.00x
Join 180 180 +0.0% 1.00x
LazilyFilteredArrayContains 35489 35488 -0.0% 1.00x (?)
LazilyFilteredArrays 67134 65012 -3.2% 1.03x (?)
LazilyFilteredRange 3878 3872 -0.2% 1.00x (?)
LessSubstringSubstring 48 46 -4.2% 1.04x (?)
LinkedList 7595 7544 -0.7% 1.01x
LuhnAlgoEager 325 326 +0.3% 1.00x
LuhnAlgoLazy 319 322 +0.9% 0.99x
MapReduce 401 401 +0.0% 1.00x
MapReduceAnyCollection 429 429 +0.0% 1.00x
MapReduceAnyCollectionShort 2250 2269 +0.8% 0.99x
MapReduceClass 3026 3021 -0.2% 1.00x
MapReduceClassShort 4563 4578 +0.3% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 37 38 +2.7% 0.97x (?)
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 452 457 +1.1% 0.99x
MapReduceShort 2009 2079 +3.5% 0.97x
MapReduceShortString 30 30 +0.0% 1.00x
MapReduceString 79 79 +0.0% 1.00x
Memset 222 217 -2.3% 1.02x (?)
MonteCarloE 10227 10366 +1.4% 0.99x
MonteCarloPi 42697 42775 +0.2% 1.00x
NSDictionaryCastToSwift 7151 7299 +2.1% 0.98x
NSError 174 174 +0.0% 1.00x
NSStringConversion 724 722 -0.3% 1.00x (?)
NibbleSort 3674 3676 +0.1% 1.00x
NopDeinit 32385 32355 -0.1% 1.00x (?)
ObjectAllocation 134 132 -1.5% 1.02x
ObjectiveCBridgeFromNSArrayAnyObject 25665 25943 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 46343 46464 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 119198 114241 -4.2% 1.04x (?)
ObjectiveCBridgeFromNSSetAnyObject 51657 53775 +4.1% 0.96x
ObjectiveCBridgeFromNSSetAnyObjectForced 5444 5286 -2.9% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 67497 66546 -1.4% 1.01x (?)
ObjectiveCBridgeFromNSString 1221 1224 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2670 2774 +3.9% 0.96x (?)
ObjectiveCBridgeStubDataAppend 11606 11274 -2.9% 1.03x
ObjectiveCBridgeStubDateMutation 401 401 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 7143 7092 -0.7% 1.01x (?)
ObjectiveCBridgeStubFromNSString 1044 1044 +0.0% 1.00x
ObjectiveCBridgeStubFromNSStringRef 164 167 +1.8% 0.98x
ObjectiveCBridgeStubNSDataAppend 2600 2645 +1.7% 0.98x (?)
ObjectiveCBridgeStubNSDateMutationRef 13519 13288 -1.7% 1.02x (?)
ObjectiveCBridgeStubToArrayOfNSString 40108 40336 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSDate 15463 15178 -1.8% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3496 3451 -1.3% 1.01x (?)
ObjectiveCBridgeStubToNSString 2394 2383 -0.5% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 121 121 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 287009 282619 -1.5% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 290394 289039 -0.5% 1.00x (?)
ObjectiveCBridgeToNSArray 15321 16035 +4.7% 0.96x (?)
ObjectiveCBridgeToNSDictionary 26676 27711 +3.9% 0.96x (?)
ObjectiveCBridgeToNSSet 17041 17225 +1.1% 0.99x (?)
ObjectiveCBridgeToNSString 487 492 +1.0% 0.99x
ObserverClosure 2191 2178 -0.6% 1.01x (?)
ObserverForwarderStruct 1257 1252 -0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3759 3798 +1.0% 0.99x (?)
ObserverUnappliedMethod 2603 2618 +0.6% 0.99x (?)
OpenClose 272 263 -3.3% 1.03x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4760 4743 -0.4% 1.00x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1962 1963 +0.1% 1.00x (?)
PopFrontUnsafePointer 9522 9560 +0.4% 1.00x (?)
PrefixAnyCollection 84 84 +0.0% 1.00x
PrefixAnyCollectionLazy 62470 62754 +0.5% 1.00x (?)
PrefixAnySeqCRangeIter 16785 16803 +0.1% 1.00x
PrefixAnySeqCRangeIterLazy 16787 16803 +0.1% 1.00x
PrefixAnySeqCntRange 28 28 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 27 28 +3.7% 0.96x
PrefixAnySequence 4358 4308 -1.1% 1.01x
PrefixAnySequenceLazy 4360 4366 +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 2224 2224 +0.0% 1.00x
PrefixSequenceLazy 2280 2277 -0.1% 1.00x
PrefixWhileAnyCollection 154 154 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 90 90 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 9461 9297 -1.7% 1.02x (?)
PrefixWhileAnySeqCRangeIterLazy 72 72 +0.0% 1.00x
PrefixWhileAnySeqCntRange 59 60 +1.7% 0.98x
PrefixWhileAnySeqCntRangeLazy 90 90 +0.0% 1.00x
PrefixWhileAnySequence 10189 10373 +1.8% 0.98x (?)
PrefixWhileAnySequenceLazy 1392 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 360 -0.3% 1.00x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 912 916 +0.4% 1.00x (?)
PrimsSplit 907 903 -0.4% 1.00x (?)
QueueConcrete 1148 1149 +0.1% 1.00x (?)
QueueGeneric 1150 1149 -0.1% 1.00x
RGBHistogram 3212 3240 +0.9% 0.99x
RGBHistogramOfObjects 23818 23795 -0.1% 1.00x (?)
RangeAssignment 336 351 +4.5% 0.96x
RangeReplaceableCollectionPlusDefault 1012 1014 +0.2% 1.00x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 47 46 -2.1% 1.02x
RemoveWhereFilterStrings 437 437 +0.0% 1.00x
RemoveWhereMoveStrings 711 709 -0.3% 1.00x
RemoveWhereQuadraticInts 1291 1292 +0.1% 1.00x (?)
RemoveWhereQuadraticString 353 357 +1.1% 0.99x (?)
RemoveWhereQuadraticStrings 2757 2756 -0.0% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 861 859 -0.2% 1.00x
ReversedArray 58 57 -1.7% 1.02x
ReversedBidirectional 16672 16404 -1.6% 1.02x
ReversedDictionary 267 268 +0.4% 1.00x (?)
RomanNumbers 91315 91077 -0.3% 1.00x
SequenceAlgosAnySequence 11911 11912 +0.0% 1.00x (?)
SequenceAlgosArray 1580 1580 +0.0% 1.00x
SequenceAlgosContiguousArray 1583 1577 -0.4% 1.00x (?)
SequenceAlgosList 1350 1355 +0.4% 1.00x
SequenceAlgosRange 2578 2577 -0.0% 1.00x (?)
SequenceAlgosUnfoldSequence 1103 1103 +0.0% 1.00x
SetExclusiveOr 5172 5185 +0.3% 1.00x (?)
SetExclusiveOr_OfObjects 12035 11867 -1.4% 1.01x
SetIntersect 699 699 +0.0% 1.00x
SetIntersect_OfObjects 1673 1653 -1.2% 1.01x (?)
SetIsSubsetOf 354 354 +0.0% 1.00x
SetIsSubsetOf_OfObjects 450 450 +0.0% 1.00x
SetUnion 4470 4569 +2.2% 0.98x
SetUnion_OfObjects 10206 10129 -0.8% 1.01x
SevenBoom 888 886 -0.2% 1.00x (?)
SortLargeExistentials 6190 6129 -1.0% 1.01x
SortLettersInPlace 1044 1047 +0.3% 1.00x (?)
SortSortedStrings 1004 1038 +3.4% 0.97x
SortStrings 1981 1999 +0.9% 0.99x
SortStringsUnicode 2454 2493 +1.6% 0.98x
StackPromo 25547 25320 -0.9% 1.01x
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1785 1785 +0.0% 1.00x
StrToInt 3179 3145 -1.1% 1.01x
StringAdder 713 709 -0.6% 1.01x
StringBuilder 664 642 -3.3% 1.03x
StringBuilderLong 2781 2780 -0.0% 1.00x (?)
StringComparison_abnormal 791 794 +0.4% 1.00x (?)
StringComparison_ascii 1282 1282 +0.0% 1.00x
StringComparison_emoji 811 811 +0.0% 1.00x
StringComparison_fastPrenormal 797 801 +0.5% 1.00x
StringComparison_latin1 630 626 -0.6% 1.01x
StringComparison_longSharedPrefix 929 933 +0.4% 1.00x
StringComparison_nonBMPSlowestPrenormal 1581 1568 -0.8% 1.01x
StringComparison_slowerPrenormal 1723 1703 -1.2% 1.01x (?)
StringComparison_zalgo 125582 124680 -0.7% 1.01x (?)
StringEdits 171623 172653 +0.6% 0.99x (?)
StringEnumRawValueInitialization 955 937 -1.9% 1.02x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2206 2205 -0.0% 1.00x
StringHasPrefixUnicode 104684 105772 +1.0% 0.99x
StringHasSuffixAscii 2321 2320 -0.0% 1.00x
StringHasSuffixUnicode 102343 101937 -0.4% 1.00x
StringInterpolation 10039 9947 -0.9% 1.01x (?)
StringInterpolationManySmallSegments 20066 20153 +0.4% 1.00x (?)
StringInterpolationSmall 6843 6984 +2.1% 0.98x
StringMatch 12991 13236 +1.9% 0.98x
StringRemoveDupes 527 521 -1.1% 1.01x (?)
StringUTF16Builder 2627 2599 -1.1% 1.01x (?)
StringUTF16SubstringBuilder 5872 5860 -0.2% 1.00x (?)
StringWalk 1428 1416 -0.8% 1.01x
StringWordBuilder 2324 2333 +0.4% 1.00x (?)
StringWordBuilderReservingCapacity 1915 1910 -0.3% 1.00x (?)
SubstringEqualString 790 776 -1.8% 1.02x
SubstringEquatable 1391 1375 -1.2% 1.01x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SuffixAnyCollection 31 31 +0.0% 1.00x
SuffixAnyCollectionLazy 20800 20969 +0.8% 0.99x (?)
SuffixAnySeqCRangeIter 3893 3917 +0.6% 0.99x (?)
SuffixAnySeqCRangeIterLazy 3869 3887 +0.5% 1.00x
SuffixAnySeqCntRange 20 20 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 20 20 +0.0% 1.00x
SuffixAnySequence 5214 5058 -3.0% 1.03x
SuffixAnySequenceLazy 5297 5203 -1.8% 1.02x (?)
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3757 3724 -0.9% 1.01x
SuffixSequenceLazy 3774 3710 -1.7% 1.02x (?)
SumUsingReduce 97 102 +5.2% 0.95x
SuperChars 14809 14863 +0.4% 1.00x (?)
TwoSum 1480 1476 -0.3% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 304 319 +4.9% 0.95x
Walsh 435 446 +2.5% 0.98x
WordCountHistogramASCII 7680 7761 +1.1% 0.99x
WordCountHistogramUTF16 14253 14379 +0.9% 0.99x
WordCountUniqueASCII 2135 2202 +3.1% 0.97x
WordCountUniqueUTF16 7697 7516 -2.4% 1.02x (?)
WordSplitASCII 6919 6747 -2.5% 1.03x (?)
WordSplitUTF16 8732 8696 -0.4% 1.00x (?)
XorLoop 395 402 +1.8% 0.98x
Added (2)
TEST MIN MAX MEAN MAX_RSS
DictionaryKeysContainsCocoa 39 57 47 313835520
DictionaryKeysContainsNative 32 41 36 57662123

Unoptimized (Onone)

Regression (14)
TEST OLD NEW DELTA SPEEDUP
DataSetCount 555 633 +14.1% 0.88x
CharIteration_chinese_unicodeScalars 113767 125015 +9.9% 0.91x
CharIteration_japanese_unicodeScalars 179770 197474 +9.8% 0.91x
ObjectiveCBridgeFromNSArrayAnyObjectForced 9595 10436 +8.8% 0.92x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5802 6282 +8.3% 0.92x (?)
NSDictionaryCastToSwift 8572 9263 +8.1% 0.93x (?)
TypeFlood 198 213 +7.6% 0.93x (?)
EqualSubstringString 67 72 +7.5% 0.93x
FilterEvenUsingReduce 3645 3911 +7.3% 0.93x (?)
ErrorHandling 6734 7212 +7.1% 0.93x
StringUTF16Builder 8062 8589 +6.5% 0.94x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 47976 50980 +6.3% 0.94x (?)
FloatingPointPrinting_Float80_interpolated 118489 125672 +6.1% 0.94x
BitCount 8557 9063 +5.9% 0.94x
Improvement (9)
TEST OLD NEW DELTA SPEEDUP
CharIndexing_japanese_unicodeScalars_Backwards 489381 429335 -12.3% 1.14x
StringComparison_latin1 4319 3911 -9.4% 1.10x
AngryPhonebook 5777 5300 -8.3% 1.09x (?)
SubstringEqualString 1866 1724 -7.6% 1.08x (?)
DropFirstAnyCollectionLazy 109114 101704 -6.8% 1.07x
StringInterpolation 13687 12765 -6.7% 1.07x (?)
PointerArithmetics 125938 117537 -6.7% 1.07x
StackPromo 107444 101261 -5.8% 1.06x (?)
LessSubstringSubstringGenericComparable 57 54 -5.3% 1.06x (?)
No Changes (404)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 102078 102027 -0.0% 1.00x (?)
Array2D 639594 639402 -0.0% 1.00x (?)
ArrayAppend 4440 4556 +2.6% 0.97x
ArrayAppendArrayOfInt 862 866 +0.5% 1.00x (?)
ArrayAppendAscii 28796 29016 +0.8% 0.99x
ArrayAppendAsciiSubstring 184555 184193 -0.2% 1.00x
ArrayAppendFromGeneric 868 871 +0.3% 1.00x (?)
ArrayAppendGenericStructs 1502 1503 +0.1% 1.00x (?)
ArrayAppendLatin1 66446 66656 +0.3% 1.00x
ArrayAppendLatin1Substring 323324 324062 +0.2% 1.00x (?)
ArrayAppendLazyMap 172471 171389 -0.6% 1.01x
ArrayAppendOptionals 1504 1495 -0.6% 1.01x (?)
ArrayAppendRepeatCol 183958 184364 +0.2% 1.00x
ArrayAppendReserved 4280 4164 -2.7% 1.03x
ArrayAppendSequence 104631 104845 +0.2% 1.00x
ArrayAppendStrings 6354 6365 +0.2% 1.00x (?)
ArrayAppendToFromGeneric 871 872 +0.1% 1.00x (?)
ArrayAppendToGeneric 874 875 +0.1% 1.00x
ArrayAppendUTF16 66161 66480 +0.5% 1.00x
ArrayAppendUTF16Substring 326086 326772 +0.2% 1.00x (?)
ArrayInClass 6257 6228 -0.5% 1.00x (?)
ArrayLiteral 1803 1802 -0.1% 1.00x (?)
ArrayOfGenericPOD2 1071 1073 +0.2% 1.00x (?)
ArrayOfGenericRef 10769 10863 +0.9% 0.99x (?)
ArrayOfPOD 758 762 +0.5% 0.99x
ArrayOfRef 9951 10005 +0.5% 0.99x (?)
ArrayPlusEqualArrayOfInt 866 868 +0.2% 1.00x
ArrayPlusEqualFiveElementCollection 236714 237807 +0.5% 1.00x (?)
ArrayPlusEqualSingleElementCollection 233034 235481 +1.1% 0.99x (?)
ArrayPlusEqualThreeElements 9393 9401 +0.1% 1.00x (?)
ArraySubscript 108831 106766 -1.9% 1.02x
ArrayValueProp 3676 3672 -0.1% 1.00x (?)
ArrayValueProp2 15521 15310 -1.4% 1.01x (?)
ArrayValueProp3 4202 4210 +0.2% 1.00x (?)
ArrayValueProp4 4184 4146 -0.9% 1.01x
BinaryFloatingPointPropertiesBinade 85 83 -2.4% 1.02x
BinaryFloatingPointPropertiesNextUp 128 131 +2.3% 0.98x
BinaryFloatingPointPropertiesUlp 131 127 -3.1% 1.03x
ByteSwap 9488 9830 +3.6% 0.97x
COWTree 12582 12189 -3.1% 1.03x (?)
CSVParsing 2996229 3014195 +0.6% 0.99x
CSVParsingAlt 1421623 1446870 +1.8% 0.98x (?)
CSVParsingAltIndices 2403066 2383461 -0.8% 1.01x (?)
CStringLongAscii 5370 5369 -0.0% 1.00x (?)
CStringLongNonAscii 2493 2497 +0.2% 1.00x (?)
CStringShortAscii 6539 6556 +0.3% 1.00x (?)
Calculator 2108 2114 +0.3% 1.00x
CaptureProp 281286 278711 -0.9% 1.01x
ChainedFilterMap 234824 235822 +0.4% 1.00x (?)
CharIndexing_ascii_unicodeScalars 317699 318752 +0.3% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 357833 369759 +3.3% 0.97x
CharIndexing_chinese_unicodeScalars 243867 240014 -1.6% 1.02x (?)
CharIndexing_chinese_unicodeScalars_Backwards 272756 271679 -0.4% 1.00x (?)
CharIndexing_japanese_unicodeScalars 385695 382286 -0.9% 1.01x (?)
CharIndexing_korean_unicodeScalars 307579 306422 -0.4% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 352352 346964 -1.5% 1.02x
CharIndexing_punctuatedJapanese_unicodeScalars 56424 56801 +0.7% 0.99x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 61870 61952 +0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 71171 70868 -0.4% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 78598 78888 +0.4% 1.00x (?)
CharIndexing_russian_unicodeScalars 265742 263620 -0.8% 1.01x (?)
CharIndexing_russian_unicodeScalars_Backwards 296762 299555 +0.9% 0.99x (?)
CharIndexing_tweet_unicodeScalars 632024 630937 -0.2% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 733893 712499 -2.9% 1.03x
CharIndexing_utf16_unicodeScalars 277951 276885 -0.4% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 307346 308865 +0.5% 1.00x (?)
CharIteration_ascii_unicodeScalars 151070 150241 -0.5% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 251274 253627 +0.9% 0.99x
CharIteration_chinese_unicodeScalars_Backwards 189760 196162 +3.4% 0.97x (?)
CharIteration_japanese_unicodeScalars_Backwards 304887 308992 +1.3% 0.99x (?)
CharIteration_korean_unicodeScalars 145685 145242 -0.3% 1.00x
CharIteration_korean_unicodeScalars_Backwards 244291 245726 +0.6% 0.99x (?)
CharIteration_punctuatedJapanese_unicodeScalars 26848 26770 -0.3% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 43833 44220 +0.9% 0.99x
CharIteration_punctuated_unicodeScalars 33629 33709 +0.2% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 55460 55780 +0.6% 0.99x (?)
CharIteration_russian_unicodeScalars 124938 124766 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 209468 211003 +0.7% 0.99x (?)
CharIteration_tweet_unicodeScalars 296600 296383 -0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 498498 501263 +0.6% 0.99x
CharIteration_utf16_unicodeScalars 127173 127094 -0.1% 1.00x
CharIteration_utf16_unicodeScalars_Backwards 219977 219875 -0.0% 1.00x (?)
CharacterLiteralsLarge 5780 5957 +3.1% 0.97x
CharacterLiteralsSmall 705 701 -0.6% 1.01x
CharacterPropertiesFetch 5425 5473 +0.9% 0.99x (?)
CharacterPropertiesPrecomputed 3631 3569 -1.7% 1.02x (?)
CharacterPropertiesStashed 2301 2361 +2.6% 0.97x (?)
CharacterPropertiesStashedMemo 4495 4535 +0.9% 0.99x (?)
Chars 36335 36493 +0.4% 1.00x
ClassArrayGetter 996 998 +0.2% 1.00x (?)
Combos 2470 2453 -0.7% 1.01x (?)
DataAccessBytes 2403 2386 -0.7% 1.01x (?)
DataAppendArray 5429 5459 +0.6% 0.99x (?)
DataAppendBytes 5294 5081 -4.0% 1.04x
DataAppendDataLargeToLarge 68792 68942 +0.2% 1.00x (?)
DataAppendDataLargeToMedium 35397 35264 -0.4% 1.00x (?)
DataAppendDataLargeToSmall 34582 34604 +0.1% 1.00x (?)
DataAppendDataMediumToLarge 37920 38053 +0.4% 1.00x (?)
DataAppendDataMediumToMedium 7105 7190 +1.2% 0.99x (?)
DataAppendDataMediumToSmall 6036 6036 +0.0% 1.00x
DataAppendDataSmallToLarge 37012 37183 +0.5% 1.00x (?)
DataAppendDataSmallToMedium 6404 6507 +1.6% 0.98x (?)
DataAppendDataSmallToSmall 5879 5945 +1.1% 0.99x (?)
DataAppendSequence 1924010 1915850 -0.4% 1.00x
DataCopyBytes 2530 2543 +0.5% 0.99x
DataCount 223 223 +0.0% 1.00x
DataMutateBytes 5270 5204 -1.3% 1.01x (?)
DataReplaceLarge 40194 38727 -3.6% 1.04x
DataReplaceLargeBuffer 62424 62955 +0.9% 0.99x (?)
DataReplaceMedium 10034 9816 -2.2% 1.02x (?)
DataReplaceMediumBuffer 17431 17515 +0.5% 1.00x (?)
DataReplaceSmall 6832 6853 +0.3% 1.00x (?)
DataReplaceSmallBuffer 12639 12562 -0.6% 1.01x (?)
DataReset 2909 2928 +0.7% 0.99x (?)
DataSubscript 444 443 -0.2% 1.00x
DictOfArraysToArrayOfDicts 3511 3529 +0.5% 0.99x (?)
Dictionary 2356 2361 +0.2% 1.00x (?)
Dictionary2 1456 1457 +0.1% 1.00x (?)
Dictionary2OfObjects 4303 4305 +0.0% 1.00x (?)
Dictionary3 872 870 -0.2% 1.00x (?)
Dictionary3OfObjects 2108 2170 +2.9% 0.97x (?)
Dictionary4 1315 1318 +0.2% 1.00x (?)
Dictionary4Legacy 1601 1598 -0.2% 1.00x (?)
Dictionary4OfObjects 1960 1896 -3.3% 1.03x (?)
Dictionary4OfObjectsLegacy 2244 2229 -0.7% 1.01x (?)
DictionaryBridge 1338 1349 +0.8% 0.99x (?)
DictionaryCopy 313315 314411 +0.3% 1.00x (?)
DictionaryFilter 328864 329518 +0.2% 1.00x (?)
DictionaryGroup 4565 4553 -0.3% 1.00x
DictionaryGroupOfObjects 7029 7144 +1.6% 0.98x (?)
DictionaryLiteral 8997 8866 -1.5% 1.01x (?)
DictionaryOfObjects 5900 6063 +2.8% 0.97x (?)
DictionaryRemove 17417 17381 -0.2% 1.00x (?)
DictionaryRemoveOfObjects 54060 51999 -3.8% 1.04x (?)
DictionarySubscriptDefaultMutation 2005 2011 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArray 2256 2257 +0.0% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9340 9364 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 5149 5343 +3.8% 0.96x (?)
DictionarySwap 5029 4997 -0.6% 1.01x (?)
DictionarySwapAt 35438 35412 -0.1% 1.00x (?)
DictionarySwapAtOfObjects 113614 113840 +0.2% 1.00x (?)
DictionarySwapOfObjects 19344 19111 -1.2% 1.01x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 15601 15580 -0.1% 1.00x (?)
DropFirstAnySeqCRangeIter 23711 23821 +0.5% 1.00x
DropFirstAnySeqCRangeIterLazy 24194 24137 -0.2% 1.00x
DropFirstAnySeqCntRange 15637 15559 -0.5% 1.01x (?)
DropFirstAnySeqCntRangeLazy 15539 15547 +0.1% 1.00x (?)
DropFirstAnySequence 13160 13181 +0.2% 1.00x
DropFirstAnySequenceLazy 13102 13135 +0.3% 1.00x
DropFirstArray 3359 3345 -0.4% 1.00x
DropFirstArrayLazy 29289 29748 +1.6% 0.98x
DropFirstCountableRange 310 311 +0.3% 1.00x
DropFirstCountableRangeLazy 33786 33956 +0.5% 0.99x
DropFirstSequence 12572 12704 +1.0% 0.99x
DropFirstSequenceLazy 12901 12842 -0.5% 1.00x (?)
DropLastAnyCollection 5199 5211 +0.2% 1.00x (?)
DropLastAnyCollectionLazy 35123 34801 -0.9% 1.01x (?)
DropLastAnySeqCRangeIter 42884 43351 +1.1% 0.99x
DropLastAnySeqCRangeIterLazy 42903 42996 +0.2% 1.00x
DropLastAnySeqCntRange 5226 5253 +0.5% 0.99x
DropLastAnySeqCntRangeLazy 5185 5210 +0.5% 1.00x
DropLastAnySequence 31140 31041 -0.3% 1.00x
DropLastAnySequenceLazy 31129 31162 +0.1% 1.00x (?)
DropLastCountableRange 107 107 +0.0% 1.00x
DropLastCountableRangeLazy 11331 11365 +0.3% 1.00x (?)
DropLastSequence 31350 31393 +0.1% 1.00x (?)
DropLastSequenceLazy 31140 31007 -0.4% 1.00x (?)
DropWhileAnyCollection 20221 20150 -0.4% 1.00x (?)
DropWhileAnyCollectionLazy 22809 22794 -0.1% 1.00x (?)
DropWhileAnySeqCRangeIter 24650 24723 +0.3% 1.00x
DropWhileAnySeqCRangeIterLazy 22792 22753 -0.2% 1.00x (?)
DropWhileAnySeqCntRange 20120 20167 +0.2% 1.00x
DropWhileAnySeqCntRangeLazy 22847 22763 -0.4% 1.00x
DropWhileAnySequence 13878 13914 +0.3% 1.00x (?)
DropWhileAnySequenceLazy 12769 12555 -1.7% 1.02x
DropWhileArrayLazy 14211 14142 -0.5% 1.00x
DropWhileCountableRange 4881 4903 +0.5% 1.00x (?)
DropWhileCountableRangeLazy 22104 22098 -0.0% 1.00x (?)
DropWhileSequence 13539 13633 +0.7% 0.99x (?)
DropWhileSequenceLazy 12062 12042 -0.2% 1.00x (?)
EqualStringSubstring 71 70 -1.4% 1.01x
EqualSubstringSubstring 73 72 -1.4% 1.01x
EqualSubstringSubstringGenericEquatable 57 58 +1.8% 0.98x
ExclusivityGlobal 183 186 +1.6% 0.98x
ExclusivityIndependent 75 74 -1.3% 1.01x (?)
FatCompactMap 293520 294759 +0.4% 1.00x (?)
FilterEvenUsingReduceInto 1892 1890 -0.1% 1.00x (?)
FloatingPointPrinting_Double_description_small 24920 24247 -2.7% 1.03x (?)
FloatingPointPrinting_Double_description_uniform 36322 36111 -0.6% 1.01x (?)
FloatingPointPrinting_Double_interpolated 100394 101371 +1.0% 0.99x (?)
FloatingPointPrinting_Float80_description_small 31450 31510 +0.2% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 58671 59441 +1.3% 0.99x (?)
FloatingPointPrinting_Float_description_small 6803 6837 +0.5% 1.00x
FloatingPointPrinting_Float_description_uniform 17323 17372 +0.3% 1.00x (?)
FloatingPointPrinting_Float_interpolated 77448 78685 +1.6% 0.98x (?)
FrequenciesUsingReduce 10665 10605 -0.6% 1.01x (?)
FrequenciesUsingReduceInto 3226 3208 -0.6% 1.01x (?)
Hanoi 20838 20143 -3.3% 1.03x
HashTest 20848 21482 +3.0% 0.97x
Histogram 6297 6296 -0.0% 1.00x (?)
Integrate 458 458 +0.0% 1.00x
IterateData 5433 5412 -0.4% 1.00x
Join 773 773 +0.0% 1.00x
LazilyFilteredArrayContains 760870 760354 -0.1% 1.00x (?)
LazilyFilteredArrays 1489236 1474190 -1.0% 1.01x (?)
LazilyFilteredRange 540947 542199 +0.2% 1.00x (?)
LessSubstringSubstring 73 72 -1.4% 1.01x
LinkedList 32360 32349 -0.0% 1.00x (?)
LuhnAlgoEager 5645 5580 -1.2% 1.01x (?)
LuhnAlgoLazy 5843 5586 -4.4% 1.05x (?)
MapReduce 25640 25868 +0.9% 0.99x
MapReduceAnyCollection 25659 25990 +1.3% 0.99x
MapReduceAnyCollectionShort 36783 38189 +3.8% 0.96x (?)
MapReduceClass 29658 29668 +0.0% 1.00x (?)
MapReduceClassShort 41863 42146 +0.7% 0.99x (?)
MapReduceLazyCollection 22609 22895 +1.3% 0.99x
MapReduceLazyCollectionShort 34184 33401 -2.3% 1.02x (?)
MapReduceLazySequence 20092 20336 +1.2% 0.99x
MapReduceSequence 30641 30792 +0.5% 1.00x (?)
MapReduceShort 37377 37833 +1.2% 0.99x (?)
MapReduceShortString 243 237 -2.5% 1.03x (?)
MapReduceString 1742 1750 +0.5% 1.00x (?)
Memset 45164 44830 -0.7% 1.01x (?)
MonteCarloE 1148787 1137093 -1.0% 1.01x (?)
MonteCarloPi 5203071 5147410 -1.1% 1.01x
NSError 613 605 -1.3% 1.01x (?)
NSStringConversion 781 778 -0.4% 1.00x
NibbleSort 504837 507560 +0.5% 0.99x
NopDeinit 189144 194000 +2.6% 0.97x (?)
ObjectAllocation 1264 1269 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 30095 29319 -2.6% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 47099 48052 +2.0% 0.98x
ObjectiveCBridgeFromNSDictionaryAnyObject 118970 118683 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 55358 55092 -0.5% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 72314 74321 +2.8% 0.97x (?)
ObjectiveCBridgeFromNSString 2867 2879 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2810 2800 -0.4% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6300 6211 -1.4% 1.01x (?)
ObjectiveCBridgeStubDateMutation 716 716 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 32968 33952 +3.0% 0.97x (?)
ObjectiveCBridgeStubFromNSDate 7011 6879 -1.9% 1.02x (?)
ObjectiveCBridgeStubFromNSString 1078 1103 +2.3% 0.98x
ObjectiveCBridgeStubFromNSStringRef 197 194 -1.5% 1.02x
ObjectiveCBridgeStubNSDataAppend 3052 2996 -1.8% 1.02x (?)
ObjectiveCBridgeStubNSDateMutationRef 16015 15828 -1.2% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 39979 39737 -0.6% 1.01x (?)
ObjectiveCBridgeStubToNSDate 15722 16258 +3.4% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3487 3467 -0.6% 1.01x (?)
ObjectiveCBridgeStubToNSString 2422 2424 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 150 154 +2.7% 0.97x
ObjectiveCBridgeStubURLAppendPath 300692 308146 +2.5% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 316043 307501 -2.7% 1.03x (?)
ObjectiveCBridgeToNSArray 15392 15371 -0.1% 1.00x (?)
ObjectiveCBridgeToNSDictionary 27475 27624 +0.5% 0.99x (?)
ObjectiveCBridgeToNSSet 17601 18167 +3.2% 0.97x (?)
ObjectiveCBridgeToNSString 537 530 -1.3% 1.01x (?)
ObserverClosure 6457 6469 +0.2% 1.00x (?)
ObserverForwarderStruct 4375 4327 -1.1% 1.01x
ObserverPartiallyAppliedMethod 8052 8038 -0.2% 1.00x (?)
ObserverUnappliedMethod 8150 8161 +0.1% 1.00x (?)
OpenClose 888 893 +0.6% 0.99x
PartialApplyDynamicType 39212 39541 +0.8% 0.99x (?)
Phonebook 19179 19139 -0.2% 1.00x
PolymorphicCalls 2332 2348 +0.7% 0.99x
PopFrontArray 4772 4754 -0.4% 1.00x
PopFrontArrayGeneric 5620 5596 -0.4% 1.00x (?)
PopFrontUnsafePointer 11176 10648 -4.7% 1.05x (?)
PrefixAnyCollection 15600 15536 -0.4% 1.00x (?)
PrefixAnyCollectionLazy 103436 102707 -0.7% 1.01x (?)
PrefixAnySeqCRangeIter 18919 18923 +0.0% 1.00x (?)
PrefixAnySeqCRangeIterLazy 18949 18904 -0.2% 1.00x (?)
PrefixAnySeqCntRange 15623 15595 -0.2% 1.00x (?)
PrefixAnySeqCntRangeLazy 15538 15572 +0.2% 1.00x (?)
PrefixAnySequence 10742 10717 -0.2% 1.00x (?)
PrefixAnySequenceLazy 10871 10896 +0.2% 1.00x
PrefixArray 3386 3349 -1.1% 1.01x
PrefixArrayLazy 29335 29685 +1.2% 0.99x (?)
PrefixCountableRange 310 310 +0.0% 1.00x
PrefixCountableRangeLazy 33948 34118 +0.5% 1.00x (?)
PrefixSequence 10324 10280 -0.4% 1.00x
PrefixSequenceLazy 10441 10461 +0.2% 1.00x (?)
PrefixWhileAnyCollection 29223 29333 +0.4% 1.00x
PrefixWhileAnyCollectionLazy 18619 18639 +0.1% 1.00x (?)
PrefixWhileAnySeqCRangeIter 34849 35095 +0.7% 0.99x (?)
PrefixWhileAnySeqCRangeIterLazy 18686 18763 +0.4% 1.00x
PrefixWhileAnySeqCntRange 29267 29369 +0.3% 1.00x
PrefixWhileAnySeqCntRangeLazy 18572 18500 -0.4% 1.00x (?)
PrefixWhileAnySequence 27083 27054 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 11132 11177 +0.4% 1.00x (?)
PrefixWhileArray 10567 10504 -0.6% 1.01x (?)
PrefixWhileArrayLazy 12371 12328 -0.3% 1.00x
PrefixWhileCountableRange 13907 13911 +0.0% 1.00x (?)
PrefixWhileCountableRangeLazy 18203 18172 -0.2% 1.00x (?)
PrefixWhileSequence 26896 26781 -0.4% 1.00x (?)
PrefixWhileSequenceLazy 11115 11090 -0.2% 1.00x (?)
Prims 9740 9678 -0.6% 1.01x (?)
PrimsSplit 9687 10087 +4.1% 0.96x
QueueConcrete 14416 14393 -0.2% 1.00x (?)
QueueGeneric 18990 18941 -0.3% 1.00x (?)
RC4 15950 15982 +0.2% 1.00x (?)
RGBHistogram 24472 24512 +0.2% 1.00x (?)
RGBHistogramOfObjects 78289 77935 -0.5% 1.00x (?)
RangeAssignment 2684 2685 +0.0% 1.00x (?)
RangeIterationSigned 14687 14658 -0.2% 1.00x (?)
RangeReplaceableCollectionPlusDefault 11286 11564 +2.5% 0.98x (?)
RecursiveOwnedParameter 5801 5812 +0.2% 1.00x
RemoveWhereFilterInts 1959 1954 -0.3% 1.00x
RemoveWhereFilterString 1318 1331 +1.0% 0.99x
RemoveWhereFilterStrings 2485 2477 -0.3% 1.00x (?)
RemoveWhereMoveInts 3409 3409 +0.0% 1.00x
RemoveWhereMoveStrings 3923 3930 +0.2% 1.00x
RemoveWhereQuadraticInts 8078 8095 +0.2% 1.00x (?)
RemoveWhereQuadraticString 2295 2288 -0.3% 1.00x (?)
RemoveWhereQuadraticStrings 9715 9729 +0.1% 1.00x (?)
RemoveWhereSwapInts 6152 6166 +0.2% 1.00x
RemoveWhereSwapStrings 6879 6878 -0.0% 1.00x (?)
ReversedArray 13234 13073 -1.2% 1.01x (?)
ReversedBidirectional 43454 43565 +0.3% 1.00x (?)
ReversedDictionary 23120 23343 +1.0% 0.99x
RomanNumbers 1327444 1299318 -2.1% 1.02x (?)
SequenceAlgosAnySequence 13172 13254 +0.6% 0.99x
SequenceAlgosArray 758207 758169 -0.0% 1.00x (?)
SequenceAlgosContiguousArray 285103 284739 -0.1% 1.00x (?)
SequenceAlgosList 8705 8676 -0.3% 1.00x (?)
SequenceAlgosRange 1295716 1294569 -0.1% 1.00x
SequenceAlgosUnfoldSequence 6561 6580 +0.3% 1.00x
SetExclusiveOr 16263 16447 +1.1% 0.99x
SetExclusiveOr_OfObjects 41015 41407 +1.0% 0.99x (?)
SetIntersect 6553 6580 +0.4% 1.00x
SetIntersect_OfObjects 10226 10279 +0.5% 0.99x
SetIsSubsetOf 1186 1182 -0.3% 1.00x
SetIsSubsetOf_OfObjects 2278 2294 +0.7% 0.99x (?)
SetUnion 11756 11750 -0.1% 1.00x (?)
SetUnion_OfObjects 29625 29689 +0.2% 1.00x (?)
SevenBoom 1077 1087 +0.9% 0.99x (?)
Sim2DArray 43618 43628 +0.0% 1.00x (?)
SortLargeExistentials 11776 11780 +0.0% 1.00x (?)
SortLettersInPlace 1983 1985 +0.1% 1.00x (?)
SortSortedStrings 1144 1130 -1.2% 1.01x
SortStrings 2239 2191 -2.1% 1.02x
SortStringsUnicode 2734 2668 -2.4% 1.02x
StaticArray 2501 2494 -0.3% 1.00x (?)
StrComplexWalk 7263 7269 +0.1% 1.00x (?)
StrToInt 77217 77240 +0.0% 1.00x (?)
StringAdder 1122 1131 +0.8% 0.99x
StringBuilder 5538 5581 +0.8% 0.99x (?)
StringBuilderLong 2950 2947 -0.1% 1.00x
StringBuilderWithLongSubstring 4713 4782 +1.5% 0.99x (?)
StringComparison_abnormal 1320 1351 +2.3% 0.98x
StringComparison_ascii 9497 9508 +0.1% 1.00x (?)
StringComparison_emoji 1989 1988 -0.1% 1.00x (?)
StringComparison_fastPrenormal 4973 5021 +1.0% 0.99x (?)
StringComparison_longSharedPrefix 2392 2368 -1.0% 1.01x
StringComparison_nonBMPSlowestPrenormal 3673 3673 +0.0% 1.00x
StringComparison_slowerPrenormal 4156 4153 -0.1% 1.00x (?)
StringComparison_zalgo 128164 128044 -0.1% 1.00x (?)
StringEdits 388197 380576 -2.0% 1.02x (?)
StringEnumRawValueInitialization 33187 32772 -1.3% 1.01x (?)
StringEqualPointerComparison 1573 1626 +3.4% 0.97x
StringFromLongWholeSubstring 12 12 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 201 202 +0.5% 1.00x
StringHasPrefixAscii 3037 3066 +1.0% 0.99x (?)
StringHasPrefixUnicode 105729 105694 -0.0% 1.00x (?)
StringHasSuffixAscii 3131 3181 +1.6% 0.98x
StringHasSuffixUnicode 102654 103401 +0.7% 0.99x (?)
StringInterpolationManySmallSegments 21663 21710 +0.2% 1.00x (?)
StringInterpolationSmall 9945 9827 -1.2% 1.01x (?)
StringMatch 42427 43958 +3.6% 0.97x (?)
StringRemoveDupes 732 729 -0.4% 1.00x (?)
StringUTF16SubstringBuilder 22740 21663 -4.7% 1.05x (?)
StringWalk 12036 12266 +1.9% 0.98x
StringWithCString 43477 43508 +0.1% 1.00x (?)
StringWordBuilder 2485 2482 -0.1% 1.00x (?)
StringWordBuilderReservingCapacity 2017 2026 +0.4% 1.00x
SubstringComparable 1675 1678 +0.2% 1.00x (?)
SubstringEquatable 5619 5446 -3.1% 1.03x
SubstringFromLongString 18 18 +0.0% 1.00x
SubstringFromLongStringGeneric 105 105 +0.0% 1.00x
SuffixAnyCollection 5206 5218 +0.2% 1.00x (?)
SuffixAnyCollectionLazy 36010 34976 -2.9% 1.03x (?)
SuffixAnySeqCRangeIter 40339 40299 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 40295 40232 -0.2% 1.00x (?)
SuffixAnySeqCntRange 5268 5216 -1.0% 1.01x
SuffixAnySeqCntRangeLazy 5194 5193 -0.0% 1.00x (?)
SuffixAnySequence 26657 26663 +0.0% 1.00x (?)
SuffixAnySequenceLazy 26737 26823 +0.3% 1.00x
SuffixCountableRange 108 108 +0.0% 1.00x
SuffixCountableRangeLazy 11331 11367 +0.3% 1.00x
SuffixSequence 26750 27063 +1.2% 0.99x (?)
SuffixSequenceLazy 26490 26545 +0.2% 1.00x (?)
SumUsingReduce 160741 160083 -0.4% 1.00x
SumUsingReduceInto 153746 153950 +0.1% 1.00x (?)
SuperChars 86167 87475 +1.5% 0.99x (?)
TwoSum 3550 3552 +0.1% 1.00x (?)
UTF8Decode 29878 30135 +0.9% 0.99x
Walsh 12032 11997 -0.3% 1.00x
WordCountHistogramASCII 39300 39728 +1.1% 0.99x (?)
WordCountHistogramUTF16 46712 47151 +0.9% 0.99x
WordCountUniqueASCII 7223 7235 +0.2% 1.00x (?)
WordCountUniqueUTF16 13070 13253 +1.4% 0.99x
WordSplitASCII 10261 10243 -0.2% 1.00x (?)
WordSplitUTF16 12121 12023 -0.8% 1.01x (?)
XorLoop 23366 23465 +0.4% 1.00x (?)
Added (2)
TEST MIN MAX MEAN MAX_RSS
DictionaryKeysContainsCocoa 60 63 62 314298368
DictionaryKeysContainsNative 60 73 65 58123605
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

@koher
Copy link
Contributor Author

koher commented May 5, 2018

@lorentey Thank you. I don't care if it is squashed.

@lorentey
Copy link
Member

lorentey commented May 8, 2018

LGTM!

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

4 participants