Skip to content

Conversation

lorentey
Copy link
Member

@lorentey lorentey commented Jul 24, 2018

Clean up Set and Dictionary internals to improve readability and to prepare for upcoming resiliency improvements.

  • Nest public iterator types under the corresponding collection type, with a compatibility typealias.
    SetIterator<Element>Set<Element>.Iterator
    DictionaryIterator<Key, Value>Dictionary<Key, Value>.Iterator

  • Nest auxiliary types under the corresponding higher-level type. Remove confusing Buffer suffix. Unify naming of enums representing native/cocoa variants.
    _VariantSetBuffer<Element>Set<Element>._Variant
    SetIndexRepresentation<Element>Set<Element>.Index._Variant
    SetIteratorRepresentation<Element>Set<Element>.Iterator._Variant

    _NativeSetBuffer<Element>_NativeSet<Element>
    _NativeSetIndex<Element>_NativeSet<Element>.Index

    _CocoaSetBuffer_CocoaSet
    _CocoaSetIndex_CocoaSet.Index
    _CocoaSetIterator_CocoaSet.Iterator

    (Ditto for Dictionary.)

  • Add explicit types representing native iterators: _NativeSet<Element>.Iterator and _NativeDictionary<Key, Value>.Iterator. Previously these were exploded into associated values on the native case of the top-level iterator variant.

  • Make Cocoa helper class names a little bit more helpful in Cocoa context.
    _NativeSetNSEnumerator_SwiftSetNSEnumerator
    _NativeDictionaryNSEnumerator_SwiftDictionaryNSEnumerator

  • Adjust internal property and variable names accordingly.

  • To enhance readability, remove internal typealiases wherever possible.

  • Audit inlinability.

rdar://problem/42585384

@@ -390,7 +382,7 @@ extension Set: Collection {
/// to the set. Don't expect any particular ordering of set elements.
///
/// If the set is empty, the value of this property is `nil`.
@inlinable // FIXME(sil-serialize-all)
@inlinable
public var first: Element? {
Copy link
Member

Choose a reason for hiding this comment

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

I wonder if this really does materially perform better than the default.

Copy link
Member Author

Choose a reason for hiding this comment

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

The default creates an iterator, which complicates the native case, but improves the bridged case -- _CocoaSet.startIndex is currently O(n), while the iterator uses fast enumeration. 😦

Ideally this should dispatch to _variant and do the right thing in each case. Or we could just remove it.

Copy link
Member Author

Choose a reason for hiding this comment

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

Actually, it turns out this is the correct way to implement this, despite the performance hit.

Bridged indices are currently based on -[NSDictionary allKeys], which is not guaranteed to use the same element ordering as an enumerator. (Which indicates Dictionary/Set iterators may sometimes return elements in a different order than indices. 😭)

I think we should change indices to use enumerators, and soon.

@lorentey lorentey force-pushed the dictionary-review branch 2 times, most recently from 4f2c2a1 to 4a7bb11 Compare July 25, 2018 13:16
@lorentey lorentey changed the title [WIP][stdlib] Review Set and Dictionary internals [WIP][stdlib] Modernize Set and Dictionary internals Jul 25, 2018
@lorentey
Copy link
Member Author

@swift-ci please test

@lorentey
Copy link
Member Author

The benchmarks shouldn't be affected, although there were a couple changes to inlinability.
@swift-ci please benchmark

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - de9e9c44c6c968cff063acf1fd453ffabaa61e8f

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - de9e9c44c6c968cff063acf1fd453ffabaa61e8f

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (22)
TEST OLD NEW DELTA SPEEDUP
DictionaryRemove 4275 5767 +34.9% 0.74x
IterateData 1450 1630 +12.4% 0.89x
CharIndexing_tweet_unicodeScalars 31254 33906 +8.5% 0.92x (?)
RC4 149 161 +8.1% 0.93x
CharIndexing_chinese_unicodeScalars 12225 13173 +7.8% 0.93x (?)
CharIndexing_korean_unicodeScalars 15649 16861 +7.7% 0.93x (?)
CharIndexing_russian_unicodeScalars 13460 14495 +7.7% 0.93x (?)
CharIndexing_ascii_unicodeScalars 16142 17375 +7.6% 0.93x (?)
CharIndexing_japanese_unicodeScalars 19321 20782 +7.6% 0.93x (?)
CharIndexing_punctuated_unicodeScalars 3664 3932 +7.3% 0.93x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2927 3137 +7.2% 0.93x
ObjectiveCBridgeFromNSArrayAnyObject 25336 27026 +6.7% 0.94x (?)
EqualSubstringSubstringGenericEquatable 45 48 +6.7% 0.94x (?)
CharIteration_ascii_unicodeScalars 20438 21700 +6.2% 0.94x
CharIteration_korean_unicodeScalars 19824 21035 +6.1% 0.94x
CharIteration_chinese_unicodeScalars 15478 16419 +6.1% 0.94x
CharIteration_punctuatedJapanese_unicodeScalars 3675 3898 +6.1% 0.94x
CharIteration_russian_unicodeScalars 17025 18055 +6.0% 0.94x
CharIteration_japanese_unicodeScalars 24481 25961 +6.0% 0.94x
CharIteration_punctuated_unicodeScalars 4614 4887 +5.9% 0.94x
ObjectiveCBridgeFromNSDictionaryAnyObject 108370 114269 +5.4% 0.95x (?)
CharIteration_tweet_unicodeScalars 40678 42889 +5.4% 0.95x
Improvement (19)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 670 417 -37.8% 1.61x
DictionaryCompactMapValuesOfCastValue 14600 11744 -19.6% 1.24x
StringEqualPointerComparison 314 286 -8.9% 1.10x
StringComparison_fastPrenormal 907 827 -8.8% 1.10x
DataReplaceMediumBuffer 13143 12013 -8.6% 1.09x (?)
CharIteration_utf16_unicodeScalars_Backwards 19158 17677 -7.7% 1.08x
StringWordBuilderReservingCapacity 1998 1848 -7.5% 1.08x
DataReplaceSmallBuffer 9388 8777 -6.5% 1.07x (?)
DictionarySwapAt 7821 7329 -6.3% 1.07x (?)
SetExclusiveOr 5244 4934 -5.9% 1.06x (?)
CharIteration_tweet_unicodeScalars_Backwards 30779 29091 -5.5% 1.06x
CharIteration_russian_unicodeScalars_Backwards 12983 12278 -5.4% 1.06x
CharIteration_ascii_unicodeScalars_Backwards 15581 14735 -5.4% 1.06x
CharIteration_japanese_unicodeScalars_Backwards 18657 17647 -5.4% 1.06x
CharIteration_chinese_unicodeScalars_Backwards 11799 11164 -5.4% 1.06x
CharIteration_korean_unicodeScalars_Backwards 15107 14294 -5.4% 1.06x
DataReplaceSmall 5703 5410 -5.1% 1.05x (?)
CharIteration_punctuated_unicodeScalars_Backwards 3529 3348 -5.1% 1.05x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2820 2678 -5.0% 1.05x
No Changes (419)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3635 3574 -1.7% 1.02x (?)
AnyHashableWithAClass 91153 90831 -0.4% 1.00x (?)
Array2D 2860 2858 -0.1% 1.00x (?)
ArrayAppend 1076 1074 -0.2% 1.00x (?)
ArrayAppendArrayOfInt 793 784 -1.1% 1.01x (?)
ArrayAppendAscii 3850 3821 -0.8% 1.01x (?)
ArrayAppendAsciiSubstring 24945 24899 -0.2% 1.00x (?)
ArrayAppendFromGeneric 797 795 -0.3% 1.00x (?)
ArrayAppendGenericStructs 1425 1427 +0.1% 1.00x (?)
ArrayAppendLatin1 41477 41171 -0.7% 1.01x (?)
ArrayAppendLatin1Substring 141712 141572 -0.1% 1.00x (?)
ArrayAppendLazyMap 1338 1332 -0.4% 1.00x (?)
ArrayAppendOptionals 1411 1422 +0.8% 0.99x (?)
ArrayAppendRepeatCol 1331 1332 +0.1% 1.00x (?)
ArrayAppendReserved 806 806 +0.0% 1.00x
ArrayAppendSequence 1114 1116 +0.2% 1.00x (?)
ArrayAppendStrings 6222 6206 -0.3% 1.00x (?)
ArrayAppendToFromGeneric 788 794 +0.8% 0.99x (?)
ArrayAppendToGeneric 796 794 -0.3% 1.00x (?)
ArrayAppendUTF16 41391 41346 -0.1% 1.00x (?)
ArrayAppendUTF16Substring 138422 139011 +0.4% 1.00x (?)
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 152 152 +0.0% 1.00x
ArrayOfGenericRef 4380 4382 +0.0% 1.00x (?)
ArrayOfPOD 185 185 +0.0% 1.00x
ArrayOfRef 4357 4342 -0.3% 1.00x (?)
ArrayPlusEqualArrayOfInt 787 793 +0.8% 0.99x (?)
ArrayPlusEqualFiveElementCollection 5385 5417 +0.6% 0.99x (?)
ArrayPlusEqualSingleElementCollection 1072 1078 +0.6% 0.99x (?)
ArrayPlusEqualThreeElements 1653 1663 +0.6% 0.99x (?)
ArraySubscript 1579 1569 -0.6% 1.01x (?)
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointPropertiesBinade 25 25 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 37 37 +0.0% 1.00x
BitCount 202 202 +0.0% 1.00x
ByteSwap 103 102 -1.0% 1.01x (?)
COWArrayGuaranteedParameterOverhead 9973 10020 +0.5% 1.00x (?)
COWTree 3639 3625 -0.4% 1.00x (?)
CSVParsing 654929 656446 +0.2% 1.00x (?)
CSVParsingAlt 808468 811486 +0.4% 1.00x (?)
CSVParsingAltIndices 336196 339068 +0.9% 0.99x (?)
CStringLongAscii 4029 4113 +2.1% 0.98x
CStringLongNonAscii 2403 2424 +0.9% 0.99x (?)
CStringShortAscii 3334 3344 +0.3% 1.00x (?)
Calculator 191 191 +0.0% 1.00x
CaptureProp 4105 4102 -0.1% 1.00x (?)
ChainedFilterMap 1407 1407 +0.0% 1.00x
CharIndexing_ascii_unicodeScalars_Backwards 16453 16145 -1.9% 1.02x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12450 12240 -1.7% 1.02x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19696 19378 -1.6% 1.02x (?)
CharIndexing_korean_unicodeScalars_Backwards 15947 15647 -1.9% 1.02x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2976 2948 -0.9% 1.01x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3724 3687 -1.0% 1.01x (?)
CharIndexing_russian_unicodeScalars_Backwards 13701 13461 -1.8% 1.02x (?)
CharIndexing_tweet_unicodeScalars_Backwards 32255 31892 -1.1% 1.01x (?)
CharIndexing_utf16_unicodeScalars 22737 23117 +1.7% 0.98x (?)
CharIndexing_utf16_unicodeScalars_Backwards 23377 23276 -0.4% 1.00x (?)
CharIteration_utf16_unicodeScalars 27702 28025 +1.2% 0.99x
CharacterLiteralsLarge 5862 5877 +0.3% 1.00x (?)
CharacterLiteralsSmall 220 220 +0.0% 1.00x
CharacterPropertiesFetch 4571 4615 +1.0% 0.99x (?)
CharacterPropertiesPrecomputed 995 995 +0.0% 1.00x
CharacterPropertiesStashed 1777 1789 +0.7% 0.99x (?)
CharacterPropertiesStashedMemo 1528 1560 +2.1% 0.98x (?)
Chars 1021 1020 -0.1% 1.00x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 497 503 +1.2% 0.99x (?)
DataAccessBytes 1146 1155 +0.8% 0.99x (?)
DataAppendArray 5169 5193 +0.5% 1.00x (?)
DataAppendBytes 4807 4926 +2.5% 0.98x (?)
DataAppendDataLargeToLarge 67425 68090 +1.0% 0.99x (?)
DataAppendDataLargeToMedium 35341 35318 -0.1% 1.00x (?)
DataAppendDataLargeToSmall 34033 34229 +0.6% 0.99x (?)
DataAppendDataMediumToLarge 22412 22365 -0.2% 1.00x (?)
DataAppendDataMediumToMedium 6443 6436 -0.1% 1.00x (?)
DataAppendDataMediumToSmall 5839 5849 +0.2% 1.00x (?)
DataAppendDataSmallToLarge 21593 21943 +1.6% 0.98x (?)
DataAppendDataSmallToMedium 5974 6062 +1.5% 0.99x (?)
DataAppendDataSmallToSmall 5636 5635 -0.0% 1.00x (?)
DataAppendSequence 20760 20759 -0.0% 1.00x (?)
DataCopyBytes 453 455 +0.4% 1.00x (?)
DataCount 37 37 +0.0% 1.00x
DataMutateBytes 3875 3899 +0.6% 0.99x (?)
DataReplaceLarge 36799 36307 -1.3% 1.01x (?)
DataReplaceLargeBuffer 59205 57795 -2.4% 1.02x (?)
DataReplaceMedium 7885 7647 -3.0% 1.03x (?)
DataReset 2814 2850 +1.3% 0.99x (?)
DataSetCount 543 544 +0.2% 1.00x (?)
DataSubscript 220 220 +0.0% 1.00x
DictOfArraysToArrayOfDicts 795 796 +0.1% 1.00x (?)
Dictionary 517 516 -0.2% 1.00x (?)
Dictionary2 637 635 -0.3% 1.00x (?)
Dictionary2OfObjects 2069 2074 +0.2% 1.00x (?)
Dictionary3 223 222 -0.4% 1.00x (?)
Dictionary3OfObjects 731 726 -0.7% 1.01x (?)
Dictionary4 317 310 -2.2% 1.02x
Dictionary4Legacy 711 697 -2.0% 1.02x
Dictionary4OfObjects 438 429 -2.1% 1.02x (?)
Dictionary4OfObjectsLegacy 925 917 -0.9% 1.01x (?)
DictionaryBridge 1169 1180 +0.9% 0.99x (?)
DictionaryBridgeToObjC_Access 921 954 +3.6% 0.97x (?)
DictionaryBridgeToObjC_Bridge 19 19 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 163 164 +0.6% 0.99x (?)
DictionaryCompactMapValuesOfNilValue 7269 7069 -2.8% 1.03x (?)
DictionaryCopy 107976 106910 -1.0% 1.01x (?)
DictionaryFilter 107618 106180 -1.3% 1.01x (?)
DictionaryGroup 215 215 +0.0% 1.00x
DictionaryGroupOfObjects 2118 2115 -0.1% 1.00x (?)
DictionaryKeysContainsCocoa 40 40 +0.0% 1.00x
DictionaryKeysContainsNative 31 31 +0.0% 1.00x
DictionaryLiteral 1901 1911 +0.5% 0.99x (?)
DictionaryOfObjects 2363 2372 +0.4% 1.00x (?)
DictionaryRemoveOfObjects 25624 25694 +0.3% 1.00x (?)
DictionarySubscriptDefaultMutation 261 260 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutationArray 620 610 -1.6% 1.02x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 4006 4022 +0.4% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1693 1717 +1.4% 0.99x (?)
DictionarySwap 1030 1031 +0.1% 1.00x (?)
DictionarySwapAtOfObjects 51867 51929 +0.1% 1.00x (?)
DictionarySwapOfObjects 8684 8711 +0.3% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 64286 64850 +0.9% 0.99x (?)
DropFirstAnySeqCRangeIter 93 93 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 93 93 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1841 1841 +0.0% 1.00x
DropFirstAnySequenceLazy 1842 1842 +0.0% 1.00x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2680 2680 +0.0% 1.00x
DropFirstSequenceLazy 2774 2771 -0.1% 1.00x (?)
DropLastAnyCollection 98 99 +1.0% 0.99x
DropLastAnyCollectionLazy 21406 21574 +0.8% 0.99x (?)
DropLastAnySeqCRangeIter 3308 3313 +0.2% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3313 3314 +0.0% 1.00x (?)
DropLastAnySeqCntRange 20 20 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 20 20 +0.0% 1.00x
DropLastAnySequence 4960 4958 -0.0% 1.00x (?)
DropLastAnySequenceLazy 5043 5057 +0.3% 1.00x (?)
DropLastCountableRange 15 15 +0.0% 1.00x
DropLastCountableRangeLazy 15 15 +0.0% 1.00x
DropLastSequence 644 643 -0.2% 1.00x (?)
DropLastSequenceLazy 644 645 +0.2% 1.00x (?)
DropWhileAnyCollection 99 100 +1.0% 0.99x
DropWhileAnyCollectionLazy 130 130 +0.0% 1.00x
DropWhileAnySeqCRangeIter 75 76 +1.3% 0.99x
DropWhileAnySeqCRangeIterLazy 130 130 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 130 130 +0.0% 1.00x
DropWhileAnySequence 1860 1860 +0.0% 1.00x
DropWhileAnySequenceLazy 1854 1854 +0.0% 1.00x
DropWhileArrayLazy 88 88 +0.0% 1.00x
DropWhileCountableRange 35 36 +2.9% 0.97x
DropWhileCountableRangeLazy 105 105 +0.0% 1.00x
DropWhileSequence 2219 2219 +0.0% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 48 49 +2.1% 0.98x
EqualSubstringString 50 48 -4.0% 1.04x
EqualSubstringSubstring 44 44 +0.0% 1.00x
ErrorHandling 1202 1208 +0.5% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 1408 1407 -0.1% 1.00x (?)
FilterEvenUsingReduce 1323 1325 +0.2% 1.00x (?)
FilterEvenUsingReduceInto 161 160 -0.6% 1.01x (?)
FloatingPointPrinting_Double_description_small 21390 21455 +0.3% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 20864 21010 +0.7% 0.99x (?)
FloatingPointPrinting_Double_interpolated 61965 61504 -0.7% 1.01x (?)
FloatingPointPrinting_Float80_description_small 28326 28372 +0.2% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 27502 27574 +0.3% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 65478 65430 -0.1% 1.00x (?)
FloatingPointPrinting_Float_description_small 5532 5500 -0.6% 1.01x (?)
FloatingPointPrinting_Float_description_uniform 5382 5526 +2.7% 0.97x
FloatingPointPrinting_Float_interpolated 38830 38645 -0.5% 1.00x (?)
FrequenciesUsingReduce 4990 4850 -2.8% 1.03x (?)
FrequenciesUsingReduceInto 1521 1512 -0.6% 1.01x (?)
Hanoi 2114 2120 +0.3% 1.00x (?)
HashTest 951 942 -0.9% 1.01x (?)
Histogram 644 632 -1.9% 1.02x
Integrate 354 342 -3.4% 1.04x
Join 171 169 -1.2% 1.01x (?)
LazilyFilteredArrayContains 37848 36656 -3.1% 1.03x (?)
LazilyFilteredArrays 65732 66001 +0.4% 1.00x (?)
LazilyFilteredRange 3883 3879 -0.1% 1.00x (?)
LessSubstringSubstring 48 48 +0.0% 1.00x
LessSubstringSubstringGenericComparable 48 48 +0.0% 1.00x
LinkedList 7539 7523 -0.2% 1.00x (?)
LuhnAlgoEager 454 452 -0.4% 1.00x (?)
LuhnAlgoLazy 449 452 +0.7% 0.99x (?)
MapReduce 369 369 +0.0% 1.00x
MapReduceAnyCollection 370 370 +0.0% 1.00x
MapReduceAnyCollectionShort 2013 2029 +0.8% 0.99x (?)
MapReduceClass 3004 3009 +0.2% 1.00x (?)
MapReduceClassShort 4546 4572 +0.6% 0.99x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 37 37 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 455 456 +0.2% 1.00x (?)
MapReduceShort 2004 2016 +0.6% 0.99x (?)
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 48 48 +0.0% 1.00x
Memset 215 213 -0.9% 1.01x (?)
MonteCarloE 10335 10341 +0.1% 1.00x (?)
MonteCarloPi 42804 42790 -0.0% 1.00x (?)
NSDictionaryCastToSwift 6821 6806 -0.2% 1.00x (?)
NSError 164 166 +1.2% 0.99x (?)
NSStringConversion 704 702 -0.3% 1.00x (?)
NibbleSort 3446 3446 +0.0% 1.00x
NopDeinit 30153 30167 +0.0% 1.00x (?)
ObjectAllocation 131 132 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4588 4688 +2.2% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45435 46878 +3.2% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 43258 44056 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 48479 49913 +3.0% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4994 5013 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 67349 70390 +4.5% 0.96x (?)
ObjectiveCBridgeFromNSString 1229 1181 -3.9% 1.04x (?)
ObjectiveCBridgeFromNSStringForced 2688 2707 +0.7% 0.99x (?)
ObjectiveCBridgeStubDataAppend 6175 6236 +1.0% 0.99x (?)
ObjectiveCBridgeStubDateMutation 400 400 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 32657 33070 +1.3% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 6393 6513 +1.9% 0.98x (?)
ObjectiveCBridgeStubFromNSString 1035 1022 -1.3% 1.01x (?)
ObjectiveCBridgeStubFromNSStringRef 164 167 +1.8% 0.98x
ObjectiveCBridgeStubNSDataAppend 2526 2523 -0.1% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 12808 12593 -1.7% 1.02x (?)
ObjectiveCBridgeStubToArrayOfNSString 39296 39712 +1.1% 0.99x (?)
ObjectiveCBridgeStubToNSDate 14705 15475 +5.2% 0.95x (?)
ObjectiveCBridgeStubToNSDateRef 3418 3438 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSString 2344 2345 +0.0% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 118 121 +2.5% 0.98x (?)
ObjectiveCBridgeStubURLAppendPath 278436 272674 -2.1% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 272855 267242 -2.1% 1.02x (?)
ObjectiveCBridgeToNSArray 14958 14621 -2.3% 1.02x (?)
ObjectiveCBridgeToNSDictionary 26481 26879 +1.5% 0.99x (?)
ObjectiveCBridgeToNSSet 17516 17510 -0.0% 1.00x (?)
ObjectiveCBridgeToNSString 452 458 +1.3% 0.99x
ObserverClosure 2153 2122 -1.4% 1.01x (?)
ObserverForwarderStruct 1197 1187 -0.8% 1.01x (?)
ObserverPartiallyAppliedMethod 3720 3665 -1.5% 1.02x (?)
ObserverUnappliedMethod 2456 2475 +0.8% 0.99x (?)
OpaqueConsumingUsers 4179 4178 -0.0% 1.00x (?)
OpenClose 65 65 +0.0% 1.00x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 7086 7125 +0.6% 0.99x
PointerArithmetics 34336 34357 +0.1% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1805 1810 +0.3% 1.00x (?)
PopFrontArrayGeneric 1827 1831 +0.2% 1.00x (?)
PopFrontUnsafePointer 8744 8747 +0.0% 1.00x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 64051 64825 +1.2% 0.99x (?)
PrefixAnySeqCRangeIter 40 40 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 40 40 +0.0% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 1378 1378 +0.0% 1.00x
PrefixAnySequenceLazy 1378 1378 +0.0% 1.00x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 2222 2222 +0.0% 1.00x
PrefixSequenceLazy 2275 2274 -0.0% 1.00x (?)
PrefixWhileAnyCollection 146 146 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 71 71 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 386 387 +0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 89 89 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 142 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixWhileAnySequence 1536 1517 -1.2% 1.01x (?)
PrefixWhileAnySequenceLazy 1391 1390 -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 362 361 -0.3% 1.00x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 926 924 -0.2% 1.00x (?)
PrimsSplit 929 921 -0.9% 1.01x (?)
QueueConcrete 1147 1150 +0.3% 1.00x (?)
QueueGeneric 1134 1136 +0.2% 1.00x (?)
RGBHistogram 2607 2587 -0.8% 1.01x (?)
RGBHistogramOfObjects 20165 20174 +0.0% 1.00x (?)
Radix2CooleyTukey 12233 12285 +0.4% 1.00x (?)
Radix2CooleyTukeyf 8928 8940 +0.1% 1.00x (?)
RandomDoubleDef 26644 26751 +0.4% 1.00x
RandomDoubleLCG 2112 2175 +3.0% 0.97x
RandomIntegersDef 24376 24463 +0.4% 1.00x (?)
RandomIntegersLCG 173 173 +0.0% 1.00x
RandomShuffleDef 812611 812352 -0.0% 1.00x (?)
RandomShuffleLCG 57282 56723 -1.0% 1.01x (?)
RangeAssignment 352 352 +0.0% 1.00x
RangeIterationSigned 171 171 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 1066 1067 +0.1% 1.00x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 47 47 +0.0% 1.00x
RemoveWhereFilterString 247 243 -1.6% 1.02x
RemoveWhereFilterStrings 437 437 +0.0% 1.00x
RemoveWhereMoveInts 15 15 +0.0% 1.00x
RemoveWhereMoveStrings 708 709 +0.1% 1.00x (?)
RemoveWhereQuadraticInts 1293 1295 +0.2% 1.00x (?)
RemoveWhereQuadraticString 375 377 +0.5% 0.99x (?)
RemoveWhereQuadraticStrings 2758 2756 -0.1% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 860 854 -0.7% 1.01x (?)
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16674 16820 +0.9% 0.99x (?)
ReversedDictionary 264 265 +0.4% 1.00x (?)
RomanNumbers 84671 81793 -3.4% 1.04x
SequenceAlgosAnySequence 12145 12201 +0.5% 1.00x (?)
SequenceAlgosArray 1571 1564 -0.4% 1.00x (?)
SequenceAlgosContiguousArray 1577 1572 -0.3% 1.00x (?)
SequenceAlgosList 1349 1347 -0.1% 1.00x (?)
SequenceAlgosRange 2576 2575 -0.0% 1.00x (?)
SequenceAlgosUnfoldSequence 1102 1102 +0.0% 1.00x
SetExclusiveOr_OfObjects 11602 11773 +1.5% 0.99x (?)
SetIntersect 696 711 +2.2% 0.98x
SetIntersect_OfObjects 1720 1784 +3.7% 0.96x
SetIsSubsetOf 329 329 +0.0% 1.00x
SetIsSubsetOf_OfObjects 441 438 -0.7% 1.01x
SetUnion 4529 4330 -4.4% 1.05x
SetUnion_OfObjects 9978 10050 +0.7% 0.99x (?)
SevenBoom 840 844 +0.5% 1.00x (?)
SortLargeExistentials 5535 5707 +3.1% 0.97x
SortLettersInPlace 957 955 -0.2% 1.00x (?)
SortSortedStrings 687 702 +2.2% 0.98x
SortStrings 1477 1489 +0.8% 0.99x
SortStringsUnicode 2077 2060 -0.8% 1.01x (?)
StackPromo 25054 25097 +0.2% 1.00x (?)
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1780 1775 -0.3% 1.00x (?)
StrToInt 3380 3243 -4.1% 1.04x (?)
StringAdder 562 548 -2.5% 1.03x
StringBuilder 497 497 +0.0% 1.00x
StringBuilderLong 1248 1255 +0.6% 0.99x (?)
StringBuilderSmallReservingCapacity 507 507 +0.0% 1.00x
StringBuilderWithLongSubstring 1434 1430 -0.3% 1.00x (?)
StringComparison_abnormal 772 767 -0.6% 1.01x (?)
StringComparison_ascii 1000 1016 +1.6% 0.98x
StringComparison_emoji 853 859 +0.7% 0.99x
StringComparison_latin1 659 656 -0.5% 1.00x (?)
StringComparison_longSharedPrefix 952 956 +0.4% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 1674 1687 +0.8% 0.99x
StringComparison_slowerPrenormal 1796 1839 +2.4% 0.98x
StringComparison_zalgo 112622 112312 -0.3% 1.00x (?)
StringEdits 170181 169453 -0.4% 1.00x (?)
StringEnumRawValueInitialization 854 857 +0.4% 1.00x (?)
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2204 2204 +0.0% 1.00x
StringHasPrefixUnicode 99124 99965 +0.8% 0.99x (?)
StringHasSuffixAscii 2289 2290 +0.0% 1.00x (?)
StringHasSuffixUnicode 100170 100011 -0.2% 1.00x (?)
StringHashing_abnormal 1344 1358 +1.0% 0.99x (?)
StringHashing_ascii 33 33 +0.0% 1.00x
StringHashing_emoji 1904 1891 -0.7% 1.01x (?)
StringHashing_fastPrenormal 8391 8407 +0.2% 1.00x (?)
StringHashing_latin1 2566 2586 +0.8% 0.99x (?)
StringHashing_longSharedPrefix 7975 7746 -2.9% 1.03x (?)
StringHashing_nonBMPSlowestPrenormal 2120 2037 -3.9% 1.04x (?)
StringHashing_slowerPrenormal 2737 2741 +0.1% 1.00x (?)
StringHashing_zalgo 3499 3510 +0.3% 1.00x (?)
StringInterpolation 9174 9071 -1.1% 1.01x (?)
StringInterpolationManySmallSegments 18402 18224 -1.0% 1.01x (?)
StringInterpolationSmall 4309 4206 -2.4% 1.02x (?)
StringMatch 12016 12075 +0.5% 1.00x (?)
StringRemoveDupes 486 475 -2.3% 1.02x
StringUTF16Builder 2656 2628 -1.1% 1.01x (?)
StringUTF16SubstringBuilder 5952 5823 -2.2% 1.02x (?)
StringWalk 1544 1545 +0.1% 1.00x (?)
StringWithCString 123038 124708 +1.4% 0.99x
StringWordBuilder 2372 2273 -4.2% 1.04x
SubstringComparable 13 13 +0.0% 1.00x
SubstringEqualString 613 614 +0.2% 1.00x (?)
SubstringEquatable 1417 1447 +2.1% 0.98x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 74 74 +0.0% 1.00x
SuffixAnyCollection 52 52 +0.0% 1.00x
SuffixAnyCollectionLazy 21497 21647 +0.7% 0.99x (?)
SuffixAnySeqCRangeIter 3587 3605 +0.5% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3604 3613 +0.2% 1.00x (?)
SuffixAnySeqCntRange 24 24 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 24 24 +0.0% 1.00x
SuffixAnySequence 4908 4947 +0.8% 0.99x
SuffixAnySequenceLazy 4987 5068 +1.6% 0.98x
SuffixCountableRange 13 13 +0.0% 1.00x
SuffixCountableRangeLazy 18 18 +0.0% 1.00x
SuffixSequence 3605 3656 +1.4% 0.99x
SuffixSequenceLazy 3605 3649 +1.2% 0.99x (?)
SumUsingReduce 97 97 +0.0% 1.00x
SumUsingReduceInto 102 102 +0.0% 1.00x
SuperChars 20194 20038 -0.8% 1.01x
TwoSum 1486 1492 +0.4% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 298 312 +4.7% 0.96x
UTF8Decode_InitDecoding 1349 1352 +0.2% 1.00x (?)
UTF8Decode_InitDecoding_ascii 649 651 +0.3% 1.00x (?)
UTF8Decode_InitFromBytes 1172 1184 +1.0% 0.99x (?)
UTF8Decode_InitFromBytes_ascii 489 489 +0.0% 1.00x
UTF8Decode_InitFromData 1232 1238 +0.5% 1.00x (?)
UTF8Decode_InitFromData_ascii 681 712 +4.6% 0.96x (?)
Walsh 432 448 +3.7% 0.96x
WordCountHistogramASCII 6875 6821 -0.8% 1.01x (?)
WordCountHistogramUTF16 10147 10257 +1.1% 0.99x (?)
WordCountUniqueASCII 2054 2095 +2.0% 0.98x (?)
WordCountUniqueUTF16 4624 4616 -0.2% 1.00x (?)
WordSplitASCII 9894 9469 -4.3% 1.04x (?)
WordSplitUTF16 10889 11296 +3.7% 0.96x (?)
XorLoop 403 399 -1.0% 1.01x (?)

Unoptimized (Onone)

Regression (14)
TEST OLD NEW DELTA SPEEDUP
DictionaryBridgeToObjC_Access 1407 1776 +26.2% 0.79x
ArrayOfPOD 761 847 +11.3% 0.90x
DataAppendArray 5318 5842 +9.9% 0.91x (?)
DataAppendDataMediumToLarge 22189 24339 +9.7% 0.91x (?)
DictionaryRemove 17181 18487 +7.6% 0.93x
ObjectiveCBridgeFromNSSetAnyObjectToString 72404 77362 +6.8% 0.94x (?)
ObjectiveCBridgeToNSSet 18707 19973 +6.8% 0.94x (?)
StrComplexWalk 6833 7268 +6.4% 0.94x
ObjectiveCBridgeFromNSArrayAnyObject 28591 30389 +6.3% 0.94x (?)
COWArrayGuaranteedParameterOverhead 16322 17260 +5.7% 0.95x (?)
ObserverForwarderStruct 4145 4383 +5.7% 0.95x
DictionaryKeysContainsNative 54 57 +5.6% 0.95x (?)
FrequenciesUsingReduceInto 3209 3383 +5.4% 0.95x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 48556 51141 +5.3% 0.95x (?)
Improvement (25)
TEST OLD NEW DELTA SPEEDUP
PrefixWhileAnySequenceLazy 15442 11284 -26.9% 1.37x (?)
DropWhileAnySequenceLazy 17028 12539 -26.4% 1.36x
SetIntersect 7131 5454 -23.5% 1.31x
SetIsSubsetOf 1264 1043 -17.5% 1.21x
SetIntersect_OfObjects 11092 9357 -15.6% 1.19x
PrefixWhileAnySeqCRangeIterLazy 21635 18950 -12.4% 1.14x (?)
PrefixWhileAnySeqCntRangeLazy 21566 18975 -12.0% 1.14x (?)
PrefixWhileAnyCollectionLazy 21610 19081 -11.7% 1.13x (?)
DictionaryKeysContainsCocoa 70 62 -11.4% 1.13x (?)
DataCopyBytes 533 473 -11.3% 1.13x (?)
SetIsSubsetOf_OfObjects 2386 2122 -11.1% 1.12x
DropWhileAnySeqCntRangeLazy 25778 22999 -10.8% 1.12x (?)
DropWhileAnyCollectionLazy 25789 23058 -10.6% 1.12x (?)
SetUnion 11926 10688 -10.4% 1.12x
DropWhileAnySeqCRangeIterLazy 25829 23148 -10.4% 1.12x (?)
SetExclusiveOr 16718 15015 -10.2% 1.11x
ObjectiveCBridgeFromNSSetAnyObjectForced 6543 6022 -8.0% 1.09x (?)
SequenceAlgosAnySequence 14312 13437 -6.1% 1.07x
DataReplaceMedium 8199 7702 -6.1% 1.06x (?)
DictionaryCompactMapValuesOfNilValue 34885 32840 -5.9% 1.06x
ObjectiveCBridgeFromNSSetAnyObject 55832 52659 -5.7% 1.06x (?)
LessSubstringSubstring 72 68 -5.6% 1.06x (?)
DataMutateBytes 5366 5082 -5.3% 1.06x (?)
CharIndexing_ascii_unicodeScalars_Backwards 370271 351846 -5.0% 1.05x (?)
ObjectiveCBridgeStubURLAppendPathRef 296345 282232 -4.8% 1.05x (?)
No Changes (421)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5116 5020 -1.9% 1.02x (?)
AnyHashableWithAClass 107399 108071 +0.6% 0.99x (?)
Array2D 617794 621698 +0.6% 0.99x (?)
ArrayAppend 4551 4559 +0.2% 1.00x (?)
ArrayAppendArrayOfInt 871 869 -0.2% 1.00x (?)
ArrayAppendAscii 27152 27069 -0.3% 1.00x (?)
ArrayAppendAsciiSubstring 71188 70934 -0.4% 1.00x (?)
ArrayAppendFromGeneric 879 878 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1518 1523 +0.3% 1.00x (?)
ArrayAppendLatin1 66814 66117 -1.0% 1.01x (?)
ArrayAppendLatin1Substring 159393 160245 +0.5% 0.99x
ArrayAppendLazyMap 166845 166872 +0.0% 1.00x (?)
ArrayAppendOptionals 1526 1529 +0.2% 1.00x (?)
ArrayAppendRepeatCol 192475 191636 -0.4% 1.00x (?)
ArrayAppendReserved 4279 4278 -0.0% 1.00x (?)
ArrayAppendSequence 104115 104245 +0.1% 1.00x (?)
ArrayAppendStrings 6355 6351 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 875 880 +0.6% 0.99x (?)
ArrayAppendToGeneric 884 869 -1.7% 1.02x (?)
ArrayAppendUTF16 67069 66006 -1.6% 1.02x (?)
ArrayAppendUTF16Substring 156979 157948 +0.6% 0.99x
ArrayInClass 6350 6330 -0.3% 1.00x
ArrayLiteral 1790 1792 +0.1% 1.00x (?)
ArrayOfGenericPOD2 1130 1189 +5.2% 0.95x
ArrayOfGenericRef 10493 10525 +0.3% 1.00x (?)
ArrayOfRef 9630 9647 +0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 866 869 +0.3% 1.00x (?)
ArrayPlusEqualFiveElementCollection 236413 237524 +0.5% 1.00x (?)
ArrayPlusEqualSingleElementCollection 234137 234335 +0.1% 1.00x (?)
ArrayPlusEqualThreeElements 9729 9752 +0.2% 1.00x (?)
ArraySubscript 107234 108094 +0.8% 0.99x (?)
ArrayValueProp 3674 3686 +0.3% 1.00x (?)
ArrayValueProp2 15055 15038 -0.1% 1.00x (?)
ArrayValueProp3 4243 4266 +0.5% 0.99x (?)
ArrayValueProp4 4161 4180 +0.5% 1.00x (?)
BinaryFloatingPointPropertiesBinade 85 88 +3.5% 0.97x
BinaryFloatingPointPropertiesNextUp 134 133 -0.7% 1.01x
BinaryFloatingPointPropertiesUlp 135 130 -3.7% 1.04x
BitCount 9051 9272 +2.4% 0.98x
ByteSwap 9586 9729 +1.5% 0.99x (?)
COWTree 11950 11984 +0.3% 1.00x (?)
CSVParsing 2751407 2747227 -0.2% 1.00x (?)
CSVParsingAlt 1410987 1414432 +0.2% 1.00x (?)
CSVParsingAltIndices 2505483 2453648 -2.1% 1.02x (?)
CStringLongAscii 4123 4227 +2.5% 0.98x
CStringLongNonAscii 2587 2588 +0.0% 1.00x (?)
CStringShortAscii 6268 6125 -2.3% 1.02x (?)
Calculator 952 955 +0.3% 1.00x
CaptureProp 288756 284145 -1.6% 1.02x (?)
ChainedFilterMap 229556 230934 +0.6% 0.99x
CharIndexing_ascii_unicodeScalars 314211 316743 +0.8% 0.99x (?)
CharIndexing_chinese_unicodeScalars 238529 240370 +0.8% 0.99x (?)
CharIndexing_chinese_unicodeScalars_Backwards 273353 267893 -2.0% 1.02x (?)
CharIndexing_japanese_unicodeScalars 375963 377902 +0.5% 0.99x (?)
CharIndexing_japanese_unicodeScalars_Backwards 441486 422109 -4.4% 1.05x (?)
CharIndexing_korean_unicodeScalars 304770 308779 +1.3% 0.99x (?)
CharIndexing_korean_unicodeScalars_Backwards 346475 349452 +0.9% 0.99x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 56055 56210 +0.3% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 61889 62953 +1.7% 0.98x (?)
CharIndexing_punctuated_unicodeScalars 70168 70687 +0.7% 0.99x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 80580 79110 -1.8% 1.02x (?)
CharIndexing_russian_unicodeScalars 261574 263108 +0.6% 0.99x (?)
CharIndexing_russian_unicodeScalars_Backwards 308174 300163 -2.6% 1.03x (?)
CharIndexing_tweet_unicodeScalars 622334 625798 +0.6% 0.99x (?)
CharIndexing_tweet_unicodeScalars_Backwards 733798 698932 -4.8% 1.05x (?)
CharIndexing_utf16_unicodeScalars 276657 276567 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 304973 302318 -0.9% 1.01x (?)
CharIteration_ascii_unicodeScalars 147400 147518 +0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 250437 249090 -0.5% 1.01x (?)
CharIteration_chinese_unicodeScalars 111661 111699 +0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 190219 190074 -0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars 176642 176889 +0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 301015 300586 -0.1% 1.00x (?)
CharIteration_korean_unicodeScalars 143042 142714 -0.2% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 242914 243313 +0.2% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 26497 26412 -0.3% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 44030 43978 -0.1% 1.00x (?)
CharIteration_punctuated_unicodeScalars 33111 33196 +0.3% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 55539 55313 -0.4% 1.00x (?)
CharIteration_russian_unicodeScalars 122983 123039 +0.0% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 209486 207969 -0.7% 1.01x (?)
CharIteration_tweet_unicodeScalars 291532 291628 +0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 495306 495841 +0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars 125652 125364 -0.2% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 220157 217271 -1.3% 1.01x (?)
CharacterLiteralsLarge 5747 5793 +0.8% 0.99x (?)
CharacterLiteralsSmall 676 676 +0.0% 1.00x
CharacterPropertiesFetch 5556 5557 +0.0% 1.00x (?)
CharacterPropertiesPrecomputed 3694 3697 +0.1% 1.00x (?)
CharacterPropertiesStashed 2677 2701 +0.9% 0.99x (?)
CharacterPropertiesStashedMemo 4906 4874 -0.7% 1.01x (?)
Chars 35222 35150 -0.2% 1.00x (?)
ClassArrayGetter 963 964 +0.1% 1.00x (?)
Combos 2481 2488 +0.3% 1.00x (?)
DataAccessBytes 2337 2307 -1.3% 1.01x (?)
DataAppendBytes 5029 4969 -1.2% 1.01x (?)
DataAppendDataLargeToLarge 55471 55514 +0.1% 1.00x (?)
DataAppendDataLargeToMedium 35461 36015 +1.6% 0.98x (?)
DataAppendDataLargeToSmall 34501 35226 +2.1% 0.98x (?)
DataAppendDataMediumToMedium 6584 6657 +1.1% 0.99x (?)
DataAppendDataMediumToSmall 5979 5966 -0.2% 1.00x (?)
DataAppendDataSmallToLarge 22152 21973 -0.8% 1.01x (?)
DataAppendDataSmallToMedium 6241 6246 +0.1% 1.00x (?)
DataAppendDataSmallToSmall 5788 6015 +3.9% 0.96x (?)
DataAppendSequence 1982357 1989839 +0.4% 1.00x (?)
DataCount 223 223 +0.0% 1.00x
DataReplaceLarge 36870 36648 -0.6% 1.01x (?)
DataReplaceLargeBuffer 58534 58607 +0.1% 1.00x (?)
DataReplaceMediumBuffer 13510 12968 -4.0% 1.04x
DataReplaceSmall 5701 5501 -3.5% 1.04x (?)
DataReplaceSmallBuffer 9061 8895 -1.8% 1.02x (?)
DataReset 2854 2915 +2.1% 0.98x (?)
DataSetCount 584 564 -3.4% 1.04x (?)
DataSubscript 443 443 +0.0% 1.00x
DictOfArraysToArrayOfDicts 3718 3683 -0.9% 1.01x (?)
Dictionary 2159 2141 -0.8% 1.01x (?)
Dictionary2 1275 1290 +1.2% 0.99x
Dictionary2OfObjects 4194 4183 -0.3% 1.00x (?)
Dictionary3 841 841 +0.0% 1.00x
Dictionary3OfObjects 2102 2094 -0.4% 1.00x (?)
Dictionary4 1191 1189 -0.2% 1.00x (?)
Dictionary4Legacy 1463 1467 +0.3% 1.00x (?)
Dictionary4OfObjects 1797 1867 +3.9% 0.96x (?)
Dictionary4OfObjectsLegacy 2059 2069 +0.5% 1.00x (?)
DictionaryBridge 1334 1312 -1.6% 1.02x (?)
DictionaryBridgeToObjC_Bridge 19 19 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 166 167 +0.6% 0.99x (?)
DictionaryCompactMapValuesOfCastValue 126475 123020 -2.7% 1.03x (?)
DictionaryCopy 314478 311676 -0.9% 1.01x (?)
DictionaryFilter 326243 312407 -4.2% 1.04x
DictionaryGroup 4445 4454 +0.2% 1.00x (?)
DictionaryGroupOfObjects 7027 6945 -1.2% 1.01x (?)
DictionaryLiteral 9074 8687 -4.3% 1.04x (?)
DictionaryOfObjects 5841 5843 +0.0% 1.00x (?)
DictionaryRemoveOfObjects 52996 54027 +1.9% 0.98x (?)
DictionarySubscriptDefaultMutation 1959 1971 +0.6% 0.99x (?)
DictionarySubscriptDefaultMutationArray 2214 2236 +1.0% 0.99x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9463 9550 +0.9% 0.99x (?)
DictionarySubscriptDefaultMutationOfObjects 5436 5393 -0.8% 1.01x (?)
DictionarySwap 4859 4919 +1.2% 0.99x (?)
DictionarySwapAt 33698 33804 +0.3% 1.00x (?)
DictionarySwapAtOfObjects 112785 113076 +0.3% 1.00x (?)
DictionarySwapOfObjects 19078 19836 +4.0% 0.96x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 15877 15851 -0.2% 1.00x (?)
DropFirstAnyCollectionLazy 110576 111481 +0.8% 0.99x (?)
DropFirstAnySeqCRangeIter 24372 24447 +0.3% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 24239 24440 +0.8% 0.99x (?)
DropFirstAnySeqCntRange 15957 15843 -0.7% 1.01x (?)
DropFirstAnySeqCntRangeLazy 15991 15833 -1.0% 1.01x
DropFirstAnySequence 13074 13195 +0.9% 0.99x (?)
DropFirstAnySequenceLazy 13158 13189 +0.2% 1.00x (?)
DropFirstArray 3655 3496 -4.4% 1.05x
DropFirstArrayLazy 29746 29562 -0.6% 1.01x (?)
DropFirstCountableRange 350 351 +0.3% 1.00x
DropFirstCountableRangeLazy 35655 35477 -0.5% 1.01x
DropFirstSequence 12686 12683 -0.0% 1.00x (?)
DropFirstSequenceLazy 12706 12842 +1.1% 0.99x (?)
DropLastAnyCollection 8557 8651 +1.1% 0.99x (?)
DropLastAnyCollectionLazy 37791 36810 -2.6% 1.03x (?)
DropLastAnySeqCRangeIter 39985 40266 +0.7% 0.99x (?)
DropLastAnySeqCRangeIterLazy 39983 39846 -0.3% 1.00x (?)
DropLastAnySeqCntRange 8542 8604 +0.7% 0.99x (?)
DropLastAnySeqCntRangeLazy 8566 8595 +0.3% 1.00x (?)
DropLastAnySequence 29554 29877 +1.1% 0.99x (?)
DropLastAnySequenceLazy 29821 29758 -0.2% 1.00x (?)
DropLastCountableRange 3371 3458 +2.6% 0.97x (?)
DropLastCountableRangeLazy 15195 15240 +0.3% 1.00x (?)
DropLastSequence 29708 29948 +0.8% 0.99x (?)
DropLastSequenceLazy 29561 29499 -0.2% 1.00x (?)
DropWhileAnyCollection 20766 20593 -0.8% 1.01x
DropWhileAnySeqCRangeIter 25092 25207 +0.5% 1.00x (?)
DropWhileAnySeqCntRange 20680 20570 -0.5% 1.01x (?)
DropWhileAnySequence 13816 13876 +0.4% 1.00x (?)
DropWhileArrayLazy 13756 13718 -0.3% 1.00x
DropWhileCountableRange 5103 5042 -1.2% 1.01x
DropWhileCountableRangeLazy 22636 22680 +0.2% 1.00x (?)
DropWhileSequence 13455 13402 -0.4% 1.00x (?)
DropWhileSequenceLazy 12139 12155 +0.1% 1.00x (?)
EqualStringSubstring 71 72 +1.4% 0.99x
EqualSubstringString 71 72 +1.4% 0.99x
EqualSubstringSubstring 72 73 +1.4% 0.99x
EqualSubstringSubstringGenericEquatable 58 57 -1.7% 1.02x
ErrorHandling 5197 5292 +1.8% 0.98x (?)
ExclusivityGlobal 183 189 +3.3% 0.97x
ExclusivityIndependent 74 72 -2.7% 1.03x
FatCompactMap 289130 291069 +0.7% 0.99x (?)
FilterEvenUsingReduce 3559 3533 -0.7% 1.01x (?)
FilterEvenUsingReduceInto 1834 1839 +0.3% 1.00x (?)
FloatingPointPrinting_Double_description_small 22109 22337 +1.0% 0.99x
FloatingPointPrinting_Double_description_uniform 33734 34065 +1.0% 0.99x (?)
FloatingPointPrinting_Double_interpolated 94154 98624 +4.7% 0.95x (?)
FloatingPointPrinting_Float80_description_small 29351 29384 +0.1% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 56720 57038 +0.6% 0.99x (?)
FloatingPointPrinting_Float80_interpolated 115261 115914 +0.6% 0.99x (?)
FloatingPointPrinting_Float_description_small 6535 6652 +1.8% 0.98x
FloatingPointPrinting_Float_description_uniform 17226 17161 -0.4% 1.00x
FloatingPointPrinting_Float_interpolated 69340 69518 +0.3% 1.00x (?)
FrequenciesUsingReduce 10657 10846 +1.8% 0.98x (?)
Hanoi 19527 19281 -1.3% 1.01x (?)
HashTest 20550 20849 +1.5% 0.99x (?)
Histogram 6317 6341 +0.4% 1.00x (?)
Integrate 587 588 +0.2% 1.00x
IterateData 5028 4980 -1.0% 1.01x (?)
Join 190 188 -1.1% 1.01x
LazilyFilteredArrayContains 735477 749158 +1.9% 0.98x
LazilyFilteredArrays 1415741 1414474 -0.1% 1.00x (?)
LazilyFilteredRange 548717 547946 -0.1% 1.00x (?)
LessSubstringSubstringGenericComparable 58 57 -1.7% 1.02x
LinkedList 32607 32579 -0.1% 1.00x (?)
LuhnAlgoEager 5597 5627 +0.5% 0.99x (?)
LuhnAlgoLazy 5960 6016 +0.9% 0.99x (?)
MapReduce 24904 24919 +0.1% 1.00x (?)
MapReduceAnyCollection 25319 24878 -1.7% 1.02x
MapReduceAnyCollectionShort 36126 35699 -1.2% 1.01x (?)
MapReduceClass 29016 28971 -0.2% 1.00x (?)
MapReduceClassShort 40045 39985 -0.1% 1.00x (?)
MapReduceLazyCollection 22519 22479 -0.2% 1.00x (?)
MapReduceLazyCollectionShort 36206 35849 -1.0% 1.01x (?)
MapReduceLazySequence 20347 20620 +1.3% 0.99x (?)
MapReduceSequence 30837 30491 -1.1% 1.01x
MapReduceShort 36541 36257 -0.8% 1.01x (?)
MapReduceShortString 221 224 +1.4% 0.99x (?)
MapReduceString 1715 1720 +0.3% 1.00x (?)
Memset 45046 45023 -0.1% 1.00x (?)
MonteCarloE 1136766 1144967 +0.7% 0.99x (?)
MonteCarloPi 5190340 5222543 +0.6% 0.99x
NSDictionaryCastToSwift 8181 8135 -0.6% 1.01x (?)
NSError 588 605 +2.9% 0.97x (?)
NSStringConversion 754 741 -1.7% 1.02x (?)
NibbleSort 519679 523874 +0.8% 0.99x
NopDeinit 189208 191891 +1.4% 0.99x
ObjectAllocation 1258 1254 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 9345 9405 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 48413 48947 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 116967 115948 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSString 2902 2933 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSStringForced 2827 2834 +0.2% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6687 6705 +0.3% 1.00x (?)
ObjectiveCBridgeStubDateMutation 744 745 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromArrayOfNSString 34700 34237 -1.3% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 7306 7234 -1.0% 1.01x (?)
ObjectiveCBridgeStubFromNSString 1085 1073 -1.1% 1.01x (?)
ObjectiveCBridgeStubFromNSStringRef 194 196 +1.0% 0.99x (?)
ObjectiveCBridgeStubNSDataAppend 2991 2964 -0.9% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 15958 15774 -1.2% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 40289 39572 -1.8% 1.02x (?)
ObjectiveCBridgeStubToNSDate 15499 16016 +3.3% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3498 3463 -1.0% 1.01x
ObjectiveCBridgeStubToNSString 2423 2421 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 150 151 +0.7% 0.99x
ObjectiveCBridgeStubURLAppendPath 296648 284472 -4.1% 1.04x (?)
ObjectiveCBridgeToNSArray 15461 15266 -1.3% 1.01x (?)
ObjectiveCBridgeToNSDictionary 29343 29649 +1.0% 0.99x (?)
ObjectiveCBridgeToNSString 536 539 +0.6% 0.99x (?)
ObserverClosure 6372 6534 +2.5% 0.98x (?)
ObserverPartiallyAppliedMethod 7924 8113 +2.4% 0.98x
ObserverUnappliedMethod 7827 8054 +2.9% 0.97x (?)
OpaqueConsumingUsers 13416 13416 +0.0% 1.00x
OpenClose 523 532 +1.7% 0.98x
PartialApplyDynamicType 43549 43006 -1.2% 1.01x (?)
Phonebook 16024 15885 -0.9% 1.01x
PointerArithmetics 377212 379813 +0.7% 0.99x
PolymorphicCalls 2529 2488 -1.6% 1.02x
PopFrontArray 4469 4441 -0.6% 1.01x (?)
PopFrontArrayGeneric 5658 5704 +0.8% 0.99x (?)
PopFrontUnsafePointer 12215 12165 -0.4% 1.00x (?)
PrefixAnyCollection 15881 15861 -0.1% 1.00x (?)
PrefixAnyCollectionLazy 111503 107256 -3.8% 1.04x (?)
PrefixAnySeqCRangeIter 19368 19493 +0.6% 0.99x (?)
PrefixAnySeqCRangeIterLazy 19239 19525 +1.5% 0.99x (?)
PrefixAnySeqCntRange 15917 15879 -0.2% 1.00x (?)
PrefixAnySeqCntRangeLazy 16025 15854 -1.1% 1.01x
PrefixAnySequence 10709 10686 -0.2% 1.00x (?)
PrefixAnySequenceLazy 10664 10666 +0.0% 1.00x (?)
PrefixArray 3543 3522 -0.6% 1.01x (?)
PrefixArrayLazy 29738 29550 -0.6% 1.01x (?)
PrefixCountableRange 349 351 +0.6% 0.99x (?)
PrefixCountableRangeLazy 35623 35446 -0.5% 1.00x
PrefixSequence 10170 10330 +1.6% 0.98x
PrefixSequenceLazy 10298 10278 -0.2% 1.00x (?)
PrefixWhileAnyCollection 30007 29829 -0.6% 1.01x (?)
PrefixWhileAnySeqCRangeIter 33875 33965 +0.3% 1.00x (?)
PrefixWhileAnySeqCntRange 29901 29740 -0.5% 1.01x
PrefixWhileAnySequence 26049 26084 +0.1% 1.00x (?)
PrefixWhileArray 10411 10308 -1.0% 1.01x
PrefixWhileArrayLazy 12102 12086 -0.1% 1.00x (?)
PrefixWhileCountableRange 14452 14289 -1.1% 1.01x
PrefixWhileCountableRangeLazy 18813 18692 -0.6% 1.01x
PrefixWhileSequence 25622 25764 +0.6% 0.99x (?)
PrefixWhileSequenceLazy 10890 10896 +0.1% 1.00x (?)
Prims 9189 9160 -0.3% 1.00x (?)
PrimsSplit 9248 9245 -0.0% 1.00x (?)
QueueConcrete 14008 14082 +0.5% 0.99x (?)
QueueGeneric 18495 18350 -0.8% 1.01x (?)
RC4 16298 16393 +0.6% 0.99x
RGBHistogram 22940 23047 +0.5% 1.00x (?)
RGBHistogramOfObjects 82046 79645 -2.9% 1.03x (?)
Radix2CooleyTukey 46794 47051 +0.5% 0.99x
Radix2CooleyTukeyf 40568 40961 +1.0% 0.99x
RandomDoubleDef 92015 90897 -1.2% 1.01x (?)
RandomDoubleLCG 59819 61158 +2.2% 0.98x (?)
RandomIntegersDef 44028 44062 +0.1% 1.00x (?)
RandomIntegersLCG 32706 33053 +1.1% 0.99x
RandomShuffleDef 2182794 2186038 +0.1% 1.00x (?)
RandomShuffleLCG 1435189 1442137 +0.5% 1.00x (?)
RangeAssignment 2778 2786 +0.3% 1.00x (?)
RangeIterationSigned 14533 14658 +0.9% 0.99x (?)
RangeReplaceableCollectionPlusDefault 11659 11377 -2.4% 1.02x (?)
RecursiveOwnedParameter 6158 6186 +0.5% 1.00x (?)
RemoveWhereFilterInts 2065 2065 +0.0% 1.00x
RemoveWhereFilterString 1351 1342 -0.7% 1.01x
RemoveWhereFilterStrings 2613 2588 -1.0% 1.01x
RemoveWhereMoveInts 3333 3337 +0.1% 1.00x (?)
RemoveWhereMoveStrings 3883 3899 +0.4% 1.00x
RemoveWhereQuadraticInts 8480 8495 +0.2% 1.00x (?)
RemoveWhereQuadraticString 2587 2598 +0.4% 1.00x (?)
RemoveWhereQuadraticStrings 10126 10110 -0.2% 1.00x (?)
RemoveWhereSwapInts 5996 6048 +0.9% 0.99x
RemoveWhereSwapStrings 6723 6736 +0.2% 1.00x (?)
ReversedArray 12721 12869 +1.2% 0.99x
ReversedBidirectional 44632 45408 +1.7% 0.98x
ReversedDictionary 23673 23678 +0.0% 1.00x (?)
RomanNumbers 1326166 1385264 +4.5% 0.96x
SequenceAlgosArray 738298 734011 -0.6% 1.01x
SequenceAlgosContiguousArray 300006 299520 -0.2% 1.00x (?)
SequenceAlgosList 8748 8879 +1.5% 0.99x
SequenceAlgosRange 1350742 1317110 -2.5% 1.03x (?)
SequenceAlgosUnfoldSequence 6610 6617 +0.1% 1.00x (?)
SetExclusiveOr_OfObjects 42203 41681 -1.2% 1.01x (?)
SetUnion_OfObjects 30063 29047 -3.4% 1.03x
SevenBoom 1024 1034 +1.0% 0.99x (?)
Sim2DArray 43814 43862 +0.1% 1.00x
SortLargeExistentials 9630 9676 +0.5% 1.00x (?)
SortLettersInPlace 1582 1564 -1.1% 1.01x (?)
SortSortedStrings 898 886 -1.3% 1.01x
SortStrings 1850 1831 -1.0% 1.01x
SortStringsUnicode 2807 2710 -3.5% 1.04x
StackPromo 91476 93385 +2.1% 0.98x (?)
StaticArray 2665 2608 -2.1% 1.02x (?)
StrToInt 83017 80063 -3.6% 1.04x (?)
StringAdder 710 743 +4.6% 0.96x (?)
StringBuilder 5077 5048 -0.6% 1.01x (?)
StringBuilderLong 1596 1556 -2.5% 1.03x (?)
StringBuilderSmallReservingCapacity 5073 5068 -0.1% 1.00x (?)
StringBuilderWithLongSubstring 3288 3317 +0.9% 0.99x (?)
StringComparison_abnormal 1311 1348 +2.8% 0.97x (?)
StringComparison_ascii 8835 8837 +0.0% 1.00x (?)
StringComparison_emoji 1968 1973 +0.3% 1.00x (?)
StringComparison_fastPrenormal 4849 4804 -0.9% 1.01x
StringComparison_latin1 3781 3750 -0.8% 1.01x
StringComparison_longSharedPrefix 2346 2341 -0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3640 3661 +0.6% 0.99x
StringComparison_slowerPrenormal 4099 4148 +1.2% 0.99x (?)
StringComparison_zalgo 113742 115247 +1.3% 0.99x (?)
StringEdits 360037 367738 +2.1% 0.98x (?)
StringEnumRawValueInitialization 21107 20876 -1.1% 1.01x
StringEqualPointerComparison 1665 1694 +1.7% 0.98x
StringFromLongWholeSubstring 22 22 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 198 200 +1.0% 0.99x (?)
StringHasPrefixAscii 3240 3154 -2.7% 1.03x
StringHasPrefixUnicode 99518 100707 +1.2% 0.99x
StringHasSuffixAscii 3284 3280 -0.1% 1.00x (?)
StringHasSuffixUnicode 101679 101748 +0.1% 1.00x (?)
StringHashing_abnormal 1445 1469 +1.7% 0.98x
StringHashing_ascii 212 208 -1.9% 1.02x
StringHashing_emoji 2147 2111 -1.7% 1.02x (?)
StringHashing_fastPrenormal 8694 8702 +0.1% 1.00x (?)
StringHashing_latin1 2795 2812 +0.6% 0.99x (?)
StringHashing_longSharedPrefix 8137 7957 -2.2% 1.02x
StringHashing_nonBMPSlowestPrenormal 2435 2339 -3.9% 1.04x (?)
StringHashing_slowerPrenormal 2931 2981 +1.7% 0.98x (?)
StringHashing_zalgo 3603 3609 +0.2% 1.00x (?)
StringInterpolation 12331 12015 -2.6% 1.03x (?)
StringInterpolationManySmallSegments 18686 18934 +1.3% 0.99x (?)
StringInterpolationSmall 5972 6008 +0.6% 0.99x
StringMatch 38546 38439 -0.3% 1.00x (?)
StringRemoveDupes 739 742 +0.4% 1.00x
StringUTF16Builder 7938 7848 -1.1% 1.01x (?)
StringUTF16SubstringBuilder 21299 21301 +0.0% 1.00x (?)
StringWalk 12855 12502 -2.7% 1.03x (?)
StringWithCString 41311 43311 +4.8% 0.95x
StringWordBuilder 2512 2516 +0.2% 1.00x (?)
StringWordBuilderReservingCapacity 2027 1988 -1.9% 1.02x
SubstringComparable 1580 1585 +0.3% 1.00x
SubstringEqualString 1726 1714 -0.7% 1.01x
SubstringEquatable 5411 5430 +0.4% 1.00x (?)
SubstringFromLongString 15 15 +0.0% 1.00x
SubstringFromLongStringGeneric 105 105 +0.0% 1.00x
SuffixAnyCollection 6388 6403 +0.2% 1.00x (?)
SuffixAnyCollectionLazy 36559 36365 -0.5% 1.01x (?)
SuffixAnySeqCRangeIter 36081 36237 +0.4% 1.00x (?)
SuffixAnySeqCRangeIterLazy 35894 36032 +0.4% 1.00x (?)
SuffixAnySeqCntRange 6372 6409 +0.6% 0.99x (?)
SuffixAnySeqCntRangeLazy 6408 6406 -0.0% 1.00x (?)
SuffixAnySequence 25470 25568 +0.4% 1.00x (?)
SuffixAnySequenceLazy 26890 26714 -0.7% 1.01x
SuffixCountableRange 1199 1230 +2.6% 0.97x
SuffixCountableRangeLazy 12995 12961 -0.3% 1.00x (?)
SuffixSequence 26392 26521 +0.5% 1.00x
SuffixSequenceLazy 25539 25536 -0.0% 1.00x (?)
SumUsingReduce 159052 156027 -1.9% 1.02x
SumUsingReduceInto 152309 150077 -1.5% 1.01x
SuperChars 93026 92784 -0.3% 1.00x (?)
TwoSum 3751 3807 +1.5% 0.99x (?)
TypeFlood 198 203 +2.5% 0.98x (?)
UTF8Decode 29379 29381 +0.0% 1.00x (?)
UTF8Decode_InitDecoding 1405 1410 +0.4% 1.00x (?)
UTF8Decode_InitDecoding_ascii 926 943 +1.8% 0.98x (?)
UTF8Decode_InitFromBytes 1186 1203 +1.4% 0.99x (?)
UTF8Decode_InitFromBytes_ascii 529 523 -1.1% 1.01x (?)
UTF8Decode_InitFromData 1282 1256 -2.0% 1.02x (?)
UTF8Decode_InitFromData_ascii 729 760 +4.3% 0.96x (?)
Walsh 12417 12463 +0.4% 1.00x (?)
WordCountHistogramASCII 36457 36568 +0.3% 1.00x
WordCountHistogramUTF16 41513 41656 +0.3% 1.00x (?)
WordCountUniqueASCII 6961 6891 -1.0% 1.01x
WordCountUniqueUTF16 9625 9697 +0.7% 0.99x (?)
WordSplitASCII 13909 13513 -2.8% 1.03x (?)
WordSplitUTF16 15557 15096 -3.0% 1.03x (?)
XorLoop 23798 23809 +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

@lorentey
Copy link
Member Author

@swift-ci please test

@lorentey
Copy link
Member Author

@swift-ci test

@lorentey
Copy link
Member Author

@swift-ci benchmark

@lorentey
Copy link
Member Author

The DictionaryRemove benchmark regression looks legit: the compiler decided not to inline some _UnsafeBitmap members. Bitmap operations should always be inlined; I expect that enforcing this will fix the regression.

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - b89f2df355897db15e8c63e85b3590ec69eaeac2

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - b89f2df355897db15e8c63e85b3590ec69eaeac2

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (13)
TEST OLD NEW DELTA SPEEDUP
DictionaryRemove 4258 5711 +34.1% 0.75x
RangeIterationSigned 171 200 +17.0% 0.86x
ReversedArray2 172 200 +16.3% 0.86x
PointerArithmetics 31483 34353 +9.1% 0.92x
DataCount 34 37 +8.8% 0.92x
Calculator 191 206 +7.9% 0.93x
MapReduceAnyCollection 370 399 +7.8% 0.93x
MapReduce 370 398 +7.6% 0.93x
UTF8Decode_InitFromData_ascii 653 697 +6.7% 0.94x (?)
StringComparison_fastPrenormal 846 903 +6.7% 0.94x
BinaryFloatingPointPropertiesUlp 35 37 +5.7% 0.95x
NopDeinit 30159 31833 +5.6% 0.95x
RemoveWhereFilterString 236 249 +5.5% 0.95x
Improvement (15)
TEST OLD NEW DELTA SPEEDUP
BinaryFloatingPointPropertiesBinade 31 25 -19.4% 1.24x
DictionaryCompactMapValuesOfCastValue 14434 11831 -18.0% 1.22x
Dictionary4 378 314 -16.9% 1.20x
Chars 1096 917 -16.3% 1.20x
ChainedFilterMap 1408 1246 -11.5% 1.13x
FatCompactMap 1407 1246 -11.4% 1.13x
Dictionary4OfObjects 486 434 -10.7% 1.12x
IterateData 1611 1446 -10.2% 1.11x
Sim2DArray 664 599 -9.8% 1.11x
UTF8Decode_InitFromBytes_ascii 518 477 -7.9% 1.09x (?)
StringUTF16SubstringBuilder 5974 5541 -7.2% 1.08x (?)
RemoveWhereMoveInts 15 14 -6.7% 1.07x
DropLastCountableRangeLazy 16 15 -6.2% 1.07x
MapReduceLazyCollectionShort 36 34 -5.6% 1.06x
SumUsingReduceInto 102 97 -4.9% 1.05x
No Changes (431)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3787 3796 +0.2% 1.00x (?)
AnyHashableWithAClass 91047 91430 +0.4% 1.00x (?)
Array2D 2718 2719 +0.0% 1.00x (?)
ArrayAppend 1081 1108 +2.5% 0.98x
ArrayAppendArrayOfInt 798 789 -1.1% 1.01x (?)
ArrayAppendAscii 3817 3865 +1.3% 0.99x (?)
ArrayAppendAsciiSubstring 25294 25001 -1.2% 1.01x
ArrayAppendFromGeneric 798 788 -1.3% 1.01x (?)
ArrayAppendGenericStructs 1430 1422 -0.6% 1.01x (?)
ArrayAppendLatin1 42036 41927 -0.3% 1.00x (?)
ArrayAppendLatin1Substring 140085 139196 -0.6% 1.01x
ArrayAppendLazyMap 1338 1329 -0.7% 1.01x (?)
ArrayAppendOptionals 1402 1425 +1.6% 0.98x (?)
ArrayAppendRepeatCol 1335 1337 +0.1% 1.00x (?)
ArrayAppendReserved 809 839 +3.7% 0.96x
ArrayAppendSequence 1116 1120 +0.4% 1.00x (?)
ArrayAppendStrings 6326 6204 -1.9% 1.02x
ArrayAppendToFromGeneric 799 798 -0.1% 1.00x (?)
ArrayAppendToGeneric 790 796 +0.8% 0.99x (?)
ArrayAppendUTF16 41576 41264 -0.8% 1.01x (?)
ArrayAppendUTF16Substring 138594 138079 -0.4% 1.00x
ArrayInClass 88 86 -2.3% 1.02x (?)
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 152 152 +0.0% 1.00x
ArrayOfGenericRef 4333 4344 +0.3% 1.00x (?)
ArrayOfPOD 185 185 +0.0% 1.00x
ArrayOfRef 4325 4318 -0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 795 797 +0.3% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5436 5547 +2.0% 0.98x
ArrayPlusEqualSingleElementCollection 1080 1110 +2.8% 0.97x
ArrayPlusEqualThreeElements 1658 1652 -0.4% 1.00x (?)
ArraySubscript 1571 1548 -1.5% 1.01x (?)
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 104 -1.9% 1.02x
COWArrayGuaranteedParameterOverhead 10140 10073 -0.7% 1.01x (?)
COWTree 3630 3624 -0.2% 1.00x (?)
CSVParsing2 1622 1621 -0.1% 1.00x (?)
CSVParsingAlt2 1771 1772 +0.1% 1.00x (?)
CSVParsingAltIndices2 774 778 +0.5% 0.99x (?)
CStringLongAscii 4195 4195 +0.0% 1.00x
CStringLongNonAscii 2428 2366 -2.6% 1.03x
CStringShortAscii 3334 3335 +0.0% 1.00x (?)
CaptureProp 4103 4036 -1.6% 1.02x
CharIndexing_ascii_unicodeScalars 16077 16079 +0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 16445 16446 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 12181 12178 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12456 12450 -0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars 19239 19245 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19683 19687 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars 15589 15590 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 15949 15949 +0.0% 1.00x
CharIndexing_punctuatedJapanese_unicodeScalars 2921 2925 +0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2976 2974 -0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 3651 3654 +0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3726 3722 -0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars 13395 13401 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 13705 13709 +0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 31097 31119 +0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 32251 32233 -0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars 22690 22638 -0.2% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 23724 23664 -0.3% 1.00x (?)
CharIteration_ascii_unicodeScalars 20415 20403 -0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 15583 15581 -0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars 15440 15457 +0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 11803 11799 -0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars 24460 24442 -0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 18659 18655 -0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 19786 19796 +0.1% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 15108 15105 -0.0% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3665 3660 -0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2826 2822 -0.1% 1.00x (?)
CharIteration_punctuated_unicodeScalars 4584 4591 +0.2% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 3534 3532 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars 16987 17001 +0.1% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 12987 12985 -0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars 40084 40630 +1.4% 0.99x
CharIteration_tweet_unicodeScalars_Backwards 30770 30777 +0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars 27745 27903 +0.6% 0.99x
CharIteration_utf16_unicodeScalars_Backwards 19528 19187 -1.7% 1.02x
CharacterLiteralsLarge 5875 5859 -0.3% 1.00x (?)
CharacterLiteralsSmall 220 217 -1.4% 1.01x
CharacterPropertiesFetch 4593 4582 -0.2% 1.00x (?)
CharacterPropertiesPrecomputed 992 1013 +2.1% 0.98x (?)
CharacterPropertiesStashed 1787 1774 -0.7% 1.01x (?)
CharacterPropertiesStashedMemo 1535 1546 +0.7% 0.99x (?)
ClassArrayGetter2 124 124 +0.0% 1.00x
Combos 498 495 -0.6% 1.01x (?)
DataAccessBytes 1142 1144 +0.2% 1.00x (?)
DataAppendArray 5374 5313 -1.1% 1.01x (?)
DataAppendBytes 5201 5058 -2.7% 1.03x (?)
DataAppendDataLargeToLarge 66729 66651 -0.1% 1.00x (?)
DataAppendDataLargeToMedium 35072 35285 +0.6% 0.99x (?)
DataAppendDataLargeToSmall 34247 34296 +0.1% 1.00x (?)
DataAppendDataMediumToLarge 37671 37792 +0.3% 1.00x (?)
DataAppendDataMediumToMedium 6421 6414 -0.1% 1.00x (?)
DataAppendDataMediumToSmall 5875 5849 -0.4% 1.00x (?)
DataAppendDataSmallToLarge 36930 36685 -0.7% 1.01x (?)
DataAppendDataSmallToMedium 6066 6231 +2.7% 0.97x (?)
DataAppendDataSmallToSmall 5774 5710 -1.1% 1.01x (?)
DataAppendSequence 20668 20858 +0.9% 0.99x (?)
DataCopyBytes 460 457 -0.7% 1.01x (?)
DataMutateBytes 3899 3845 -1.4% 1.01x (?)
DataReplaceLarge 36709 36402 -0.8% 1.01x (?)
DataReplaceLargeBuffer 58985 58090 -1.5% 1.02x (?)
DataReplaceMedium 7848 7660 -2.4% 1.02x (?)
DataReplaceMediumBuffer 12040 11894 -1.2% 1.01x (?)
DataReplaceSmall 5724 5590 -2.3% 1.02x (?)
DataReplaceSmallBuffer 9578 9439 -1.5% 1.01x (?)
DataReset 2826 2818 -0.3% 1.00x (?)
DataSetCount 549 549 +0.0% 1.00x
DataSubscript 220 220 +0.0% 1.00x
DictOfArraysToArrayOfDicts 811 807 -0.5% 1.00x (?)
Dictionary 524 513 -2.1% 1.02x (?)
Dictionary2 643 645 +0.3% 1.00x (?)
Dictionary2OfObjects 2083 2080 -0.1% 1.00x (?)
Dictionary3 223 224 +0.4% 1.00x (?)
Dictionary3OfObjects 742 737 -0.7% 1.01x (?)
Dictionary4Legacy 693 676 -2.5% 1.03x
Dictionary4OfObjectsLegacy 907 898 -1.0% 1.01x (?)
DictionaryBridge 1206 1215 +0.7% 0.99x (?)
DictionaryBridgeToObjC_Access 924 917 -0.8% 1.01x (?)
DictionaryBridgeToObjC_Bridge 19 19 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 161 164 +1.9% 0.98x (?)
DictionaryCompactMapValuesOfNilValue 7233 7055 -2.5% 1.03x (?)
DictionaryCopy 106679 107131 +0.4% 1.00x (?)
DictionaryFilter 107924 106947 -0.9% 1.01x (?)
DictionaryGroup 216 214 -0.9% 1.01x (?)
DictionaryGroupOfObjects 2116 2105 -0.5% 1.01x (?)
DictionaryKeysContainsCocoa 39 38 -2.6% 1.03x (?)
DictionaryKeysContainsNative 31 31 +0.0% 1.00x
DictionaryLiteral 1917 1907 -0.5% 1.01x (?)
DictionaryOfObjects 2379 2371 -0.3% 1.00x (?)
DictionaryRemoveOfObjects 25913 25530 -1.5% 1.02x (?)
DictionarySubscriptDefaultMutation 262 264 +0.8% 0.99x (?)
DictionarySubscriptDefaultMutationArray 617 609 -1.3% 1.01x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 4035 4002 -0.8% 1.01x (?)
DictionarySubscriptDefaultMutationOfObjects 1715 1700 -0.9% 1.01x (?)
DictionarySwap 1030 1044 +1.4% 0.99x
DictionarySwapAt 7566 7412 -2.0% 1.02x (?)
DictionarySwapAtOfObjects 52183 52029 -0.3% 1.00x (?)
DictionarySwapOfObjects 8767 8781 +0.2% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 65051 64966 -0.1% 1.00x (?)
DropFirstAnySeqCRangeIter 93 93 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 93 93 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1841 1842 +0.1% 1.00x (?)
DropFirstAnySequenceLazy 1841 1842 +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 2680 2680 +0.0% 1.00x
DropFirstSequenceLazy 2767 2774 +0.3% 1.00x (?)
DropLastAnyCollection 99 98 -1.0% 1.01x
DropLastAnyCollectionLazy 21740 21657 -0.4% 1.00x (?)
DropLastAnySeqCRangeIter 3337 3338 +0.0% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3338 3337 -0.0% 1.00x (?)
DropLastAnySeqCntRange 21 20 -4.8% 1.05x
DropLastAnySeqCntRangeLazy 21 20 -4.8% 1.05x
DropLastAnySequence 4972 4955 -0.3% 1.00x (?)
DropLastAnySequenceLazy 5062 5053 -0.2% 1.00x (?)
DropLastCountableRange 15 15 +0.0% 1.00x
DropLastSequence 674 642 -4.7% 1.05x
DropLastSequenceLazy 674 643 -4.6% 1.05x
DropWhileAnyCollection 100 100 +0.0% 1.00x
DropWhileAnyCollectionLazy 130 130 +0.0% 1.00x
DropWhileAnySeqCRangeIter 76 76 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 130 130 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 130 130 +0.0% 1.00x
DropWhileAnySequence 1860 1860 +0.0% 1.00x
DropWhileAnySequenceLazy 1854 1854 +0.0% 1.00x
DropWhileArrayLazy 88 88 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 105 105 +0.0% 1.00x
DropWhileSequence 2220 2219 -0.0% 1.00x (?)
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 48 49 +2.1% 0.98x
EqualSubstringString 48 48 +0.0% 1.00x
EqualSubstringSubstring 48 48 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 48 48 +0.0% 1.00x
ErrorHandling 1211 1202 -0.7% 1.01x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1330 1335 +0.4% 1.00x (?)
FilterEvenUsingReduceInto 161 161 +0.0% 1.00x
FloatingPointPrinting_Double_description_small 21535 21581 +0.2% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 21071 21160 +0.4% 1.00x (?)
FloatingPointPrinting_Double_interpolated 62852 61265 -2.5% 1.03x (?)
FloatingPointPrinting_Float80_description_small 28283 28416 +0.5% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 27660 27624 -0.1% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 65808 64673 -1.7% 1.02x (?)
FloatingPointPrinting_Float_description_small 5365 5373 +0.1% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 5359 5252 -2.0% 1.02x
FloatingPointPrinting_Float_interpolated 37536 37725 +0.5% 0.99x (?)
FrequenciesUsingReduce 5088 5010 -1.5% 1.02x (?)
FrequenciesUsingReduceInto 1548 1533 -1.0% 1.01x (?)
Hanoi 2154 2169 +0.7% 0.99x (?)
HashTest 949 948 -0.1% 1.00x (?)
Histogram 637 642 +0.8% 0.99x
Integrate 334 342 +2.4% 0.98x
Join 157 156 -0.6% 1.01x (?)
LazilyFilteredArrayContains 36262 36651 +1.1% 0.99x (?)
LazilyFilteredArrays2 4620 4627 +0.2% 1.00x (?)
LazilyFilteredRange 3870 3873 +0.1% 1.00x (?)
LessSubstringSubstring 48 48 +0.0% 1.00x
LessSubstringSubstringGenericComparable 48 48 +0.0% 1.00x
LinkedList 7538 7558 +0.3% 1.00x (?)
LuhnAlgoEager 443 443 +0.0% 1.00x
LuhnAlgoLazy 441 442 +0.2% 1.00x (?)
MapReduceAnyCollectionShort 2019 2049 +1.5% 0.99x (?)
MapReduceClass 2994 2995 +0.0% 1.00x (?)
MapReduceClassShort 4567 4567 +0.0% 1.00x
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 456 460 +0.9% 0.99x (?)
MapReduceShort 2030 1992 -1.9% 1.02x
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 47 48 +2.1% 0.98x (?)
Memset 217 215 -0.9% 1.01x (?)
MonteCarloE 10334 10226 -1.0% 1.01x (?)
MonteCarloPi 42777 42734 -0.1% 1.00x (?)
NSDictionaryCastToSwift 7059 7156 +1.4% 0.99x (?)
NSError 163 165 +1.2% 0.99x (?)
NSStringConversion 700 698 -0.3% 1.00x (?)
NibbleSort 3448 3460 +0.3% 1.00x (?)
ObjectAllocation 133 132 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 26122 25801 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4810 4583 -4.7% 1.05x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 47194 45542 -3.5% 1.04x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 43615 43376 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 111130 112834 +1.5% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 49005 49907 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5085 5178 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 69605 68332 -1.8% 1.02x (?)
ObjectiveCBridgeFromNSString 1204 1236 +2.7% 0.97x (?)
ObjectiveCBridgeFromNSStringForced 2733 2723 -0.4% 1.00x (?)
ObjectiveCBridgeStubDataAppend 6213 6149 -1.0% 1.01x (?)
ObjectiveCBridgeStubDateMutation 400 400 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 34057 33914 -0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 6446 6543 +1.5% 0.99x (?)
ObjectiveCBridgeStubFromNSString 1060 1016 -4.2% 1.04x (?)
ObjectiveCBridgeStubFromNSStringRef 170 167 -1.8% 1.02x
ObjectiveCBridgeStubNSDataAppend 2540 2562 +0.9% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 13001 12657 -2.6% 1.03x (?)
ObjectiveCBridgeStubToArrayOfNSString 39956 39186 -1.9% 1.02x (?)
ObjectiveCBridgeStubToNSDate 15212 15100 -0.7% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3436 3432 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 2341 2343 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 121 124 +2.5% 0.98x
ObjectiveCBridgeStubURLAppendPath 271941 269875 -0.8% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 277389 277184 -0.1% 1.00x (?)
ObjectiveCBridgeToNSArray 14728 14744 +0.1% 1.00x (?)
ObjectiveCBridgeToNSDictionary 26776 27001 +0.8% 0.99x (?)
ObjectiveCBridgeToNSSet 17362 17095 -1.5% 1.02x (?)
ObjectiveCBridgeToNSString 458 453 -1.1% 1.01x (?)
ObserverClosure 2173 2152 -1.0% 1.01x
ObserverForwarderStruct 1198 1199 +0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 3771 3711 -1.6% 1.02x (?)
ObserverUnappliedMethod 2450 2447 -0.1% 1.00x (?)
OpaqueConsumingUsers 4178 4178 +0.0% 1.00x
OpenClose 65 65 +0.0% 1.00x
Phonebook 7142 7269 +1.8% 0.98x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1821 1789 -1.8% 1.02x (?)
PopFrontArrayGeneric 1825 1813 -0.7% 1.01x (?)
PopFrontUnsafePointer 8656 8667 +0.1% 1.00x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 65001 65014 +0.0% 1.00x (?)
PrefixAnySeqCRangeIter 40 40 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 40 40 +0.0% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 1378 1378 +0.0% 1.00x
PrefixAnySequenceLazy 1378 1378 +0.0% 1.00x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 2223 2222 -0.0% 1.00x (?)
PrefixSequenceLazy 2274 2275 +0.0% 1.00x (?)
PrefixWhileAnyCollection 146 146 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 71 71 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 387 385 -0.5% 1.01x (?)
PrefixWhileAnySeqCRangeIterLazy 89 89 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 142 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixWhileAnySequence 1539 1537 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1390 1391 +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 362 361 -0.3% 1.00x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 928 924 -0.4% 1.00x (?)
PrimsSplit 930 935 +0.5% 0.99x (?)
QueueConcrete 1150 1150 +0.0% 1.00x
QueueGeneric 1137 1133 -0.4% 1.00x (?)
RC4 160 161 +0.6% 0.99x (?)
RGBHistogram 2597 2574 -0.9% 1.01x (?)
RGBHistogramOfObjects 20196 20234 +0.2% 1.00x (?)
Radix2CooleyTukey 12403 12418 +0.1% 1.00x (?)
Radix2CooleyTukeyf 8950 8942 -0.1% 1.00x (?)
RandomDoubleDef 26853 26649 -0.8% 1.01x
RandomDoubleLCG 2204 2202 -0.1% 1.00x (?)
RandomIntegersDef 24428 24338 -0.4% 1.00x (?)
RandomIntegersLCG 173 173 +0.0% 1.00x
RandomShuffleDef2 2585 2600 +0.6% 0.99x (?)
RandomShuffleLCG2 1806 1805 -0.1% 1.00x (?)
RangeAssignment 351 337 -4.0% 1.04x (?)
RangeReplaceableCollectionPlusDefault 1071 1074 +0.3% 1.00x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 47 46 -2.1% 1.02x
RemoveWhereFilterStrings 439 437 -0.5% 1.00x (?)
RemoveWhereMoveStrings 708 709 +0.1% 1.00x (?)
RemoveWhereQuadraticInts 1295 1292 -0.2% 1.00x (?)
RemoveWhereQuadraticString 372 371 -0.3% 1.00x (?)
RemoveWhereQuadraticStrings 2759 2759 +0.0% 1.00x
RemoveWhereSwapInts 19 20 +5.3% 0.95x
RemoveWhereSwapStrings 861 861 +0.0% 1.00x
ReversedBidirectional 14196 14054 -1.0% 1.01x (?)
ReversedDictionary2 317 316 -0.3% 1.00x
RomanNumbers 86380 85642 -0.9% 1.01x (?)
SequenceAlgosAnySequence 12476 12257 -1.8% 1.02x
SequenceAlgosArray 1577 1575 -0.1% 1.00x (?)
SequenceAlgosContiguousArray 1576 1572 -0.3% 1.00x (?)
SequenceAlgosList 1353 1356 +0.2% 1.00x (?)
SequenceAlgosRange 2576 2576 +0.0% 1.00x
SequenceAlgosUnfoldSequence 1102 1102 +0.0% 1.00x
SetExclusiveOr 5084 5101 +0.3% 1.00x (?)
SetExclusiveOr_OfObjects 11545 11528 -0.1% 1.00x (?)
SetIntersect 693 703 +1.4% 0.99x (?)
SetIntersect_OfObjects 1693 1753 +3.5% 0.97x
SetIsSubsetOf 328 329 +0.3% 1.00x (?)
SetIsSubsetOf_OfObjects 443 439 -0.9% 1.01x
SetUnion 4385 4529 +3.3% 0.97x
SetUnion_OfObjects 9991 10018 +0.3% 1.00x (?)
SevenBoom 834 841 +0.8% 0.99x (?)
SortLargeExistentials 5530 5507 -0.4% 1.00x (?)
SortLettersInPlace 957 954 -0.3% 1.00x (?)
SortSortedStrings 686 699 +1.9% 0.98x
SortStrings 1479 1509 +2.0% 0.98x
SortStringsUnicode 2140 2176 +1.7% 0.98x
StackPromo 24293 24486 +0.8% 0.99x (?)
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1780 1780 +0.0% 1.00x
StrToInt 3301 3372 +2.2% 0.98x
StringAdder 552 551 -0.2% 1.00x (?)
StringBuilder 496 496 +0.0% 1.00x
StringBuilderLong 1223 1216 -0.6% 1.01x (?)
StringBuilderSmallReservingCapacity 506 506 +0.0% 1.00x
StringBuilderWithLongSubstring 1433 1432 -0.1% 1.00x (?)
StringComparison_abnormal 763 763 +0.0% 1.00x
StringComparison_ascii 996 1029 +3.3% 0.97x
StringComparison_emoji 866 849 -2.0% 1.02x (?)
StringComparison_latin1 662 671 +1.4% 0.99x
StringComparison_longSharedPrefix 956 957 +0.1% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 1707 1675 -1.9% 1.02x
StringComparison_slowerPrenormal 1815 1827 +0.7% 0.99x (?)
StringComparison_zalgo 113533 112613 -0.8% 1.01x (?)
StringEdits 167365 166750 -0.4% 1.00x (?)
StringEnumRawValueInitialization 864 854 -1.2% 1.01x
StringEqualPointerComparison 314 314 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2204 2233 +1.3% 0.99x
StringHasPrefixUnicode 99999 99811 -0.2% 1.00x (?)
StringHasSuffixAscii 2290 2261 -1.3% 1.01x
StringHasSuffixUnicode 99836 100532 +0.7% 0.99x (?)
StringHashing_abnormal 1340 1401 +4.6% 0.96x (?)
StringHashing_ascii 34 34 +0.0% 1.00x
StringHashing_emoji 1900 1902 +0.1% 1.00x (?)
StringHashing_fastPrenormal 8355 8330 -0.3% 1.00x (?)
StringHashing_latin1 2553 2542 -0.4% 1.00x (?)
StringHashing_longSharedPrefix 7993 7925 -0.9% 1.01x (?)
StringHashing_nonBMPSlowestPrenormal 2089 2085 -0.2% 1.00x (?)
StringHashing_slowerPrenormal 2722 2729 +0.3% 1.00x (?)
StringHashing_zalgo 3496 3490 -0.2% 1.00x (?)
StringInterpolation 9215 8806 -4.4% 1.05x (?)
StringInterpolationManySmallSegments 17606 17628 +0.1% 1.00x (?)
StringInterpolationSmall 4017 4040 +0.6% 0.99x (?)
StringMatch 12215 12184 -0.3% 1.00x (?)
StringRemoveDupes 479 486 +1.5% 0.99x (?)
StringUTF16Builder 2559 2536 -0.9% 1.01x (?)
StringWalk 1553 1558 +0.3% 1.00x
StringWithCString2 2068 2067 -0.0% 1.00x (?)
StringWordBuilder 2263 2256 -0.3% 1.00x (?)
StringWordBuilderReservingCapacity 1644 1624 -1.2% 1.01x (?)
SubstringComparable 13 13 +0.0% 1.00x
SubstringEqualString 602 609 +1.2% 0.99x (?)
SubstringEquatable 1399 1454 +3.9% 0.96x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 74 74 +0.0% 1.00x
SuffixAnyCollection 52 51 -1.9% 1.02x
SuffixAnyCollectionLazy 21713 21693 -0.1% 1.00x (?)
SuffixAnySeqCRangeIter 3624 3622 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3627 3635 +0.2% 1.00x (?)
SuffixAnySeqCntRange 24 24 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 24 24 +0.0% 1.00x
SuffixAnySequence 4915 4927 +0.2% 1.00x (?)
SuffixAnySequenceLazy 5020 5012 -0.2% 1.00x (?)
SuffixCountableRange 13 13 +0.0% 1.00x
SuffixCountableRangeLazy 18 18 +0.0% 1.00x
SuffixSequence 3623 3624 +0.0% 1.00x (?)
SuffixSequenceLazy 3616 3629 +0.4% 1.00x (?)
SumUsingReduce 97 101 +4.1% 0.96x
SuperChars 19301 19262 -0.2% 1.00x (?)
TwoSum 1464 1470 +0.4% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 312 313 +0.3% 1.00x (?)
UTF8Decode_InitDecoding 1350 1363 +1.0% 0.99x (?)
UTF8Decode_InitDecoding_ascii 650 650 +0.0% 1.00x
UTF8Decode_InitFromBytes 1178 1181 +0.3% 1.00x (?)
UTF8Decode_InitFromData 1256 1238 -1.4% 1.01x (?)
Walsh 444 445 +0.2% 1.00x (?)
WordCountHistogramASCII 6867 6950 +1.2% 0.99x (?)
WordCountHistogramUTF16 10334 10444 +1.1% 0.99x (?)
WordCountUniqueASCII 2101 2089 -0.6% 1.01x (?)
WordCountUniqueUTF16 4690 4622 -1.4% 1.01x (?)
WordSplitASCII 9763 9953 +1.9% 0.98x (?)
WordSplitUTF16 10768 11205 +4.1% 0.96x (?)
XorLoop 401 401 +0.0% 1.00x

Unoptimized (Onone)

Regression (14)
TEST OLD NEW DELTA SPEEDUP
DictionaryKeysContainsCocoa 63 70 +11.1% 0.90x (?)
StringBuilderWithLongSubstring 3282 3626 +10.5% 0.91x (?)
BinaryFloatingPointPropertiesBinade 88 97 +10.2% 0.91x
StringInterpolationSmall 5912 6434 +8.8% 0.92x (?)
CharIndexing_russian_unicodeScalars_Backwards 303239 329629 +8.7% 0.92x
FloatingPointPrinting_Double_interpolated 93605 100896 +7.8% 0.93x (?)
LuhnAlgoLazy 5709 6122 +7.2% 0.93x
StringBuilder 5050 5383 +6.6% 0.94x (?)
NSError 605 642 +6.1% 0.94x (?)
COWArrayGuaranteedParameterOverhead 15862 16786 +5.8% 0.94x (?)
CharIndexing_ascii_unicodeScalars_Backwards 375104 396918 +5.8% 0.95x
LuhnAlgoEager 5563 5878 +5.7% 0.95x
ObjectiveCBridgeFromNSArrayAnyObject 28692 30299 +5.6% 0.95x (?)
DictionaryRemove 17008 17933 +5.4% 0.95x
Improvement (28)
TEST OLD NEW DELTA SPEEDUP
SetIntersect 7123 5332 -25.1% 1.34x
SetIsSubsetOf 1256 1038 -17.4% 1.21x
SetIntersect_OfObjects 11073 9240 -16.6% 1.20x
ObjectiveCBridgeStubFromNSDate 8363 7312 -12.6% 1.14x
CharacterPropertiesStashedMemo 5675 4991 -12.1% 1.14x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 6900 6146 -10.9% 1.12x (?)
SetIsSubsetOf_OfObjects 2340 2088 -10.8% 1.12x
SetUnion 11870 10670 -10.1% 1.11x
SetExclusiveOr 16605 14966 -9.9% 1.11x
ArrayOfPOD 844 761 -9.8% 1.11x
UTF8Decode_InitFromData_ascii 774 698 -9.8% 1.11x (?)
UTF8Decode_InitFromBytes_ascii 529 483 -8.7% 1.10x (?)
DataReplaceSmallBuffer 10616 9742 -8.2% 1.09x (?)
ArrayPlusEqualThreeElements 10787 9914 -8.1% 1.09x (?)
Dictionary4OfObjects 1910 1762 -7.7% 1.08x
DictionaryCompactMapValuesOfNilValue 34953 32547 -6.9% 1.07x
RomanNumbers 1443754 1355760 -6.1% 1.06x
DictionaryBridgeToObjC_Access 1693 1590 -6.1% 1.06x (?)
DataReplaceSmall 5861 5513 -5.9% 1.06x
ExclusivityGlobal 194 183 -5.7% 1.06x
COWTree 12312 11624 -5.6% 1.06x (?)
NSDictionaryCastToSwift 8709 8231 -5.5% 1.06x (?)
Combos 2662 2519 -5.4% 1.06x (?)
StringUTF16SubstringBuilder 22840 21636 -5.3% 1.06x (?)
DictionaryFilter 325996 309177 -5.2% 1.05x
SetUnion_OfObjects 30253 28720 -5.1% 1.05x (?)
CharacterPropertiesPrecomputed 3818 3634 -4.8% 1.05x (?)
FloatingPointPrinting_Float_interpolated 70041 66666 -4.8% 1.05x (?)
No Changes (417)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5230 5261 +0.6% 0.99x (?)
AnyHashableWithAClass 107428 107912 +0.5% 1.00x (?)
Array2D 591898 592885 +0.2% 1.00x (?)
ArrayAppend 4554 4549 -0.1% 1.00x (?)
ArrayAppendArrayOfInt 875 875 +0.0% 1.00x
ArrayAppendAscii 27046 27017 -0.1% 1.00x (?)
ArrayAppendAsciiSubstring 71814 72075 +0.4% 1.00x (?)
ArrayAppendFromGeneric 881 868 -1.5% 1.01x (?)
ArrayAppendGenericStructs 1524 1501 -1.5% 1.02x (?)
ArrayAppendLatin1 66615 66690 +0.1% 1.00x (?)
ArrayAppendLatin1Substring 161029 160765 -0.2% 1.00x (?)
ArrayAppendLazyMap 166906 169468 +1.5% 0.98x
ArrayAppendOptionals 1524 1535 +0.7% 0.99x (?)
ArrayAppendRepeatCol 196298 191929 -2.2% 1.02x
ArrayAppendReserved 4278 4281 +0.1% 1.00x (?)
ArrayAppendSequence 105223 103032 -2.1% 1.02x
ArrayAppendStrings 6470 6389 -1.3% 1.01x
ArrayAppendToFromGeneric 881 886 +0.6% 0.99x (?)
ArrayAppendToGeneric 887 875 -1.4% 1.01x (?)
ArrayAppendUTF16 66290 66228 -0.1% 1.00x (?)
ArrayAppendUTF16Substring 159456 158885 -0.4% 1.00x (?)
ArrayInClass 6256 6245 -0.2% 1.00x (?)
ArrayLiteral 1791 1788 -0.2% 1.00x (?)
ArrayOfGenericPOD2 1129 1126 -0.3% 1.00x (?)
ArrayOfGenericRef 10306 10254 -0.5% 1.01x (?)
ArrayOfRef 9478 9477 -0.0% 1.00x (?)
ArrayPlusEqualArrayOfInt 883 884 +0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 237355 238011 +0.3% 1.00x (?)
ArrayPlusEqualSingleElementCollection 234940 234984 +0.0% 1.00x (?)
ArraySubscript 108830 109948 +1.0% 0.99x
ArrayValueProp 3641 3636 -0.1% 1.00x (?)
ArrayValueProp2 14979 14983 +0.0% 1.00x (?)
ArrayValueProp3 4157 4150 -0.2% 1.00x (?)
ArrayValueProp4 4091 4106 +0.4% 1.00x (?)
BinaryFloatingPointPropertiesNextUp 133 140 +5.3% 0.95x
BinaryFloatingPointPropertiesUlp 137 134 -2.2% 1.02x
BitCount 8724 8939 +2.5% 0.98x
ByteSwap 9814 9606 -2.1% 1.02x
CSVParsing2 6887 6759 -1.9% 1.02x (?)
CSVParsingAlt2 3282 3245 -1.1% 1.01x (?)
CSVParsingAltIndices2 6404 6166 -3.7% 1.04x
CStringLongAscii 4275 4357 +1.9% 0.98x
CStringLongNonAscii 2534 2469 -2.6% 1.03x (?)
CStringShortAscii 6080 6100 +0.3% 1.00x (?)
Calculator 945 972 +2.9% 0.97x
CaptureProp 290006 283579 -2.2% 1.02x (?)
ChainedFilterMap 229689 228074 -0.7% 1.01x (?)
CharIndexing_ascii_unicodeScalars 327953 326400 -0.5% 1.00x (?)
CharIndexing_chinese_unicodeScalars 247594 242583 -2.0% 1.02x (?)
CharIndexing_chinese_unicodeScalars_Backwards 273266 273499 +0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars 391808 400195 +2.1% 0.98x (?)
CharIndexing_japanese_unicodeScalars_Backwards 433651 427691 -1.4% 1.01x (?)
CharIndexing_korean_unicodeScalars 322652 309107 -4.2% 1.04x (?)
CharIndexing_korean_unicodeScalars_Backwards 351984 348062 -1.1% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 58026 57995 -0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 62877 65909 +4.8% 0.95x
CharIndexing_punctuated_unicodeScalars 72448 71483 -1.3% 1.01x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 79373 78240 -1.4% 1.01x (?)
CharIndexing_russian_unicodeScalars 272232 267856 -1.6% 1.02x (?)
CharIndexing_tweet_unicodeScalars 642712 639468 -0.5% 1.01x (?)
CharIndexing_tweet_unicodeScalars_Backwards 740083 741657 +0.2% 1.00x (?)
CharIndexing_utf16_unicodeScalars 284456 291309 +2.4% 0.98x (?)
CharIndexing_utf16_unicodeScalars_Backwards 315391 305365 -3.2% 1.03x (?)
CharIteration_ascii_unicodeScalars 148177 148224 +0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 248047 248495 +0.2% 1.00x (?)
CharIteration_chinese_unicodeScalars 112107 112095 -0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 187392 187538 +0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars 177316 176488 -0.5% 1.00x
CharIteration_japanese_unicodeScalars_Backwards 296895 297541 +0.2% 1.00x (?)
CharIteration_korean_unicodeScalars 144068 143228 -0.6% 1.01x (?)
CharIteration_korean_unicodeScalars_Backwards 240128 241225 +0.5% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 26477 26587 +0.4% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 43499 43589 +0.2% 1.00x (?)
CharIteration_punctuated_unicodeScalars 33200 33169 -0.1% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 54866 55038 +0.3% 1.00x (?)
CharIteration_russian_unicodeScalars 123417 122722 -0.6% 1.01x
CharIteration_russian_unicodeScalars_Backwards 206350 207445 +0.5% 0.99x (?)
CharIteration_tweet_unicodeScalars 292555 290875 -0.6% 1.01x (?)
CharIteration_tweet_unicodeScalars_Backwards 490567 495221 +0.9% 0.99x (?)
CharIteration_utf16_unicodeScalars 126415 126217 -0.2% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 216394 216228 -0.1% 1.00x (?)
CharacterLiteralsLarge 5781 5779 -0.0% 1.00x (?)
CharacterLiteralsSmall 679 702 +3.4% 0.97x
CharacterPropertiesFetch 5537 5721 +3.3% 0.97x (?)
CharacterPropertiesStashed 2710 2716 +0.2% 1.00x (?)
Chars 32848 32778 -0.2% 1.00x
ClassArrayGetter2 9488 9503 +0.2% 1.00x (?)
DataAccessBytes 2358 2283 -3.2% 1.03x
DataAppendArray 5506 5549 +0.8% 0.99x (?)
DataAppendBytes 5278 5281 +0.1% 1.00x (?)
DataAppendDataLargeToLarge 68499 69043 +0.8% 0.99x (?)
DataAppendDataLargeToMedium 35211 35379 +0.5% 1.00x (?)
DataAppendDataLargeToSmall 34712 35124 +1.2% 0.99x (?)
DataAppendDataMediumToLarge 38021 38021 +0.0% 1.00x
DataAppendDataMediumToMedium 6655 6806 +2.3% 0.98x (?)
DataAppendDataMediumToSmall 5929 6136 +3.5% 0.97x
DataAppendDataSmallToLarge 36774 37312 +1.5% 0.99x (?)
DataAppendDataSmallToMedium 6110 6415 +5.0% 0.95x
DataAppendDataSmallToSmall 6210 6040 -2.7% 1.03x (?)
DataAppendSequence 2007716 1983490 -1.2% 1.01x
DataCopyBytes 544 543 -0.2% 1.00x
DataCount 223 224 +0.4% 1.00x
DataMutateBytes 5138 5215 +1.5% 0.99x (?)
DataReplaceLarge 36694 36316 -1.0% 1.01x (?)
DataReplaceLargeBuffer 58858 59307 +0.8% 0.99x (?)
DataReplaceMedium 7960 8124 +2.1% 0.98x (?)
DataReplaceMediumBuffer 12955 13287 +2.6% 0.98x (?)
DataReset 2851 2906 +1.9% 0.98x (?)
DataSetCount 575 566 -1.6% 1.02x (?)
DataSubscript 443 444 +0.2% 1.00x
DictOfArraysToArrayOfDicts 3822 3764 -1.5% 1.02x (?)
Dictionary 2156 2154 -0.1% 1.00x (?)
Dictionary2 1279 1281 +0.2% 1.00x (?)
Dictionary2OfObjects 4218 4200 -0.4% 1.00x (?)
Dictionary3 849 845 -0.5% 1.00x (?)
Dictionary3OfObjects 2091 2074 -0.8% 1.01x (?)
Dictionary4 1203 1194 -0.7% 1.01x
Dictionary4Legacy 1448 1440 -0.6% 1.01x (?)
Dictionary4OfObjectsLegacy 2159 2131 -1.3% 1.01x (?)
DictionaryBridge 1329 1339 +0.8% 0.99x (?)
DictionaryBridgeToObjC_Bridge 19 19 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 167 166 -0.6% 1.01x (?)
DictionaryCompactMapValuesOfCastValue 127810 127534 -0.2% 1.00x (?)
DictionaryCopy 313182 309220 -1.3% 1.01x
DictionaryGroup 4480 4451 -0.6% 1.01x (?)
DictionaryGroupOfObjects 6901 6846 -0.8% 1.01x (?)
DictionaryKeysContainsNative 54 53 -1.9% 1.02x (?)
DictionaryLiteral 8595 8678 +1.0% 0.99x (?)
DictionaryOfObjects 5804 5726 -1.3% 1.01x (?)
DictionaryRemoveOfObjects 53159 54264 +2.1% 0.98x (?)
DictionarySubscriptDefaultMutation 1979 1967 -0.6% 1.01x (?)
DictionarySubscriptDefaultMutationArray 2230 2220 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9375 9351 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 5245 5249 +0.1% 1.00x (?)
DictionarySwap 4864 4867 +0.1% 1.00x (?)
DictionarySwapAt 34677 33814 -2.5% 1.03x (?)
DictionarySwapAtOfObjects 113122 112687 -0.4% 1.00x (?)
DictionarySwapOfObjects 19286 19109 -0.9% 1.01x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 16211 15955 -1.6% 1.02x
DropFirstAnyCollectionLazy 107934 107124 -0.8% 1.01x (?)
DropFirstAnySeqCRangeIter 24588 24191 -1.6% 1.02x
DropFirstAnySeqCRangeIterLazy 24748 24161 -2.4% 1.02x
DropFirstAnySeqCntRange 16185 15783 -2.5% 1.03x
DropFirstAnySeqCntRangeLazy 16049 15864 -1.2% 1.01x
DropFirstAnySequence 12837 12909 +0.6% 0.99x (?)
DropFirstAnySequenceLazy 13013 12837 -1.4% 1.01x
DropFirstArray 3463 3523 +1.7% 0.98x
DropFirstArrayLazy 30230 30097 -0.4% 1.00x (?)
DropFirstCountableRange 345 345 +0.0% 1.00x
DropFirstCountableRangeLazy 36318 35798 -1.4% 1.01x (?)
DropFirstSequence 12497 12542 +0.4% 1.00x (?)
DropFirstSequenceLazy 12554 12491 -0.5% 1.01x (?)
DropLastAnyCollection 8734 8597 -1.6% 1.02x (?)
DropLastAnyCollectionLazy 35765 35478 -0.8% 1.01x (?)
DropLastAnySeqCRangeIter 40182 40037 -0.4% 1.00x (?)
DropLastAnySeqCRangeIterLazy 40280 39958 -0.8% 1.01x (?)
DropLastAnySeqCntRange 8814 8631 -2.1% 1.02x
DropLastAnySeqCntRangeLazy 8662 8562 -1.2% 1.01x
DropLastAnySequence 29275 29883 +2.1% 0.98x
DropLastAnySequenceLazy 29337 29388 +0.2% 1.00x (?)
DropLastCountableRange 3388 3444 +1.7% 0.98x
DropLastCountableRangeLazy 15671 15379 -1.9% 1.02x (?)
DropLastSequence 29362 29332 -0.1% 1.00x (?)
DropLastSequenceLazy 29191 29447 +0.9% 0.99x (?)
DropWhileAnyCollection 20835 20623 -1.0% 1.01x
DropWhileAnyCollectionLazy 23460 23276 -0.8% 1.01x
DropWhileAnySeqCRangeIter 25650 25294 -1.4% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 23294 23187 -0.5% 1.00x (?)
DropWhileAnySeqCntRange 20815 20454 -1.7% 1.02x
DropWhileAnySeqCntRangeLazy 23420 23072 -1.5% 1.02x
DropWhileAnySequence 13704 13651 -0.4% 1.00x (?)
DropWhileAnySequenceLazy 12397 12806 +3.3% 0.97x
DropWhileArrayLazy 13750 13699 -0.4% 1.00x (?)
DropWhileCountableRange 5094 5034 -1.2% 1.01x
DropWhileCountableRangeLazy 23056 22693 -1.6% 1.02x
DropWhileSequence 13376 13267 -0.8% 1.01x (?)
DropWhileSequenceLazy 12432 12060 -3.0% 1.03x
EqualStringSubstring 72 72 +0.0% 1.00x
EqualSubstringString 72 72 +0.0% 1.00x
EqualSubstringSubstring 72 72 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 56 57 +1.8% 0.98x
ErrorHandling 5470 5347 -2.2% 1.02x (?)
ExclusivityIndependent 74 72 -2.7% 1.03x (?)
FatCompactMap 289116 290138 +0.4% 1.00x (?)
FilterEvenUsingReduce 3592 3567 -0.7% 1.01x (?)
FilterEvenUsingReduceInto 1839 1845 +0.3% 1.00x (?)
FloatingPointPrinting_Double_description_small 22348 22190 -0.7% 1.01x (?)
FloatingPointPrinting_Double_description_uniform 34353 33621 -2.1% 1.02x (?)
FloatingPointPrinting_Float80_description_small 29277 29336 +0.2% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 57152 57028 -0.2% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 116570 114732 -1.6% 1.02x (?)
FloatingPointPrinting_Float_description_small 6404 6375 -0.5% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 17100 17210 +0.6% 0.99x
FrequenciesUsingReduce 10759 10665 -0.9% 1.01x (?)
FrequenciesUsingReduceInto 3171 3173 +0.1% 1.00x (?)
Hanoi 19349 19408 +0.3% 1.00x (?)
HashTest 20368 20495 +0.6% 0.99x (?)
Histogram 6511 6324 -2.9% 1.03x
Integrate 587 587 +0.0% 1.00x
IterateData 4995 4995 +0.0% 1.00x
Join 173 171 -1.2% 1.01x
LazilyFilteredArrayContains 748525 736117 -1.7% 1.02x
LazilyFilteredArrays2 90755 90732 -0.0% 1.00x (?)
LazilyFilteredRange 565810 550397 -2.7% 1.03x
LessSubstringSubstring 72 72 +0.0% 1.00x
LessSubstringSubstringGenericComparable 58 57 -1.7% 1.02x
LinkedList 32552 32461 -0.3% 1.00x (?)
MapReduce 24995 25087 +0.4% 1.00x
MapReduceAnyCollection 24987 25164 +0.7% 0.99x
MapReduceAnyCollectionShort 36926 36963 +0.1% 1.00x (?)
MapReduceClass 29312 29082 -0.8% 1.01x (?)
MapReduceClassShort 40813 41605 +1.9% 0.98x (?)
MapReduceLazyCollection 22454 22595 +0.6% 0.99x
MapReduceLazyCollectionShort 33225 33705 +1.4% 0.99x (?)
MapReduceLazySequence 20542 20529 -0.1% 1.00x (?)
MapReduceSequence 31030 30498 -1.7% 1.02x (?)
MapReduceShort 36653 37393 +2.0% 0.98x (?)
MapReduceShortString 222 220 -0.9% 1.01x (?)
MapReduceString 1698 1705 +0.4% 1.00x (?)
Memset 44814 44792 -0.0% 1.00x (?)
MonteCarloE 1161499 1167756 +0.5% 0.99x (?)
MonteCarloPi 5261742 5290442 +0.5% 0.99x
NSStringConversion 752 757 +0.7% 0.99x
NibbleSort 526568 521741 -0.9% 1.01x (?)
NopDeinit 201109 192489 -4.3% 1.04x
ObjectAllocation 1260 1246 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 9542 10042 +5.2% 0.95x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 48369 48311 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 46599 44630 -4.2% 1.04x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 121493 115980 -4.5% 1.05x
ObjectiveCBridgeFromNSSetAnyObject 54254 55381 +2.1% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 74964 76981 +2.7% 0.97x (?)
ObjectiveCBridgeFromNSString 2934 2917 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2932 2847 -2.9% 1.03x (?)
ObjectiveCBridgeStubDataAppend 6794 6673 -1.8% 1.02x (?)
ObjectiveCBridgeStubDateMutation 773 776 +0.4% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 34160 33278 -2.6% 1.03x (?)
ObjectiveCBridgeStubFromNSString 1110 1078 -2.9% 1.03x (?)
ObjectiveCBridgeStubFromNSStringRef 200 202 +1.0% 0.99x
ObjectiveCBridgeStubNSDataAppend 3009 3100 +3.0% 0.97x (?)
ObjectiveCBridgeStubNSDateMutationRef 15978 15584 -2.5% 1.03x (?)
ObjectiveCBridgeStubToArrayOfNSString 39558 40204 +1.6% 0.98x (?)
ObjectiveCBridgeStubToNSDate 15871 16330 +2.9% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3474 3490 +0.5% 1.00x (?)
ObjectiveCBridgeStubToNSString 2420 2423 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 154 156 +1.3% 0.99x
ObjectiveCBridgeStubURLAppendPath 278549 281145 +0.9% 0.99x (?)
ObjectiveCBridgeStubURLAppendPathRef 294387 282082 -4.2% 1.04x (?)
ObjectiveCBridgeToNSArray 14981 14981 +0.0% 1.00x
ObjectiveCBridgeToNSDictionary 29607 28804 -2.7% 1.03x (?)
ObjectiveCBridgeToNSSet 18064 18091 +0.1% 1.00x (?)
ObjectiveCBridgeToNSString 541 547 +1.1% 0.99x (?)
ObserverClosure 6396 6305 -1.4% 1.01x (?)
ObserverForwarderStruct 4147 4134 -0.3% 1.00x (?)
ObserverPartiallyAppliedMethod 7997 7885 -1.4% 1.01x (?)
ObserverUnappliedMethod 7867 7853 -0.2% 1.00x (?)
OpaqueConsumingUsers 13411 13416 +0.0% 1.00x (?)
OpenClose 534 538 +0.7% 0.99x
Phonebook 15968 15921 -0.3% 1.00x (?)
PointerArithmetics 408844 410209 +0.3% 1.00x
PolymorphicCalls 2467 2464 -0.1% 1.00x
PopFrontArray 4417 4437 +0.5% 1.00x (?)
PopFrontArrayGeneric 5632 5718 +1.5% 0.98x (?)
PopFrontUnsafePointer 11942 11896 -0.4% 1.00x (?)
PrefixAnyCollection 16225 15955 -1.7% 1.02x
PrefixAnyCollectionLazy 105559 105856 +0.3% 1.00x (?)
PrefixAnySeqCRangeIter 19635 19266 -1.9% 1.02x
PrefixAnySeqCRangeIterLazy 19737 19305 -2.2% 1.02x
PrefixAnySeqCntRange 16233 15747 -3.0% 1.03x
PrefixAnySeqCntRangeLazy 16081 15737 -2.1% 1.02x
PrefixAnySequence 10532 10610 +0.7% 0.99x
PrefixAnySequenceLazy 10450 10645 +1.9% 0.98x (?)
PrefixArray 3463 3524 +1.8% 0.98x (?)
PrefixArrayLazy 30203 30024 -0.6% 1.01x
PrefixCountableRange 346 346 +0.0% 1.00x
PrefixCountableRangeLazy 36371 36302 -0.2% 1.00x (?)
PrefixSequence 10099 10161 +0.6% 0.99x (?)
PrefixSequenceLazy 10181 10199 +0.2% 1.00x (?)
PrefixWhileAnyCollection 30214 29647 -1.9% 1.02x
PrefixWhileAnyCollectionLazy 19240 19053 -1.0% 1.01x (?)
PrefixWhileAnySeqCRangeIter 33965 33985 +0.1% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 19192 18907 -1.5% 1.02x (?)
PrefixWhileAnySeqCntRange 30307 29477 -2.7% 1.03x
PrefixWhileAnySeqCntRangeLazy 19213 18943 -1.4% 1.01x (?)
PrefixWhileAnySequence 25984 25971 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 11139 11076 -0.6% 1.01x
PrefixWhileArray 10674 10641 -0.3% 1.00x (?)
PrefixWhileArrayLazy 12008 12146 +1.1% 0.99x (?)
PrefixWhileCountableRange 14404 14131 -1.9% 1.02x
PrefixWhileCountableRangeLazy 18966 18931 -0.2% 1.00x (?)
PrefixWhileSequence 25593 25436 -0.6% 1.01x (?)
PrefixWhileSequenceLazy 11038 10903 -1.2% 1.01x
Prims 9183 9130 -0.6% 1.01x (?)
PrimsSplit 9291 9313 +0.2% 1.00x (?)
QueueConcrete 14130 14229 +0.7% 0.99x
QueueGeneric 18406 18508 +0.6% 0.99x (?)
RC4 16031 16442 +2.6% 0.98x
RGBHistogram 22914 22534 -1.7% 1.02x (?)
RGBHistogramOfObjects 67594 65785 -2.7% 1.03x (?)
Radix2CooleyTukey 47457 47269 -0.4% 1.00x (?)
Radix2CooleyTukeyf 40941 40796 -0.4% 1.00x (?)
RandomDoubleDef 87564 89951 +2.7% 0.97x (?)
RandomDoubleLCG 55513 56995 +2.7% 0.97x
RandomIntegersDef 43988 43884 -0.2% 1.00x (?)
RandomIntegersLCG 33124 33025 -0.3% 1.00x (?)
RandomShuffleDef2 7190 7183 -0.1% 1.00x (?)
RandomShuffleLCG2 47290 47277 -0.0% 1.00x (?)
RangeAssignment 2762 2826 +2.3% 0.98x (?)
RangeIterationSigned 14790 14667 -0.8% 1.01x (?)
RangeReplaceableCollectionPlusDefault 11991 12463 +3.9% 0.96x (?)
RecursiveOwnedParameter 6077 6352 +4.5% 0.96x
RemoveWhereFilterInts 2080 2071 -0.4% 1.00x (?)
RemoveWhereFilterString 1351 1331 -1.5% 1.02x
RemoveWhereFilterStrings 2613 2604 -0.3% 1.00x (?)
RemoveWhereMoveInts 3347 3335 -0.4% 1.00x
RemoveWhereMoveStrings 3891 3884 -0.2% 1.00x
RemoveWhereQuadraticInts 8517 8500 -0.2% 1.00x (?)
RemoveWhereQuadraticString 2642 2598 -1.7% 1.02x
RemoveWhereQuadraticStrings 10143 10132 -0.1% 1.00x (?)
RemoveWhereSwapInts 5992 5985 -0.1% 1.00x (?)
RemoveWhereSwapStrings 6723 6723 +0.0% 1.00x
ReversedArray2 14122 14112 -0.1% 1.00x (?)
ReversedBidirectional 43695 44208 +1.2% 0.99x (?)
ReversedDictionary2 15498 15450 -0.3% 1.00x (?)
SequenceAlgosAnySequence 13505 13278 -1.7% 1.02x
SequenceAlgosArray 738921 741548 +0.4% 1.00x
SequenceAlgosContiguousArray 305676 307669 +0.7% 0.99x (?)
SequenceAlgosList 8750 8758 +0.1% 1.00x
SequenceAlgosRange 1334698 1311629 -1.7% 1.02x
SequenceAlgosUnfoldSequence 6735 6562 -2.6% 1.03x
SetExclusiveOr_OfObjects 42411 40526 -4.4% 1.05x
SevenBoom 1015 1013 -0.2% 1.00x (?)
Sim2DArray 43640 43632 -0.0% 1.00x (?)
SortLargeExistentials 9617 9643 +0.3% 1.00x (?)
SortLettersInPlace 1578 1566 -0.8% 1.01x (?)
SortSortedStrings 896 883 -1.5% 1.01x
SortStrings 1860 1851 -0.5% 1.00x
SortStringsUnicode 2740 2859 +4.3% 0.96x (?)
StackPromo 93585 98046 +4.8% 0.95x (?)
StaticArray 2659 2602 -2.1% 1.02x (?)
StrComplexWalk 6830 7052 +3.3% 0.97x
StrToInt 82470 84721 +2.7% 0.97x (?)
StringAdder 735 747 +1.6% 0.98x
StringBuilderLong 1497 1502 +0.3% 1.00x (?)
StringBuilderSmallReservingCapacity 5039 5044 +0.1% 1.00x (?)
StringComparison_abnormal 1390 1399 +0.6% 0.99x (?)
StringComparison_ascii 8868 8999 +1.5% 0.99x (?)
StringComparison_emoji 2186 2200 +0.6% 0.99x (?)
StringComparison_fastPrenormal 5645 5658 +0.2% 1.00x (?)
StringComparison_latin1 4373 4398 +0.6% 0.99x (?)
StringComparison_longSharedPrefix 2589 2593 +0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 4057 4074 +0.4% 1.00x (?)
StringComparison_slowerPrenormal 4620 4616 -0.1% 1.00x (?)
StringComparison_zalgo 116187 115067 -1.0% 1.01x
StringEdits 380849 388925 +2.1% 0.98x (?)
StringEnumRawValueInitialization 20958 21286 +1.6% 0.98x
StringEqualPointerComparison 1746 1805 +3.4% 0.97x
StringFromLongWholeSubstring 22 22 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 198 196 -1.0% 1.01x
StringHasPrefixAscii 3264 3348 +2.6% 0.97x
StringHasPrefixUnicode 102286 101440 -0.8% 1.01x (?)
StringHasSuffixAscii 3349 3377 +0.8% 0.99x (?)
StringHasSuffixUnicode 101255 101626 +0.4% 1.00x (?)
StringHashing_abnormal 1456 1506 +3.4% 0.97x (?)
StringHashing_ascii 209 210 +0.5% 1.00x
StringHashing_emoji 2146 2080 -3.1% 1.03x (?)
StringHashing_fastPrenormal 8637 8613 -0.3% 1.00x (?)
StringHashing_latin1 2814 2783 -1.1% 1.01x (?)
StringHashing_longSharedPrefix 8140 8070 -0.9% 1.01x (?)
StringHashing_nonBMPSlowestPrenormal 2297 2347 +2.2% 0.98x (?)
StringHashing_slowerPrenormal 2917 2958 +1.4% 0.99x (?)
StringHashing_zalgo 3590 3596 +0.2% 1.00x (?)
StringInterpolation 12624 12090 -4.2% 1.04x (?)
StringInterpolationManySmallSegments 18225 18606 +2.1% 0.98x (?)
StringMatch 39240 40729 +3.8% 0.96x (?)
StringRemoveDupes 748 736 -1.6% 1.02x
StringUTF16Builder 7833 8072 +3.1% 0.97x (?)
StringWalk 13382 13151 -1.7% 1.02x
StringWithCString2 2068 2068 +0.0% 1.00x
StringWordBuilder 2542 2539 -0.1% 1.00x (?)
StringWordBuilderReservingCapacity 1883 1867 -0.8% 1.01x (?)
SubstringComparable 1587 1632 +2.8% 0.97x (?)
SubstringEqualString 1717 1730 +0.8% 0.99x (?)
SubstringEquatable 5463 5340 -2.3% 1.02x (?)
SubstringFromLongString 15 15 +0.0% 1.00x
SubstringFromLongStringGeneric 104 105 +1.0% 0.99x (?)
SuffixAnyCollection 6533 6440 -1.4% 1.01x
SuffixAnyCollectionLazy 36083 35327 -2.1% 1.02x (?)
SuffixAnySeqCRangeIter 36327 35966 -1.0% 1.01x (?)
SuffixAnySeqCRangeIterLazy 36680 35936 -2.0% 1.02x
SuffixAnySeqCntRange 6503 6426 -1.2% 1.01x (?)
SuffixAnySeqCntRangeLazy 6472 6401 -1.1% 1.01x
SuffixAnySequence 25468 25425 -0.2% 1.00x (?)
SuffixAnySequenceLazy 25537 25365 -0.7% 1.01x (?)
SuffixCountableRange 1211 1225 +1.2% 0.99x
SuffixCountableRangeLazy 13311 13146 -1.2% 1.01x (?)
SuffixSequence 25470 25248 -0.9% 1.01x
SuffixSequenceLazy 25357 25486 +0.5% 0.99x (?)
SumUsingReduce 156916 155636 -0.8% 1.01x (?)
SumUsingReduceInto 150249 150088 -0.1% 1.00x (?)
SuperChars 77870 79165 +1.7% 0.98x (?)
TwoSum 3742 3749 +0.2% 1.00x (?)
TypeFlood 190 190 +0.0% 1.00x
UTF8Decode 29102 29085 -0.1% 1.00x (?)
UTF8Decode_InitDecoding 1409 1450 +2.9% 0.97x
UTF8Decode_InitDecoding_ascii 914 908 -0.7% 1.01x (?)
UTF8Decode_InitFromBytes 1199 1191 -0.7% 1.01x (?)
UTF8Decode_InitFromData 1264 1272 +0.6% 0.99x (?)
Walsh 12037 12042 +0.0% 1.00x (?)
WordCountHistogramASCII 37022 36431 -1.6% 1.02x (?)
WordCountHistogramUTF16 43248 42680 -1.3% 1.01x (?)
WordCountUniqueASCII 6969 7019 +0.7% 0.99x
WordCountUniqueUTF16 9731 9991 +2.7% 0.97x (?)
WordSplitASCII 14375 14459 +0.6% 0.99x (?)
WordSplitUTF16 15559 15497 -0.4% 1.00x (?)
XorLoop 23221 23229 +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

@lorentey
Copy link
Member Author

The plot thickens!

@lorentey
Copy link
Member Author

Please test with following PR:
apple/swift-lldb#797

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - b89f2df355897db15e8c63e85b3590ec69eaeac2

@lorentey
Copy link
Member Author

Please test with the following PR:
apple/swift-lldb#813

@swift-ci test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 3a0eb95

@lorentey
Copy link
Member Author

Please test with the following PR:
apple/swift-lldb#813

@swift-ci test

@lorentey
Copy link
Member Author

@swift-ci please test and merge

- Rename variant enum types and move them into the corresponding struct:
  _VariantSetBuffer => Set._Variant
  _VariantDictionaryBuffer => Dictionary._Variant

  I found the buffer suffix did not positively contribute to understanding these types. And the extra indirection of the typealiases wasn't exactly helpful, either.

- Remove internal typealiases that resolved to these.
This is primarily for documentation purposes, although the default implementation (based on an iterator) may not return the correct value for bridged dictionaries with exotic implementations.
A Dictionary.removeValue(forKey:) benchmark regressed 35% because recent changes in this PR caused an _UnsafeBitMap member to not be inlined in its implementation. (This was probably triggered by moving a method from Dictionary._Variant to _NativeDictionary.)
Add @inline(__always) to _UnsafeBitMap members.

While we’re at it, make _UnsafeBitMap @usableFromInline. It’s only public for testing purposes.
… property names

This makes it easier to define lldb data formatters for these types.
DictionaryIterator & SetIterator have been renamed Dictionary.Iterator and Set.Iterator, with compatibility typealiases.
The startBucket argument is _bucket(key) in the vast majority of cases. Add an overload with this default value.
@lorentey
Copy link
Member Author

@swift-ci please test

@swiftlang swiftlang deleted a comment from swift-ci Aug 16, 2018
@swiftlang swiftlang deleted a comment from swift-ci Aug 16, 2018
@lorentey
Copy link
Member Author

So many typos... 🤦‍♂️

@swift-ci please test

@swiftlang swiftlang deleted a comment from swift-ci Aug 16, 2018
@swiftlang swiftlang deleted a comment from swift-ci Aug 16, 2018
@lorentey
Copy link
Member Author

@swift-ci please test

@lorentey lorentey changed the title [WIP][stdlib] Modernize Set and Dictionary internals [stdlib] Modernize Set and Dictionary internals Aug 16, 2018
@swiftlang swiftlang deleted a comment from swift-ci Aug 16, 2018
@swiftlang swiftlang deleted a comment from swift-ci Aug 16, 2018
@airspeedswift
Copy link
Member

@swift-ci please smoke test compiler performance

1 similar comment
@lorentey
Copy link
Member Author

@swift-ci please smoke test compiler performance

@swift-ci
Copy link
Contributor

Build comment file:

Summary for master smoketest

Unexpected test results, excluded stats for Kingfisher, ReactiveCocoa

Regressions found (see below)

Debug

debug brief

Regressed (1)
name old new delta delta_pct
time.swift-driver.wall 19.8s 20.2s 329.9ms 1.66% ⛔
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 162,263,985,425 162,429,005,156 165,019,731 0.1%
LLVM.NumLLVMBytesOutput 9,383,948 9,382,508 -1,440 -0.02%

debug detailed

Regressed (1)
name old new delta delta_pct
Sema.NumLazyIterableDeclContexts 39,987 40,438 451 1.13% ⛔
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (22)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 5,978 5,978 0 0.0%
AST.NumLoadedModules 1,281 1,281 0 0.0%
AST.NumTotalClangImportedEntities 18,216 18,216 0 0.0%
AST.NumUsedConformances 1,344 1,344 0 0.0%
IRModule.NumIRBasicBlocks 30,981 30,973 -8 -0.03%
IRModule.NumIRFunctions 17,124 17,122 -2 -0.01%
IRModule.NumIRGlobals 14,036 14,036 0 0.0%
IRModule.NumIRInsts 437,736 437,707 -29 -0.01%
IRModule.NumIRValueSymbols 29,351 29,349 -2 -0.01%
LLVM.NumLLVMBytesOutput 9,383,948 9,382,508 -1,440 -0.02%
SILModule.NumSILGenFunctions 8,060 8,060 0 0.0%
SILModule.NumSILOptFunctions 11,016 11,016 0 0.0%
Sema.NumConformancesDeserialized 31,103 31,026 -77 -0.25%
Sema.NumConstraintScopes 75,123 75,123 0 0.0%
Sema.NumDeclsDeserialized 261,820 259,485 -2,335 -0.89%
Sema.NumDeclsValidated 18,435 18,435 0 0.0%
Sema.NumFunctionsTypechecked 5,036 5,036 0 0.0%
Sema.NumGenericSignatureBuilders 10,995 10,995 0 0.0%
Sema.NumLazyGenericEnvironments 50,212 49,864 -348 -0.69%
Sema.NumLazyGenericEnvironmentsLoaded 5,975 5,934 -41 -0.69%
Sema.NumTypesDeserialized 113,362 113,023 -339 -0.3%
Sema.NumTypesValidated 30,918 30,918 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 35.0s 34.5s -496.9ms -1.42% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 218,947,209,517 217,242,819,897 -1,704,389,620 -0.78%
LLVM.NumLLVMBytesOutput 10,495,536 10,495,204 -332 -0.0%

release detailed

Regressed (1)
name old new delta delta_pct
Sema.NumLazyIterableDeclContexts 5,752 5,818 66 1.15% ⛔
Improved (5)
name old new delta delta_pct
SILModule.NumSILOptFunctions 9,398 9,285 -113 -1.2% ✅
Sema.NumDeclsDeserialized 55,136 53,613 -1,523 -2.76% ✅
Sema.NumLazyGenericEnvironments 9,693 9,461 -232 -2.39% ✅
Sema.NumLazyGenericEnvironmentsLoaded 1,376 1,344 -32 -2.33% ✅
Sema.NumTypesDeserialized 31,578 30,732 -846 -2.68% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (17)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 1,411 1,411 0 0.0%
AST.NumLoadedModules 100 100 0 0.0%
AST.NumTotalClangImportedEntities 4,911 4,911 0 0.0%
AST.NumUsedConformances 1,346 1,346 0 0.0%
IRModule.NumIRBasicBlocks 34,088 34,100 12 0.04%
IRModule.NumIRFunctions 15,301 15,290 -11 -0.07%
IRModule.NumIRGlobals 13,533 13,532 -1 -0.01%
IRModule.NumIRInsts 332,276 332,373 97 0.03%
IRModule.NumIRValueSymbols 27,327 27,315 -12 -0.04%
LLVM.NumLLVMBytesOutput 10,495,536 10,495,204 -332 -0.0%
SILModule.NumSILGenFunctions 6,207 6,207 0 0.0%
Sema.NumConformancesDeserialized 16,498 16,402 -96 -0.58%
Sema.NumConstraintScopes 73,691 73,691 0 0.0%
Sema.NumDeclsValidated 12,645 12,645 0 0.0%
Sema.NumFunctionsTypechecked 3,079 3,079 0 0.0%
Sema.NumGenericSignatureBuilders 2,588 2,586 -2 -0.08%
Sema.NumTypesValidated 17,088 17,088 0 0.0%

@swift-ci
Copy link
Contributor

Build comment file:

Summary for master smoketest

Unexpected test results, excluded stats for Kingfisher, ReactiveCocoa

Regressions found (see below)

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) (3)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 177,580,910,576 177,569,423,671 -11,486,905 -0.01%
LLVM.NumLLVMBytesOutput 9,383,596 9,382,156 -1,440 -0.02%
time.swift-driver.wall 23.1s 23.2s 113.5ms 0.49%

debug detailed

Regressed (1)
name old new delta delta_pct
Sema.NumLazyIterableDeclContexts 44,102 44,583 481 1.09% ⛔
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (22)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 6,105 6,105 0 0.0%
AST.NumLoadedModules 1,510 1,510 0 0.0%
AST.NumTotalClangImportedEntities 18,583 18,583 0 0.0%
AST.NumUsedConformances 1,344 1,344 0 0.0%
IRModule.NumIRBasicBlocks 30,981 30,973 -8 -0.03%
IRModule.NumIRFunctions 17,124 17,122 -2 -0.01%
IRModule.NumIRGlobals 14,036 14,036 0 0.0%
IRModule.NumIRInsts 437,736 437,707 -29 -0.01%
IRModule.NumIRValueSymbols 29,351 29,349 -2 -0.01%
LLVM.NumLLVMBytesOutput 9,383,596 9,382,156 -1,440 -0.02%
SILModule.NumSILGenFunctions 8,060 8,060 0 0.0%
SILModule.NumSILOptFunctions 11,016 11,016 0 0.0%
Sema.NumConformancesDeserialized 32,821 32,744 -77 -0.23%
Sema.NumConstraintScopes 75,127 75,127 0 0.0%
Sema.NumDeclsDeserialized 277,737 275,447 -2,290 -0.82%
Sema.NumDeclsValidated 18,765 18,765 0 0.0%
Sema.NumFunctionsTypechecked 5,036 5,036 0 0.0%
Sema.NumGenericSignatureBuilders 11,570 11,570 0 0.0%
Sema.NumLazyGenericEnvironments 54,047 53,711 -336 -0.62%
Sema.NumLazyGenericEnvironmentsLoaded 6,349 6,308 -41 -0.65%
Sema.NumTypesDeserialized 122,277 121,974 -303 -0.25%
Sema.NumTypesValidated 31,308 31,308 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 39.2s 38.8s -398.4ms -1.02% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 219,259,785,034 217,704,535,481 -1,555,249,553 -0.71%
LLVM.NumLLVMBytesOutput 10,495,536 10,495,204 -332 -0.0%

release detailed

Regressed (1)
name old new delta delta_pct
Sema.NumLazyIterableDeclContexts 5,752 5,818 66 1.15% ⛔
Improved (5)
name old new delta delta_pct
SILModule.NumSILOptFunctions 9,398 9,285 -113 -1.2% ✅
Sema.NumDeclsDeserialized 55,136 53,613 -1,523 -2.76% ✅
Sema.NumLazyGenericEnvironments 9,693 9,461 -232 -2.39% ✅
Sema.NumLazyGenericEnvironmentsLoaded 1,376 1,344 -32 -2.33% ✅
Sema.NumTypesDeserialized 31,578 30,732 -846 -2.68% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (17)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 1,411 1,411 0 0.0%
AST.NumLoadedModules 100 100 0 0.0%
AST.NumTotalClangImportedEntities 4,911 4,911 0 0.0%
AST.NumUsedConformances 1,346 1,346 0 0.0%
IRModule.NumIRBasicBlocks 34,088 34,100 12 0.04%
IRModule.NumIRFunctions 15,301 15,290 -11 -0.07%
IRModule.NumIRGlobals 13,533 13,532 -1 -0.01%
IRModule.NumIRInsts 332,276 332,373 97 0.03%
IRModule.NumIRValueSymbols 27,327 27,315 -12 -0.04%
LLVM.NumLLVMBytesOutput 10,495,536 10,495,204 -332 -0.0%
SILModule.NumSILGenFunctions 6,207 6,207 0 0.0%
Sema.NumConformancesDeserialized 16,498 16,402 -96 -0.58%
Sema.NumConstraintScopes 73,691 73,691 0 0.0%
Sema.NumDeclsValidated 12,645 12,645 0 0.0%
Sema.NumFunctionsTypechecked 3,079 3,079 0 0.0%
Sema.NumGenericSignatureBuilders 2,588 2,586 -2 -0.08%
Sema.NumTypesValidated 17,088 17,088 0 0.0%

@airspeedswift
Copy link
Member

That first wall time regression was just noise, then, not a problem.

@lorentey lorentey merged commit c88030f into swiftlang:master Aug 17, 2018
@lorentey lorentey deleted the dictionary-review branch August 17, 2018 13:49
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.

3 participants