Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

🛑[stdlib] Flesh out _Hasher API #15939

Closed
wants to merge 14 commits into from

Conversation

lorentey
Copy link
Member

@lorentey lorentey commented Apr 14, 2018

Update _Hasher API names to match those proposed in SE-0206, and implement missing functionality.

@lorentey lorentey changed the title [stdlib] _Hasher: append => combine [stdlib] Flesh out _Hasher API Apr 14, 2018
@lorentey
Copy link
Member Author

@swift-ci please test compiler performance

@swift-ci
Copy link
Contributor

Build comment file:

Summary for master full

Unexpected test results, excluded stats for ProcedureKit, SourceKittenFramework, Core, ObjectMapper, ReactiveSwift

No regressions above thresholds

Debug-batch

debug-batch brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 1,394,288,356 1,394,118,792 -169,564 -0.01%
time.swift-driver.wall 2049.1s 2054.9s 5.8s 0.28%

debug-batch detailed

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (71)
name old new delta delta_pct
AST.NumASTBytesAllocated 26,327,046,525 26,321,893,925 -5,152,600 -0.02%
AST.NumDecls 77,841 77,828 -13 -0.02%
AST.NumDependencies 141,146 141,056 -90 -0.06%
AST.NumImportedExternalDefinitions 1,476,556 1,476,307 -249 -0.02%
AST.NumInfixOperators 26,407 26,405 -2 -0.01%
AST.NumLinkLibraries 0 0 0 0.0%
AST.NumLoadedModules 183,845 183,642 -203 -0.11%
AST.NumLocalTypeDecls 16 16 0 0.0%
AST.NumObjCMethods 27,114 27,114 0 0.0%
AST.NumPostfixOperators 14 14 0 0.0%
AST.NumPrecedenceGroups 17,163 17,158 -5 -0.03%
AST.NumPrefixOperators 96 96 0 0.0%
AST.NumReferencedDynamicNames 206 206 0 0.0%
AST.NumReferencedMemberNames 3,960,486 3,960,288 -198 -0.0%
AST.NumReferencedTopLevelNames 280,604 280,565 -39 -0.01%
AST.NumSourceBuffers 385,093 385,008 -85 -0.02%
AST.NumSourceLines 2,350,619 2,350,378 -241 -0.01%
AST.NumSourceLinesPerSecond 1,607,278 1,605,814 -1,464 -0.09%
AST.NumTotalClangImportedEntities 4,659,951 4,659,707 -244 -0.01%
AST.NumUsedConformances 202,358 202,334 -24 -0.01%
Driver.ChildrenMaxRSS 62,905,255,936 62,714,519,552 -190,736,384 -0.3%
Driver.DriverDepCascadingDynamic 0 0 0 0.0%
Driver.DriverDepCascadingExternal 0 0 0 0.0%
Driver.DriverDepCascadingMember 0 0 0 0.0%
Driver.DriverDepCascadingNominal 0 0 0 0.0%
Driver.DriverDepCascadingTopLevel 0 0 0 0.0%
Driver.DriverDepDynamic 0 0 0 0.0%
Driver.DriverDepExternal 0 0 0 0.0%
Driver.DriverDepMember 0 0 0 0.0%
Driver.DriverDepNominal 0 0 0 0.0%
Driver.DriverDepTopLevel 0 0 0 0.0%
Driver.NumDriverJobsRun 17,463 17,456 -7 -0.04%
Driver.NumDriverJobsSkipped 0 0 0 0.0%
Driver.NumProcessFailures 0 0 0 0.0%
Frontend.NumProcessFailures 0 0 0 0.0%
IRModule.NumIRAliases 13,243 13,236 -7 -0.05%
IRModule.NumIRBasicBlocks 3,854,194 3,853,828 -366 -0.01%
IRModule.NumIRComdatSymbols 0 0 0 0.0%
IRModule.NumIRFunctions 2,060,934 2,060,704 -230 -0.01%
IRModule.NumIRGlobals 2,168,602 2,168,339 -263 -0.01%
IRModule.NumIRIFuncs 0 0 0 0.0%
IRModule.NumIRInsts 40,952,989 40,950,059 -2,930 -0.01%
IRModule.NumIRNamedMetaData 51,534 51,514 -20 -0.04%
IRModule.NumIRValueSymbols 3,725,580 3,725,127 -453 -0.01%
LLVM.NumLLVMBytesOutput 1,394,288,356 1,394,118,792 -169,564 -0.01%
Parse.NumFunctionsParsed 140,618 140,606 -12 -0.01%
SILModule.NumSILGenDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILGenFunctions 1,502,670 1,502,597 -73 -0.0%
SILModule.NumSILGenGlobalVariables 24,429 24,429 0 0.0%
SILModule.NumSILGenVtables 15,600 15,597 -3 -0.02%
SILModule.NumSILGenWitnessTables 42,765 42,750 -15 -0.04%
SILModule.NumSILOptDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILOptFunctions 1,799,170 1,798,903 -267 -0.01%
SILModule.NumSILOptGlobalVariables 60,161 60,158 -3 -0.0%
SILModule.NumSILOptVtables 24,037 24,030 -7 -0.03%
SILModule.NumSILOptWitnessTables 77,809 77,781 -28 -0.04%
Sema.NamedLazyMemberLoadFailureCount 24,126 24,126 0 0.0%
Sema.NamedLazyMemberLoadSuccessCount 3,170,774 3,170,709 -65 -0.0%
Sema.NominalTypeLookupDirectCount 34,596,653 34,593,673 -2,980 -0.01%
Sema.NumConformancesDeserialized 6,530,725 6,532,075 1,350 0.02%
Sema.NumConstraintScopes 12,758,653 12,758,341 -312 -0.0%
Sema.NumDeclsDeserialized 38,935,654 39,065,745 130,091 0.33%
Sema.NumDeclsValidated 1,865,485 1,865,361 -124 -0.01%
Sema.NumFunctionsTypechecked 971,991 971,838 -153 -0.02%
Sema.NumGenericSignatureBuilders 1,231,525 1,233,494 1,969 0.16%
Sema.NumLazyGenericEnvironments 7,148,265 7,219,950 71,685 1.0%
Sema.NumLazyGenericEnvironmentsLoaded 675,628 677,692 2,064 0.31%
Sema.NumLazyIterableDeclContexts 5,502,079 5,511,243 9,164 0.17%
Sema.NumTypesDeserialized 40,030,958 40,158,443 127,485 0.32%
Sema.NumTypesValidated 3,403,867 3,403,746 -121 -0.0%
Sema.NumUnloadedLazyIterableDeclContexts 3,407,885 3,410,006 2,121 0.06%

Release

release brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 1,356,117,286 1,356,111,014 -6,272 -0.0%
time.swift-driver.wall 4140.0s 4140.6s 538.2ms 0.01%

release detailed

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (23)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 705,031 705,031 0 0.0%
AST.NumLoadedModules 80,633 80,633 0 0.0%
AST.NumTotalClangImportedEntities 2,227,401 2,227,401 0 0.0%
AST.NumUsedConformances 209,409 209,409 0 0.0%
IRModule.NumIRBasicBlocks 4,327,736 4,327,736 0 0.0%
IRModule.NumIRFunctions 1,716,279 1,716,279 0 0.0%
IRModule.NumIRGlobals 1,841,111 1,841,111 0 0.0%
IRModule.NumIRInsts 35,551,054 35,551,054 0 0.0%
IRModule.NumIRValueSymbols 3,229,873 3,229,873 0 0.0%
LLVM.NumLLVMBytesOutput 1,356,117,286 1,356,111,014 -6,272 -0.0%
SILModule.NumSILGenFunctions 754,904 754,904 0 0.0%
SILModule.NumSILOptFunctions 1,382,844 1,382,844 0 0.0%
Sema.NumConformancesDeserialized 6,349,492 6,350,708 1,216 0.02%
Sema.NumConstraintScopes 12,592,897 12,592,897 0 0.0%
Sema.NumDeclsDeserialized 21,084,815 21,153,579 68,764 0.33%
Sema.NumDeclsValidated 1,386,532 1,386,532 0 0.0%
Sema.NumFunctionsTypechecked 587,624 587,624 0 0.0%
Sema.NumGenericSignatureBuilders 716,863 718,049 1,186 0.17%
Sema.NumLazyGenericEnvironments 3,824,180 3,859,444 35,264 0.92%
Sema.NumLazyGenericEnvironmentsLoaded 340,879 342,065 1,186 0.35%
Sema.NumLazyIterableDeclContexts 2,858,979 2,864,511 5,532 0.19%
Sema.NumTypesDeserialized 23,159,040 23,226,574 67,534 0.29%
Sema.NumTypesValidated 3,149,266 3,149,266 0 0.0%

@lorentey lorentey force-pushed the brand-new-combine-harvester branch 6 times, most recently from 3849c29 to 4cfaa59 Compare April 16, 2018 16:17
@lorentey
Copy link
Member Author

@swift-ci please benchmark

1 similar comment
@lorentey
Copy link
Member Author

@swift-ci please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (21)
TEST OLD NEW DELTA SPEEDUP
WordCountUniqueUTF16 6903 75617 +995.4% 0.09x
StringEdits 151468 1090222 +619.8% 0.14x
WordCountHistogramUTF16 12912 81714 +532.9% 0.16x
Dictionary3 293 351 +19.8% 0.83x
Dictionary 710 809 +13.9% 0.88x
Dictionary2 801 905 +13.0% 0.89x
WordCountUniqueASCII 2323 2582 +11.1% 0.90x
Hanoi 1871 2062 +10.2% 0.91x
WordCountHistogramASCII 7257 7918 +9.1% 0.92x
StringAdder 634 690 +8.8% 0.92x
Dictionary2OfObjects 2164 2331 +7.7% 0.93x
FloatingPointPrinting_Float_description_small 4592 4945 +7.7% 0.93x
StringBuilder 663 713 +7.5% 0.93x
StringComparison_fastPrenormal 688 737 +7.1% 0.93x
StringInterpolationManySmallSegments 16421 17529 +6.7% 0.94x (?)
StringComparison_ascii 1106 1179 +6.6% 0.94x
StringComparison_latin1 545 580 +6.4% 0.94x
ObjectiveCBridgeStubFromNSDate 5569 5914 +6.2% 0.94x (?)
StringComparison_slowerPrenormal 1496 1588 +6.1% 0.94x (?)
StringComparison_nonBMPSlowestPrenormal 1403 1481 +5.6% 0.95x
StringUTF16SubstringBuilder 5081 5356 +5.4% 0.95x (?)
Improvement (52)
TEST OLD NEW DELTA SPEEDUP
WordSplitASCII 12026 5102 -57.6% 2.36x
WordSplitUTF16 13419 6596 -50.8% 2.03x
SetIntersect 885 629 -28.9% 1.41x
DictionarySwap 1274 925 -27.4% 1.38x
DictionaryGroup 256 190 -25.8% 1.35x
DictionarySubscriptDefaultMutation 311 240 -22.8% 1.30x (?)
SetExclusiveOr 5971 4629 -22.5% 1.29x
ReversedDictionary 266 211 -20.7% 1.26x
SetUnion 5023 4006 -20.2% 1.25x
Histogram 801 644 -19.6% 1.24x
DictionaryRemove 4832 4008 -17.1% 1.21x
SubstringComparable 24 20 -16.7% 1.20x (?)
CharacterPropertiesPrecomputed 1159 973 -16.0% 1.19x
TwoSum 1539 1329 -13.6% 1.16x
ObjectiveCBridgeFromNSSetAnyObjectToString 71340 61974 -13.1% 1.15x (?)
StringEnumRawValueInitialization 993 881 -11.3% 1.13x
RGBHistogram 3542 3158 -10.8% 1.12x
CharacterPropertiesStashedMemo 1553 1385 -10.8% 1.12x (?)
Chars 1090 980 -10.1% 1.11x
DictionaryFilter 104654 94187 -10.0% 1.11x
DictionaryCopy 106318 96325 -9.4% 1.10x
SetIntersect_OfObjects 2206 2002 -9.2% 1.10x
DictionarySubscriptDefaultMutationArray 609 556 -8.7% 1.10x
CharIndexing_tweet_unicodeScalars 30340 27754 -8.5% 1.09x
DropLastAnySeqCntRangeLazy 12 11 -8.3% 1.09x
PointerArithmetics 30816 28253 -8.3% 1.09x
CharIndexing_japanese_unicodeScalars 18637 17135 -8.1% 1.09x (?)
CharIndexing_ascii_unicodeScalars 15562 14312 -8.0% 1.09x
CharIndexing_russian_unicodeScalars 12967 11929 -8.0% 1.09x (?)
CharIndexing_korean_unicodeScalars 15093 13885 -8.0% 1.09x
CharIndexing_chinese_unicodeScalars 11783 10844 -8.0% 1.09x (?)
Prims 1044 962 -7.9% 1.09x (?)
DictionarySwapAt 6485 6000 -7.5% 1.08x
CharIndexing_punctuated_unicodeScalars 3512 3255 -7.3% 1.08x (?)
DictionaryLiteral 1859 1724 -7.3% 1.08x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2806 2603 -7.2% 1.08x (?)
PrimsSplit 1032 960 -7.0% 1.07x
CharIteration_chinese_unicodeScalars 14710 13795 -6.2% 1.07x
CharIteration_japanese_unicodeScalars 23266 21828 -6.2% 1.07x
CharIteration_russian_unicodeScalars 16173 15187 -6.1% 1.06x
CharIteration_korean_unicodeScalars 18838 17697 -6.1% 1.06x
CharIteration_tweet_unicodeScalars 38314 35997 -6.0% 1.06x
CharIteration_ascii_unicodeScalars 19429 18282 -5.9% 1.06x
StringRemoveDupes 734 691 -5.9% 1.06x
SetIsSubsetOf 337 318 -5.6% 1.06x
Dictionary4 734 693 -5.6% 1.06x
ObjectiveCBridgeFromNSSetAnyObject 47675 45055 -5.5% 1.06x (?)
Dictionary4OfObjects 836 791 -5.4% 1.06x
CharIteration_punctuated_unicodeScalars 4333 4103 -5.3% 1.06x
FrequenciesUsingReduceInto 1628 1548 -4.9% 1.05x
StringComparison_abnormal 756 719 -4.9% 1.05x
DropFirstAnySequence 4691 4467 -4.8% 1.05x (?)
No Changes (349)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3285 3342 +1.7% 0.98x (?)
AnyHashableWithAClass 77317 76004 -1.7% 1.02x (?)
Array2D 2271 2271 +0.0% 1.00x
ArrayAppend 952 946 -0.6% 1.01x (?)
ArrayAppendArrayOfInt 670 671 +0.1% 1.00x (?)
ArrayAppendAscii 12409 12554 +1.2% 0.99x
ArrayAppendFromGeneric 673 672 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1208 1208 +0.0% 1.00x
ArrayAppendLatin1 36393 36868 +1.3% 0.99x
ArrayAppendLazyMap 1175 1175 +0.0% 1.00x
ArrayAppendOptionals 1207 1206 -0.1% 1.00x (?)
ArrayAppendRepeatCol 1174 1174 +0.0% 1.00x
ArrayAppendReserved 720 714 -0.8% 1.01x (?)
ArrayAppendSequence 978 977 -0.1% 1.00x (?)
ArrayAppendStrings 5596 5583 -0.2% 1.00x (?)
ArrayAppendToFromGeneric 672 673 +0.1% 1.00x (?)
ArrayAppendToGeneric 672 673 +0.1% 1.00x (?)
ArrayAppendUTF16 37323 37524 +0.5% 0.99x (?)
ArrayInClass 77 77 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 129 129 +0.0% 1.00x
ArrayOfGenericRef 3921 3912 -0.2% 1.00x (?)
ArrayOfPOD 155 155 +0.0% 1.00x
ArrayOfRef 3901 3906 +0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 671 671 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4772 4773 +0.0% 1.00x (?)
ArrayPlusEqualSingleElementCollection 954 947 -0.7% 1.01x (?)
ArrayPlusEqualThreeElements 1492 1480 -0.8% 1.01x (?)
ArraySubscript 1359 1362 +0.2% 1.00x (?)
ArrayValueProp 7 7 +0.0% 1.00x
ArrayValueProp2 7 7 +0.0% 1.00x
ArrayValueProp3 7 7 +0.0% 1.00x
ArrayValueProp4 7 7 +0.0% 1.00x
BinaryFloatingPointPropertiesBinade 28 28 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 25 25 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 33 33 +0.0% 1.00x
BitCount 189 189 +0.0% 1.00x
ByteSwap 93 93 +0.0% 1.00x
COWTree 4774 4850 +1.6% 0.98x (?)
CSVParsing 723853 721788 -0.3% 1.00x (?)
CSVParsingAlt 694722 699477 +0.7% 0.99x (?)
CSVParsingAltIndices 306389 305907 -0.2% 1.00x (?)
CStringLongAscii 4429 4380 -1.1% 1.01x
CStringLongNonAscii 2014 2015 +0.0% 1.00x (?)
CStringShortAscii 2875 2840 -1.2% 1.01x (?)
Calculator 987 1028 +4.2% 0.96x
CaptureProp 3684 3679 -0.1% 1.00x (?)
ChainedFilterMap 1263 1262 -0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 14672 14360 -2.1% 1.02x
CharIndexing_chinese_unicodeScalars_Backwards 11106 10877 -2.1% 1.02x
CharIndexing_japanese_unicodeScalars_Backwards 17588 17188 -2.3% 1.02x
CharIndexing_korean_unicodeScalars_Backwards 14249 13926 -2.3% 1.02x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2654 2603 -1.9% 1.02x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3335 3256 -2.4% 1.02x
CharIndexing_russian_unicodeScalars_Backwards 12224 11969 -2.1% 1.02x
CharIndexing_tweet_unicodeScalars_Backwards 29037 28012 -3.5% 1.04x
CharIndexing_utf16_unicodeScalars 20738 20279 -2.2% 1.02x
CharIndexing_utf16_unicodeScalars_Backwards 20926 20840 -0.4% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 13543 13462 -0.6% 1.01x (?)
CharIteration_chinese_unicodeScalars_Backwards 10255 10199 -0.5% 1.01x (?)
CharIteration_japanese_unicodeScalars_Backwards 16214 16111 -0.6% 1.01x
CharIteration_korean_unicodeScalars_Backwards 13132 13053 -0.6% 1.01x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3447 3288 -4.6% 1.05x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2447 2444 -0.1% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 3064 3056 -0.3% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 11285 11218 -0.6% 1.01x (?)
CharIteration_tweet_unicodeScalars_Backwards 26760 26544 -0.8% 1.01x
CharIteration_utf16_unicodeScalars 25190 24740 -1.8% 1.02x
CharIteration_utf16_unicodeScalars_Backwards 16741 16290 -2.7% 1.03x
CharacterLiteralsLarge 5252 5236 -0.3% 1.00x (?)
CharacterLiteralsSmall 195 195 +0.0% 1.00x
CharacterPropertiesFetch 4059 4046 -0.3% 1.00x (?)
CharacterPropertiesStashed 1333 1286 -3.5% 1.04x
ClassArrayGetter 13 13 +0.0% 1.00x
Combos 436 435 -0.2% 1.00x (?)
DataAccessBytes 1023 1024 +0.1% 1.00x (?)
DataAppendArray 5567 5561 -0.1% 1.00x (?)
DataAppendBytes 5419 5362 -1.1% 1.01x (?)
DataAppendDataLargeToLarge 61215 61498 +0.5% 1.00x (?)
DataAppendDataLargeToMedium 32597 32645 +0.1% 1.00x (?)
DataAppendDataLargeToSmall 31574 31591 +0.1% 1.00x (?)
DataAppendDataMediumToLarge 34586 34669 +0.2% 1.00x (?)
DataAppendDataMediumToMedium 7061 7058 -0.0% 1.00x (?)
DataAppendDataMediumToSmall 6302 6232 -1.1% 1.01x (?)
DataAppendDataSmallToLarge 33947 33761 -0.5% 1.01x (?)
DataAppendDataSmallToMedium 6710 6583 -1.9% 1.02x (?)
DataAppendDataSmallToSmall 5952 5988 +0.6% 0.99x (?)
DataAppendSequence 17371 17432 +0.4% 1.00x (?)
DataCopyBytes 2240 2236 -0.2% 1.00x (?)
DataCount 34 33 -2.9% 1.03x
DataMutateBytes 3791 3806 +0.4% 1.00x (?)
DataReplaceLarge 37750 37159 -1.6% 1.02x (?)
DataReplaceLargeBuffer 52229 52186 -0.1% 1.00x (?)
DataReplaceMedium 10061 10037 -0.2% 1.00x (?)
DataReplaceMediumBuffer 11297 11051 -2.2% 1.02x (?)
DataReplaceSmall 7876 7896 +0.3% 1.00x (?)
DataReplaceSmallBuffer 8536 8710 +2.0% 0.98x (?)
DataReset 2848 2854 +0.2% 1.00x (?)
DataSetCount 806 816 +1.2% 0.99x (?)
DataSubscript 213 217 +1.9% 0.98x
DictOfArraysToArrayOfDicts 741 776 +4.7% 0.95x (?)
Dictionary3OfObjects 777 799 +2.8% 0.97x (?)
DictionaryBridge 1056 1061 +0.5% 1.00x (?)
DictionaryGroupOfObjects 2061 2067 +0.3% 1.00x (?)
DictionaryOfObjects 2399 2466 +2.8% 0.97x (?)
DictionaryRemoveOfObjects 25976 25416 -2.2% 1.02x
DictionarySubscriptDefaultMutationArrayOfObjects 3743 3703 -1.1% 1.01x (?)
DictionarySubscriptDefaultMutationOfObjects 1711 1661 -2.9% 1.03x
DictionarySwapAtOfObjects 47319 47168 -0.3% 1.00x (?)
DictionarySwapOfObjects 8431 8366 -0.8% 1.01x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 75 75 +0.0% 1.00x
DropFirstAnyCollectionLazy 56478 55836 -1.1% 1.01x (?)
DropFirstAnySeqCRangeIter 19293 18982 -1.6% 1.02x
DropFirstAnySeqCRangeIterLazy 19287 19007 -1.5% 1.01x (?)
DropFirstAnySeqCntRange 36 36 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 36 36 +0.0% 1.00x
DropFirstAnySequenceLazy 4693 4471 -4.7% 1.05x (?)
DropFirstArray 31 31 +0.0% 1.00x
DropFirstArrayLazy 31 31 +0.0% 1.00x
DropFirstCountableRange 31 31 +0.0% 1.00x
DropFirstCountableRangeLazy 31 31 +0.0% 1.00x
DropFirstSequence 2404 2404 +0.0% 1.00x
DropFirstSequenceLazy 2489 2489 +0.0% 1.00x
DropLastAnyCollection 28 27 -3.6% 1.04x
DropLastAnyCollectionLazy 18837 18714 -0.7% 1.01x (?)
DropLastAnySeqCRangeIter 3223 3256 +1.0% 0.99x (?)
DropLastAnySeqCRangeIterLazy 3233 3258 +0.8% 0.99x (?)
DropLastAnySeqCntRange 12 12 +0.0% 1.00x
DropLastAnySequence 4468 4640 +3.8% 0.96x (?)
DropLastAnySequenceLazy 4588 4619 +0.7% 0.99x (?)
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropLastSequence 510 504 -1.2% 1.01x (?)
DropLastSequenceLazy 509 505 -0.8% 1.01x (?)
DropWhileAnyCollection 96 96 +0.0% 1.00x
DropWhileAnyCollectionLazy 112 112 +0.0% 1.00x
DropWhileAnySeqCRangeIter 15211 14834 -2.5% 1.03x (?)
DropWhileAnySeqCRangeIterLazy 112 112 +0.0% 1.00x
DropWhileAnySeqCntRange 45 45 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 112 112 +0.0% 1.00x
DropWhileAnySequence 4482 4395 -1.9% 1.02x
DropWhileAnySequenceLazy 1665 1665 +0.0% 1.00x
DropWhileArrayLazy 79 79 +0.0% 1.00x
DropWhileCountableRange 32 32 +0.0% 1.00x
DropWhileCountableRangeLazy 94 94 +0.0% 1.00x
DropWhileSequence 1993 1994 +0.1% 1.00x (?)
DropWhileSequenceLazy 79 79 +0.0% 1.00x
EqualStringSubstring 50 50 +0.0% 1.00x
EqualSubstringString 59 59 +0.0% 1.00x
EqualSubstringSubstring 43 43 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 43 43 +0.0% 1.00x
ErrorHandling 1328 1345 +1.3% 0.99x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 184050 182832 -0.7% 1.01x (?)
FilterEvenUsingReduce 1170 1169 -0.1% 1.00x (?)
FilterEvenUsingReduceInto 134 134 +0.0% 1.00x
FloatingPointPrinting_Double_description_small 21018 21098 +0.4% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 20658 20611 -0.2% 1.00x (?)
FloatingPointPrinting_Double_interpolated 68463 68715 +0.4% 1.00x (?)
FloatingPointPrinting_Float80_description_small 27163 27160 -0.0% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 27333 27254 -0.3% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 72149 73191 +1.4% 0.99x (?)
FloatingPointPrinting_Float_description_uniform 4385 4609 +5.1% 0.95x
FloatingPointPrinting_Float_interpolated 47021 47689 +1.4% 0.99x (?)
FrequenciesUsingReduce 4717 4560 -3.3% 1.03x (?)
HashTest 896 906 +1.1% 0.99x (?)
Integrate 303 309 +2.0% 0.98x (?)
IterateData 1717 1637 -4.7% 1.05x (?)
Join 166 170 +2.4% 0.98x
LazilyFilteredArrayContains 31822 32885 +3.3% 0.97x
LazilyFilteredArrays 59005 58868 -0.2% 1.00x (?)
LazilyFilteredRange 3468 3468 +0.0% 1.00x
LessSubstringSubstring 43 43 +0.0% 1.00x
LessSubstringSubstringGenericComparable 43 43 +0.0% 1.00x
LinkedList 6746 6766 +0.3% 1.00x (?)
LuhnAlgoEager 262 266 +1.5% 0.98x (?)
LuhnAlgoLazy 263 266 +1.1% 0.99x (?)
MapReduce 357 358 +0.3% 1.00x (?)
MapReduceAnyCollection 360 359 -0.3% 1.00x (?)
MapReduceAnyCollectionShort 2030 2013 -0.8% 1.01x (?)
MapReduceClass 2714 2697 -0.6% 1.01x (?)
MapReduceClassShort 4103 4080 -0.6% 1.01x (?)
MapReduceLazyCollection 12 12 +0.0% 1.00x
MapReduceLazyCollectionShort 33 33 +0.0% 1.00x
MapReduceLazySequence 77 77 +0.0% 1.00x
MapReduceSequence 404 405 +0.2% 1.00x (?)
MapReduceShort 1787 1781 -0.3% 1.00x (?)
MapReduceShortString 27 27 +0.0% 1.00x
MapReduceString 71 71 +0.0% 1.00x
Memset 192 192 +0.0% 1.00x
MonteCarloE 9150 9146 -0.0% 1.00x (?)
MonteCarloPi 38284 38287 +0.0% 1.00x (?)
NSDictionaryCastToSwift 4918 4986 +1.4% 0.99x (?)
NSError 154 154 +0.0% 1.00x
NSStringConversion 629 660 +4.9% 0.95x
NibbleSort 3293 3292 -0.0% 1.00x (?)
NopDeinit 29006 28706 -1.0% 1.01x
ObjectAllocation 119 118 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 22454 22099 -1.6% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4012 4077 +1.6% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 40170 39349 -2.0% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38241 39143 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 99382 101908 +2.5% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4301 4278 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSString 1092 1085 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2393 2387 -0.3% 1.00x (?)
ObjectiveCBridgeStubDataAppend 10249 10301 +0.5% 0.99x (?)
ObjectiveCBridgeStubDateMutation 359 359 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 28963 29740 +2.7% 0.97x (?)
ObjectiveCBridgeStubFromNSString 924 934 +1.1% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 142 139 -2.1% 1.02x (?)
ObjectiveCBridgeStubNSDataAppend 2304 2286 -0.8% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 11694 11367 -2.8% 1.03x (?)
ObjectiveCBridgeStubToArrayOfNSString 34042 34603 +1.6% 0.98x (?)
ObjectiveCBridgeStubToNSDate 13184 13361 +1.3% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3057 3045 -0.4% 1.00x (?)
ObjectiveCBridgeStubToNSString 2134 2132 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 101 103 +2.0% 0.98x
ObjectiveCBridgeStubURLAppendPath 254794 255964 +0.5% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 251723 253103 +0.5% 0.99x (?)
ObjectiveCBridgeToNSArray 12408 12595 +1.5% 0.99x (?)
ObjectiveCBridgeToNSDictionary 22273 22376 +0.5% 1.00x (?)
ObjectiveCBridgeToNSSet 14406 14797 +2.7% 0.97x (?)
ObjectiveCBridgeToNSString 436 457 +4.8% 0.95x
ObserverClosure 1923 1931 +0.4% 1.00x (?)
ObserverForwarderStruct 1065 1062 -0.3% 1.00x (?)
ObserverPartiallyAppliedMethod 3326 3341 +0.5% 1.00x (?)
ObserverUnappliedMethod 2304 2278 -1.1% 1.01x (?)
OpenClose 247 236 -4.5% 1.05x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4447 4667 +4.9% 0.95x
PolymorphicCalls 22 22 +0.0% 1.00x
PopFrontArray 1665 1672 +0.4% 1.00x (?)
PopFrontArrayGeneric 1685 1681 -0.2% 1.00x (?)
PopFrontUnsafePointer 8063 8056 -0.1% 1.00x (?)
PrefixAnyCollection 75 75 +0.0% 1.00x
PrefixAnyCollectionLazy 56559 56355 -0.4% 1.00x (?)
PrefixAnySeqCRangeIter 15012 14791 -1.5% 1.01x
PrefixAnySeqCRangeIterLazy 14985 14793 -1.3% 1.01x (?)
PrefixAnySeqCntRange 25 25 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 25 25 +0.0% 1.00x
PrefixAnySequence 3901 3923 +0.6% 0.99x
PrefixAnySequenceLazy 3917 3921 +0.1% 1.00x (?)
PrefixArray 31 31 +0.0% 1.00x
PrefixArrayLazy 31 31 +0.0% 1.00x
PrefixCountableRange 31 31 +0.0% 1.00x
PrefixCountableRangeLazy 31 31 +0.0% 1.00x
PrefixSequence 1993 1993 +0.0% 1.00x
PrefixSequenceLazy 2040 2041 +0.0% 1.00x (?)
PrefixWhileAnyCollection 138 138 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 81 81 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 7972 8116 +1.8% 0.98x (?)
PrefixWhileAnySeqCRangeIterLazy 65 65 +0.0% 1.00x
PrefixWhileAnySeqCntRange 53 53 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 81 81 +0.0% 1.00x
PrefixWhileAnySequence 8992 9141 +1.7% 0.98x
PrefixWhileAnySequenceLazy 1249 1248 -0.1% 1.00x (?)
PrefixWhileArray 79 79 +0.0% 1.00x
PrefixWhileArrayLazy 63 63 +0.0% 1.00x
PrefixWhileCountableRange 32 32 +0.0% 1.00x
PrefixWhileCountableRangeLazy 31 31 +0.0% 1.00x
PrefixWhileSequence 324 323 -0.3% 1.00x (?)
PrefixWhileSequenceLazy 47 47 +0.0% 1.00x
QueueConcrete 1012 1011 -0.1% 1.00x (?)
QueueGeneric 1012 1011 -0.1% 1.00x (?)
RC4 153 153 +0.0% 1.00x
RGBHistogramOfObjects 22609 22423 -0.8% 1.01x (?)
RangeAssignment 302 302 +0.0% 1.00x
RangeIterationSigned 179 179 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 881 877 -0.5% 1.00x (?)
RecursiveOwnedParameter 103 103 +0.0% 1.00x
RemoveWhereFilterInts 38 38 +0.0% 1.00x
RemoveWhereFilterString 312 312 +0.0% 1.00x
RemoveWhereFilterStrings 385 384 -0.3% 1.00x (?)
RemoveWhereMoveInts 13 13 +0.0% 1.00x
RemoveWhereMoveStrings 629 628 -0.2% 1.00x (?)
RemoveWhereQuadraticInts 1154 1155 +0.1% 1.00x (?)
RemoveWhereQuadraticString 442 445 +0.7% 0.99x (?)
RemoveWhereQuadraticStrings 2468 2469 +0.0% 1.00x (?)
RemoveWhereSwapInts 17 17 +0.0% 1.00x
RemoveWhereSwapStrings 760 760 +0.0% 1.00x
ReversedArray 51 51 +0.0% 1.00x
ReversedBidirectional 14985 15145 +1.1% 0.99x (?)
RomanNumbers 120531 124377 +3.2% 0.97x (?)
SequenceAlgosAnySequence 10727 10530 -1.8% 1.02x
SequenceAlgosArray 1386 1386 +0.0% 1.00x
SequenceAlgosContiguousArray 1386 1386 +0.0% 1.00x
SequenceAlgosList 1213 1215 +0.2% 1.00x (?)
SequenceAlgosRange 2311 2311 +0.0% 1.00x
SequenceAlgosUnfoldSequence 965 965 +0.0% 1.00x
SetExclusiveOr_OfObjects 12804 12312 -3.8% 1.04x
SetIsSubsetOf_OfObjects 492 480 -2.4% 1.02x
SetUnion_OfObjects 10923 10426 -4.6% 1.05x (?)
SevenBoom 787 792 +0.6% 0.99x (?)
Sim2DArray 373 373 +0.0% 1.00x
SortLargeExistentials 5542 5640 +1.8% 0.98x (?)
SortLettersInPlace 943 944 +0.1% 1.00x (?)
SortSortedStrings 901 931 +3.3% 0.97x
SortStrings 1817 1903 +4.7% 0.95x
SortStringsUnicode 2257 2366 +4.8% 0.95x
StackPromo 20268 20310 +0.2% 1.00x (?)
StaticArray 8 8 +0.0% 1.00x
StrComplexWalk 1600 1601 +0.1% 1.00x (?)
StrToInt 2573 2609 +1.4% 0.99x
StringBuilderLong 1093 1093 +0.0% 1.00x
StringBuilderWithLongSubstring 1251 1251 +0.0% 1.00x
StringComparison_emoji 721 747 +3.6% 0.97x (?)
StringComparison_longSharedPrefix 827 848 +2.5% 0.98x (?)
StringComparison_zalgo 111961 111161 -0.7% 1.01x (?)
StringEqualPointerComparison 263 256 -2.7% 1.03x
StringFromLongWholeSubstring 18 18 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 19 19 +0.0% 1.00x
StringHasPrefixAscii 1772 1849 +4.3% 0.96x
StringHasPrefixUnicode 96934 99598 +2.7% 0.97x (?)
StringHasSuffixAscii 1900 1986 +4.5% 0.96x
StringHasSuffixUnicode 101566 104090 +2.5% 0.98x (?)
StringInterpolation 8947 8977 +0.3% 1.00x (?)
StringInterpolationSmall 5803 6042 +4.1% 0.96x (?)
StringMatch 11199 11573 +3.3% 0.97x
StringUTF16Builder 2419 2463 +1.8% 0.98x (?)
StringWalk 1272 1299 +2.1% 0.98x
StringWithCString 38113 38098 -0.0% 1.00x (?)
StringWordBuilder 2064 2064 +0.0% 1.00x
StringWordBuilderReservingCapacity 1790 1832 +2.3% 0.98x
SubstringEqualString 690 696 +0.9% 0.99x (?)
SubstringEquatable 1242 1261 +1.5% 0.98x (?)
SubstringFromLongString 9 9 +0.0% 1.00x
SubstringFromLongStringGeneric 67 67 +0.0% 1.00x
SuffixAnyCollection 27 28 +3.7% 0.96x
SuffixAnyCollectionLazy 18878 18886 +0.0% 1.00x (?)
SuffixAnySeqCRangeIter 3428 3446 +0.5% 0.99x (?)
SuffixAnySeqCRangeIterLazy 3426 3456 +0.9% 0.99x (?)
SuffixAnySeqCntRange 18 18 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 18 18 +0.0% 1.00x
SuffixAnySequence 4451 4486 +0.8% 0.99x (?)
SuffixAnySequenceLazy 4581 4597 +0.3% 1.00x (?)
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 3349 3323 -0.8% 1.01x (?)
SuffixSequenceLazy 3342 3336 -0.2% 1.00x (?)
SumUsingReduce 87 87 +0.0% 1.00x
SumUsingReduceInto 91 91 +0.0% 1.00x
SuperChars 13089 13111 +0.2% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 261 261 +0.0% 1.00x
Walsh 371 361 -2.7% 1.03x
XorLoop 343 343 +0.0% 1.00x

Unoptimized (Onone)

Regression (52)
TEST OLD NEW DELTA SPEEDUP
WordCountUniqueUTF16 11731 83916 +615.3% 0.14x
StringEdits 349923 1312967 +275.2% 0.27x
WordCountHistogramUTF16 41963 115956 +176.3% 0.36x
CharIndexing_ascii_unicodeScalars_Backwards 320658 396973 +23.8% 0.81x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 55787 68891 +23.5% 0.81x
CharIndexing_chinese_unicodeScalars_Backwards 242174 296658 +22.5% 0.82x
CharIndexing_russian_unicodeScalars 237381 290579 +22.4% 0.82x
CharIndexing_russian_unicodeScalars_Backwards 268690 326525 +21.5% 0.82x
CharIndexing_punctuatedJapanese_unicodeScalars 50027 60769 +21.5% 0.82x
CharIndexing_korean_unicodeScalars 277821 336291 +21.0% 0.83x (?)
CharIndexing_ascii_unicodeScalars 286867 346970 +21.0% 0.83x
CharIndexing_chinese_unicodeScalars 214695 258862 +20.6% 0.83x
CharIndexing_punctuated_unicodeScalars 63695 76716 +20.4% 0.83x
CharIndexing_tweet_unicodeScalars 566568 680003 +20.0% 0.83x
CharIndexing_japanese_unicodeScalars 346314 413083 +19.3% 0.84x
CharIndexing_punctuated_unicodeScalars_Backwards 72352 86192 +19.1% 0.84x
CharIndexing_korean_unicodeScalars_Backwards 335096 395775 +18.1% 0.85x
CharIndexing_tweet_unicodeScalars_Backwards 661352 778466 +17.7% 0.85x (?)
CharIteration_punctuated_unicodeScalars_Backwards 49434 57326 +16.0% 0.86x
CharIteration_ascii_unicodeScalars_Backwards 225277 261192 +15.9% 0.86x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 39041 45200 +15.8% 0.86x
StringInterpolationSmall 7805 9031 +15.7% 0.86x (?)
CharIteration_korean_unicodeScalars_Backwards 218135 252246 +15.6% 0.86x
CharIteration_japanese_unicodeScalars_Backwards 268539 309530 +15.3% 0.87x
CharIteration_russian_unicodeScalars_Backwards 186177 214444 +15.2% 0.87x (?)
CharIteration_tweet_unicodeScalars_Backwards 444393 509144 +14.6% 0.87x (?)
CharIteration_chinese_unicodeScalars_Backwards 169519 194108 +14.5% 0.87x
AngryPhonebook 4586 5204 +13.5% 0.88x (?)
DataReplaceMediumBuffer 10848 12271 +13.1% 0.88x (?)
DropFirstAnyCollectionLazy 87849 98991 +12.7% 0.89x (?)
CharIndexing_japanese_unicodeScalars_Backwards 414643 466692 +12.6% 0.89x (?)
PrefixAnyCollectionLazy 87530 97862 +11.8% 0.89x (?)
CharIndexing_utf16_unicodeScalars 249586 279022 +11.8% 0.89x
SuffixAnyCollectionLazy 29643 33053 +11.5% 0.90x
CharIndexing_utf16_unicodeScalars_Backwards 282726 314655 +11.3% 0.90x (?)
PrefixArrayLazy 26591 29429 +10.7% 0.90x
DropLastAnyCollectionLazy 29122 32228 +10.7% 0.90x
CharIteration_utf16_unicodeScalars_Backwards 196437 216680 +10.3% 0.91x
DropFirstArrayLazy 26563 29171 +9.8% 0.91x
StrComplexWalk 5933 6515 +9.8% 0.91x
StringMatch 40164 44041 +9.7% 0.91x
ObjectiveCBridgeFromNSArrayAnyObject 25034 27307 +9.1% 0.92x (?)
ArrayOfGenericPOD2 974 1062 +9.0% 0.92x
SortStringsUnicode 2409 2618 +8.7% 0.92x
ObjectiveCBridgeFromNSArrayAnyObjectForced 7716 8339 +8.1% 0.93x (?)
NSError 545 589 +8.1% 0.93x (?)
StringAdder 971 1039 +7.0% 0.93x
SortStrings 1978 2115 +6.9% 0.94x
FloatingPointPrinting_Double_interpolated 86866 92593 +6.6% 0.94x (?)
SortSortedStrings 989 1052 +6.4% 0.94x
ObjectiveCBridgeToNSSet 15241 16163 +6.0% 0.94x (?)
StringEnumRawValueInitialization 29264 31020 +6.0% 0.94x
Improvement (20)
TEST OLD NEW DELTA SPEEDUP
WordSplitASCII 15141 8898 -41.2% 1.70x
WordSplitUTF16 17177 10458 -39.1% 1.64x
CharacterPropertiesPrecomputed 4391 3103 -29.3% 1.42x
CharacterPropertiesStashedMemo 4792 3876 -19.1% 1.24x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 79304 64989 -18.1% 1.22x
PointerArithmetics 113033 102746 -9.1% 1.10x
StackPromo 94546 86376 -8.6% 1.09x (?)
StringWithCString 40530 37062 -8.6% 1.09x
StringInterpolation 11087 10143 -8.5% 1.09x (?)
MapReduceShortString 214 196 -8.4% 1.09x
TypeFlood 188 174 -7.4% 1.08x (?)
CharacterLiteralsSmall 656 615 -6.2% 1.07x
DictionarySwap 4707 4416 -6.2% 1.07x
ObjectiveCBridgeFromNSSetAnyObject 53549 50266 -6.1% 1.07x (?)
Dictionary3 839 790 -5.8% 1.06x
StringRemoveDupes 737 694 -5.8% 1.06x
TwoSum 3335 3144 -5.7% 1.06x (?)
DataAppendDataSmallToSmall 5441 5139 -5.6% 1.06x (?)
BitCount 8214 7770 -5.4% 1.06x
DictionaryLiteral 8385 7969 -5.0% 1.05x (?)
No Changes (350)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 91756 92180 +0.5% 1.00x (?)
Array2D 566629 566877 +0.0% 1.00x (?)
ArrayAppend 4171 4169 -0.0% 1.00x (?)
ArrayAppendArrayOfInt 726 730 +0.6% 0.99x
ArrayAppendAscii 34731 35324 +1.7% 0.98x
ArrayAppendFromGeneric 729 734 +0.7% 0.99x
ArrayAppendGenericStructs 1273 1279 +0.5% 1.00x
ArrayAppendLatin1 57551 58225 +1.2% 0.99x
ArrayAppendLazyMap 154943 151608 -2.2% 1.02x
ArrayAppendOptionals 1273 1274 +0.1% 1.00x (?)
ArrayAppendRepeatCol 168812 165179 -2.2% 1.02x
ArrayAppendReserved 3938 3940 +0.1% 1.00x (?)
ArrayAppendSequence 92414 92163 -0.3% 1.00x (?)
ArrayAppendStrings 5699 5660 -0.7% 1.01x
ArrayAppendToFromGeneric 730 734 +0.5% 0.99x (?)
ArrayAppendToGeneric 736 738 +0.3% 1.00x (?)
ArrayAppendUTF16 57438 58259 +1.4% 0.99x
ArrayInClass 5595 5552 -0.8% 1.01x (?)
ArrayLiteral 1620 1616 -0.2% 1.00x
ArrayOfGenericRef 9664 9675 +0.1% 1.00x (?)
ArrayOfPOD 679 680 +0.1% 1.00x
ArrayOfRef 8829 8825 -0.0% 1.00x (?)
ArrayPlusEqualArrayOfInt 730 733 +0.4% 1.00x
ArrayPlusEqualFiveElementCollection 210040 210732 +0.3% 1.00x (?)
ArrayPlusEqualSingleElementCollection 206990 208511 +0.7% 0.99x (?)
ArrayPlusEqualThreeElements 8367 8319 -0.6% 1.01x (?)
ArraySubscript 96921 96928 +0.0% 1.00x (?)
ArrayValueProp 3293 3292 -0.0% 1.00x (?)
ArrayValueProp2 13637 13595 -0.3% 1.00x (?)
ArrayValueProp3 3744 3741 -0.1% 1.00x (?)
ArrayValueProp4 3689 3669 -0.5% 1.01x (?)
BinaryFloatingPointPropertiesBinade 82 79 -3.7% 1.04x
BinaryFloatingPointPropertiesNextUp 118 118 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 120 120 +0.0% 1.00x
ByteSwap 8930 8506 -4.7% 1.05x (?)
COWTree 11396 11574 +1.6% 0.98x (?)
CSVParsing 2413463 2417379 +0.2% 1.00x (?)
CSVParsingAlt 1266704 1299698 +2.6% 0.97x (?)
CSVParsingAltIndices 2148371 2225139 +3.6% 0.97x
CStringLongAscii 4965 4822 -2.9% 1.03x
CStringLongNonAscii 2256 2339 +3.7% 0.96x
CStringShortAscii 5545 5601 +1.0% 0.99x (?)
Calculator 1851 1896 +2.4% 0.98x
CaptureProp 250268 251886 +0.6% 0.99x
ChainedFilterMap 209785 210756 +0.5% 1.00x
CharIteration_ascii_unicodeScalars 132395 133639 +0.9% 0.99x (?)
CharIteration_chinese_unicodeScalars 100161 101303 +1.1% 0.99x (?)
CharIteration_japanese_unicodeScalars 158608 160460 +1.2% 0.99x
CharIteration_korean_unicodeScalars 128725 129414 +0.5% 0.99x
CharIteration_punctuatedJapanese_unicodeScalars 23558 23868 +1.3% 0.99x (?)
CharIteration_punctuated_unicodeScalars 29622 29917 +1.0% 0.99x (?)
CharIteration_russian_unicodeScalars 110605 111683 +1.0% 0.99x
CharIteration_tweet_unicodeScalars 261761 264576 +1.1% 0.99x (?)
CharIteration_utf16_unicodeScalars 113174 115382 +2.0% 0.98x
CharacterLiteralsLarge 5195 5207 +0.2% 1.00x (?)
CharacterPropertiesFetch 4986 4931 -1.1% 1.01x (?)
CharacterPropertiesStashed 2083 2065 -0.9% 1.01x (?)
Chars 31984 31988 +0.0% 1.00x (?)
ClassArrayGetter 884 882 -0.2% 1.00x
Combos 2092 2154 +3.0% 0.97x (?)
DataAccessBytes 2100 2082 -0.9% 1.01x (?)
DataAppendArray 4985 5094 +2.2% 0.98x (?)
DataAppendBytes 4703 4847 +3.1% 0.97x (?)
DataAppendDataLargeToLarge 61051 60630 -0.7% 1.01x (?)
DataAppendDataLargeToMedium 31788 31554 -0.7% 1.01x (?)
DataAppendDataLargeToSmall 30803 30623 -0.6% 1.01x (?)
DataAppendDataMediumToLarge 33572 33650 +0.2% 1.00x (?)
DataAppendDataMediumToMedium 6011 6171 +2.7% 0.97x (?)
DataAppendDataMediumToSmall 5350 5409 +1.1% 0.99x (?)
DataAppendDataSmallToLarge 33124 32642 -1.5% 1.01x (?)
DataAppendDataSmallToMedium 5586 5487 -1.8% 1.02x (?)
DataAppendSequence 1747008 1711589 -2.0% 1.02x
DataCopyBytes 2235 2233 -0.1% 1.00x (?)
DataCount 200 200 +0.0% 1.00x
DataMutateBytes 4651 4748 +2.1% 0.98x (?)
DataReplaceLarge 35863 35668 -0.5% 1.01x (?)
DataReplaceLargeBuffer 53841 53184 -1.2% 1.01x (?)
DataReplaceMedium 8224 8156 -0.8% 1.01x (?)
DataReplaceSmall 6233 6055 -2.9% 1.03x (?)
DataReplaceSmallBuffer 8624 8567 -0.7% 1.01x (?)
DataReset 2550 2539 -0.4% 1.00x (?)
DataSetCount 506 505 -0.2% 1.00x (?)
DataSubscript 398 398 +0.0% 1.00x
DictOfArraysToArrayOfDicts 3120 3064 -1.8% 1.02x (?)
Dictionary 2158 2167 +0.4% 1.00x (?)
Dictionary2 1384 1383 -0.1% 1.00x (?)
Dictionary2OfObjects 4283 4120 -3.8% 1.04x (?)
Dictionary3OfObjects 1975 2024 +2.5% 0.98x (?)
Dictionary4 1421 1382 -2.7% 1.03x (?)
Dictionary4OfObjects 2033 1964 -3.4% 1.04x
DictionaryBridge 1217 1166 -4.2% 1.04x (?)
DictionaryCopy 291148 278579 -4.3% 1.05x
DictionaryFilter 298310 288696 -3.2% 1.03x
DictionaryGroup 4097 3986 -2.7% 1.03x
DictionaryGroupOfObjects 6658 6637 -0.3% 1.00x (?)
DictionaryOfObjects 5465 5632 +3.1% 0.97x (?)
DictionaryRemove 15880 15393 -3.1% 1.03x
DictionaryRemoveOfObjects 48853 49967 +2.3% 0.98x (?)
DictionarySubscriptDefaultMutation 1801 1765 -2.0% 1.02x
DictionarySubscriptDefaultMutationArray 2055 2012 -2.1% 1.02x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 8641 8497 -1.7% 1.02x (?)
DictionarySubscriptDefaultMutationOfObjects 5001 4921 -1.6% 1.02x (?)
DictionarySwapAt 32368 31528 -2.6% 1.03x
DictionarySwapAtOfObjects 103495 103926 +0.4% 1.00x (?)
DictionarySwapOfObjects 18541 18181 -1.9% 1.02x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 13879 13671 -1.5% 1.02x
DropFirstAnySeqCRangeIter 21293 20946 -1.6% 1.02x
DropFirstAnySeqCRangeIterLazy 21409 21001 -1.9% 1.02x
DropFirstAnySeqCntRange 13874 13659 -1.5% 1.02x
DropFirstAnySeqCntRangeLazy 13923 13642 -2.0% 1.02x
DropFirstAnySequence 11516 11480 -0.3% 1.00x (?)
DropFirstAnySequenceLazy 11441 11499 +0.5% 0.99x (?)
DropFirstArray 2984 3015 +1.0% 0.99x
DropFirstCountableRange 290 289 -0.3% 1.00x
DropFirstCountableRangeLazy 30483 30342 -0.5% 1.00x (?)
DropFirstSequence 11295 11119 -1.6% 1.02x (?)
DropFirstSequenceLazy 11088 11235 +1.3% 0.99x
DropLastAnyCollection 4634 4575 -1.3% 1.01x
DropLastAnySeqCRangeIter 36473 36432 -0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 36491 36448 -0.1% 1.00x (?)
DropLastAnySeqCntRange 4631 4564 -1.4% 1.01x
DropLastAnySeqCntRangeLazy 4665 4563 -2.2% 1.02x
DropLastAnySequence 27470 27372 -0.4% 1.00x
DropLastAnySequenceLazy 27473 27533 +0.2% 1.00x (?)
DropLastCountableRange 100 100 +0.0% 1.00x
DropLastCountableRangeLazy 10197 10156 -0.4% 1.00x (?)
DropLastSequence 27243 27116 -0.5% 1.00x (?)
DropLastSequenceLazy 27210 27613 +1.5% 0.99x (?)
DropWhileAnyCollection 17957 17780 -1.0% 1.01x (?)
DropWhileAnyCollectionLazy 20274 19935 -1.7% 1.02x
DropWhileAnySeqCRangeIter 21970 21766 -0.9% 1.01x
DropWhileAnySeqCRangeIterLazy 20182 19840 -1.7% 1.02x
DropWhileAnySeqCntRange 17947 17610 -1.9% 1.02x
DropWhileAnySeqCntRangeLazy 20196 19815 -1.9% 1.02x
DropWhileAnySequence 12251 12268 +0.1% 1.00x (?)
DropWhileAnySequenceLazy 11045 11003 -0.4% 1.00x (?)
DropWhileArrayLazy 12643 12545 -0.8% 1.01x
DropWhileCountableRange 4365 4323 -1.0% 1.01x
DropWhileCountableRangeLazy 19975 19583 -2.0% 1.02x (?)
DropWhileSequence 11925 11931 +0.1% 1.00x (?)
DropWhileSequenceLazy 10764 10931 +1.6% 0.98x (?)
EqualStringSubstring 64 64 +0.0% 1.00x
EqualSubstringString 64 64 +0.0% 1.00x
EqualSubstringSubstring 65 64 -1.5% 1.02x
EqualSubstringSubstringGenericEquatable 53 51 -3.8% 1.04x
ErrorHandling 5441 5611 +3.1% 0.97x (?)
ExclusivityGlobal 169 177 +4.7% 0.95x
ExclusivityIndependent 64 67 +4.7% 0.96x (?)
FatCompactMap 263367 267373 +1.5% 0.99x
FilterEvenUsingReduce 3268 3205 -1.9% 1.02x
FilterEvenUsingReduceInto 1715 1675 -2.3% 1.02x
FloatingPointPrinting_Double_description_small 22124 22200 +0.3% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 32696 32707 +0.0% 1.00x (?)
FloatingPointPrinting_Float80_description_small 28426 28431 +0.0% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 54468 52913 -2.9% 1.03x (?)
FloatingPointPrinting_Float80_interpolated 106905 104803 -2.0% 1.02x (?)
FloatingPointPrinting_Float_description_small 6029 6346 +5.3% 0.95x
FloatingPointPrinting_Float_description_uniform 15702 15865 +1.0% 0.99x
FloatingPointPrinting_Float_interpolated 61105 63613 +4.1% 0.96x (?)
FrequenciesUsingReduce 10547 10340 -2.0% 1.02x (?)
FrequenciesUsingReduceInto 3403 3416 +0.4% 1.00x (?)
Hanoi 17694 18465 +4.4% 0.96x
HashTest 18938 19156 +1.2% 0.99x (?)
Histogram 5804 5642 -2.8% 1.03x
Integrate 418 411 -1.7% 1.02x
IterateData 4912 4885 -0.5% 1.01x (?)
Join 704 710 +0.9% 0.99x
LazilyFilteredArrayContains 675045 671223 -0.6% 1.01x (?)
LazilyFilteredArrays 1287831 1278559 -0.7% 1.01x (?)
LazilyFilteredRange 479221 474562 -1.0% 1.01x
LessSubstringSubstring 65 64 -1.5% 1.02x
LessSubstringSubstringGenericComparable 53 51 -3.8% 1.04x
LinkedList 29002 28992 -0.0% 1.00x (?)
LuhnAlgoEager 5241 5028 -4.1% 1.04x (?)
LuhnAlgoLazy 5159 5087 -1.4% 1.01x (?)
MapReduce 22784 22838 +0.2% 1.00x (?)
MapReduceAnyCollection 22859 22806 -0.2% 1.00x (?)
MapReduceAnyCollectionShort 33472 33072 -1.2% 1.01x (?)
MapReduceClass 26536 26451 -0.3% 1.00x (?)
MapReduceClassShort 36930 36423 -1.4% 1.01x (?)
MapReduceLazyCollection 20272 20357 +0.4% 1.00x (?)
MapReduceLazyCollectionShort 31107 31831 +2.3% 0.98x (?)
MapReduceLazySequence 18309 18425 +0.6% 0.99x (?)
MapReduceSequence 27329 27492 +0.6% 0.99x
MapReduceShort 32804 33750 +2.9% 0.97x (?)
MapReduceString 1566 1558 -0.5% 1.01x (?)
Memset 39578 39578 +0.0% 1.00x
MonteCarloE 1029066 1028675 -0.0% 1.00x (?)
MonteCarloPi 4682543 4676931 -0.1% 1.00x (?)
NSDictionaryCastToSwift 5901 5892 -0.2% 1.00x (?)
NSStringConversion 677 709 +4.7% 0.95x (?)
NibbleSort 452088 445118 -1.5% 1.02x
NopDeinit 172436 180061 +4.4% 0.96x
ObjectAllocation 1138 1125 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43449 42369 -2.5% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39237 40919 +4.3% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 104782 102148 -2.5% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5008 5162 +3.1% 0.97x (?)
ObjectiveCBridgeFromNSString 2569 2564 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2586 2517 -2.7% 1.03x (?)
ObjectiveCBridgeStubDataAppend 5740 5587 -2.7% 1.03x (?)
ObjectiveCBridgeStubDateMutation 668 668 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 30351 29615 -2.4% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 7177 7104 -1.0% 1.01x (?)
ObjectiveCBridgeStubFromNSString 959 977 +1.9% 0.98x (?)
ObjectiveCBridgeStubFromNSStringRef 176 178 +1.1% 0.99x (?)
ObjectiveCBridgeStubNSDataAppend 2784 2731 -1.9% 1.02x (?)
ObjectiveCBridgeStubNSDateMutationRef 14277 14110 -1.2% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 34903 34435 -1.3% 1.01x (?)
ObjectiveCBridgeStubToNSDate 14109 14205 +0.7% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3133 3123 -0.3% 1.00x (?)
ObjectiveCBridgeStubToNSString 2172 2170 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 143 138 -3.5% 1.04x (?)
ObjectiveCBridgeStubURLAppendPath 261172 261659 +0.2% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 277395 274835 -0.9% 1.01x (?)
ObjectiveCBridgeToNSArray 12921 12834 -0.7% 1.01x (?)
ObjectiveCBridgeToNSDictionary 23955 24357 +1.7% 0.98x (?)
ObjectiveCBridgeToNSString 477 483 +1.3% 0.99x
ObserverClosure 5869 5834 -0.6% 1.01x (?)
ObserverForwarderStruct 4011 3833 -4.4% 1.05x
ObserverPartiallyAppliedMethod 7201 7168 -0.5% 1.00x (?)
ObserverUnappliedMethod 7678 7556 -1.6% 1.02x
OpenClose 795 791 -0.5% 1.01x
PartialApplyDynamicType 35380 35176 -0.6% 1.01x (?)
Phonebook 16682 17128 +2.7% 0.97x
PolymorphicCalls 2129 2168 +1.8% 0.98x
PopFrontArray 4170 4170 +0.0% 1.00x
PopFrontArrayGeneric 4814 4835 +0.4% 1.00x (?)
PopFrontUnsafePointer 9524 9525 +0.0% 1.00x (?)
PrefixAnyCollection 13877 13661 -1.6% 1.02x
PrefixAnySeqCRangeIter 17031 16833 -1.2% 1.01x (?)
PrefixAnySeqCRangeIterLazy 17060 16930 -0.8% 1.01x (?)
PrefixAnySeqCntRange 13870 13651 -1.6% 1.02x
PrefixAnySeqCntRangeLazy 13889 13672 -1.6% 1.02x
PrefixAnySequence 9479 9487 +0.1% 1.00x (?)
PrefixAnySequenceLazy 9386 9468 +0.9% 0.99x
PrefixArray 2991 3020 +1.0% 0.99x
PrefixCountableRange 289 290 +0.3% 1.00x
PrefixCountableRangeLazy 30441 30440 -0.0% 1.00x (?)
PrefixSequence 9240 9128 -1.2% 1.01x
PrefixSequenceLazy 8947 9093 +1.6% 0.98x
PrefixWhileAnyCollection 25981 25806 -0.7% 1.01x
PrefixWhileAnyCollectionLazy 16741 16452 -1.7% 1.02x (?)
PrefixWhileAnySeqCRangeIter 30682 30587 -0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 16551 16325 -1.4% 1.01x
PrefixWhileAnySeqCntRange 25974 25512 -1.8% 1.02x
PrefixWhileAnySeqCntRangeLazy 16627 16358 -1.6% 1.02x (?)
PrefixWhileAnySequence 24152 23887 -1.1% 1.01x (?)
PrefixWhileAnySequenceLazy 9899 9830 -0.7% 1.01x
PrefixWhileArray 9381 9346 -0.4% 1.00x
PrefixWhileArrayLazy 10978 11028 +0.5% 1.00x (?)
PrefixWhileCountableRange 12383 12237 -1.2% 1.01x
PrefixWhileCountableRangeLazy 16372 16076 -1.8% 1.02x (?)
PrefixWhileSequence 23523 23418 -0.4% 1.00x (?)
PrefixWhileSequenceLazy 9558 9669 +1.2% 0.99x (?)
Prims 8806 8739 -0.8% 1.01x (?)
PrimsSplit 8912 8767 -1.6% 1.02x (?)
QueueConcrete 12995 13012 +0.1% 1.00x (?)
QueueGeneric 16793 16633 -1.0% 1.01x (?)
RC4 14527 14704 +1.2% 0.99x (?)
RGBHistogram 22382 21951 -1.9% 1.02x (?)
RGBHistogramOfObjects 70953 68928 -2.9% 1.03x (?)
RangeAssignment 2414 2348 -2.7% 1.03x (?)
RangeIterationSigned 13238 13411 +1.3% 0.99x (?)
RangeReplaceableCollectionPlusDefault 10453 10181 -2.6% 1.03x
RecursiveOwnedParameter 5279 5179 -1.9% 1.02x
RemoveWhereFilterInts 1837 1830 -0.4% 1.00x (?)
RemoveWhereFilterString 1166 1175 +0.8% 0.99x (?)
RemoveWhereFilterStrings 2282 2284 +0.1% 1.00x (?)
RemoveWhereMoveInts 3291 3290 -0.0% 1.00x (?)
RemoveWhereMoveStrings 3767 3767 +0.0% 1.00x
RemoveWhereQuadraticInts 7224 7207 -0.2% 1.00x (?)
RemoveWhereQuadraticString 2015 2071 +2.8% 0.97x (?)
RemoveWhereQuadraticStrings 8754 8732 -0.3% 1.00x (?)
RemoveWhereSwapInts 5454 5457 +0.1% 1.00x (?)
RemoveWhereSwapStrings 6091 6098 +0.1% 1.00x (?)
ReversedArray 11537 11713 +1.5% 0.98x
ReversedBidirectional 39231 38950 -0.7% 1.01x (?)
ReversedDictionary 20393 20365 -0.1% 1.00x (?)
RomanNumbers 1250763 1297832 +3.8% 0.96x
SequenceAlgosAnySequence 11764 11575 -1.6% 1.02x (?)
SequenceAlgosArray 703588 701649 -0.3% 1.00x (?)
SequenceAlgosContiguousArray 258786 256728 -0.8% 1.01x (?)
SequenceAlgosList 7779 7820 +0.5% 0.99x
SequenceAlgosRange 1151019 1133041 -1.6% 1.02x
SequenceAlgosUnfoldSequence 5864 5854 -0.2% 1.00x (?)
SetExclusiveOr 15339 14698 -4.2% 1.04x
SetExclusiveOr_OfObjects 41837 42085 +0.6% 0.99x (?)
SetIntersect 6101 5999 -1.7% 1.02x
SetIntersect_OfObjects 9654 9989 +3.5% 0.97x
SetIsSubsetOf 1075 1072 -0.3% 1.00x (?)
SetIsSubsetOf_OfObjects 1559 1598 +2.5% 0.98x (?)
SetUnion 11112 10763 -3.1% 1.03x
SetUnion_OfObjects 28653 29681 +3.6% 0.97x (?)
SevenBoom 975 989 +1.4% 0.99x (?)
Sim2DArray 38987 38960 -0.1% 1.00x (?)
SortLargeExistentials 10353 10413 +0.6% 0.99x
SortLettersInPlace 1744 1741 -0.2% 1.00x (?)
StaticArray 2236 2263 +1.2% 0.99x (?)
StrToInt 71411 72800 +1.9% 0.98x (?)
StringBuilder 4941 4919 -0.4% 1.00x (?)
StringBuilderLong 2636 2630 -0.2% 1.00x (?)
StringBuilderWithLongSubstring 4508 4349 -3.5% 1.04x (?)
StringComparison_abnormal 1268 1212 -4.4% 1.05x
StringComparison_ascii 8398 8445 +0.6% 0.99x
StringComparison_emoji 1775 1772 -0.2% 1.00x (?)
StringComparison_fastPrenormal 4344 4418 +1.7% 0.98x
StringComparison_latin1 3390 3451 +1.8% 0.98x
StringComparison_longSharedPrefix 2116 2120 +0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3269 3284 +0.5% 1.00x (?)
StringComparison_slowerPrenormal 3674 3708 +0.9% 0.99x (?)
StringComparison_zalgo 114571 114135 -0.4% 1.00x (?)
StringEqualPointerComparison 1451 1429 -1.5% 1.02x
StringFromLongWholeSubstring 11 11 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 177 177 +0.0% 1.00x
StringHasPrefixAscii 2774 2775 +0.0% 1.00x (?)
StringHasPrefixUnicode 96464 96524 +0.1% 1.00x (?)
StringHasSuffixAscii 2929 2855 -2.5% 1.03x
StringHasSuffixUnicode 94737 96490 +1.9% 0.98x
StringInterpolationManySmallSegments 18372 19002 +3.4% 0.97x (?)
StringUTF16Builder 7092 7207 +1.6% 0.98x (?)
StringUTF16SubstringBuilder 20489 21522 +5.0% 0.95x (?)
StringWalk 11770 11865 +0.8% 0.99x (?)
StringWordBuilder 2179 2207 +1.3% 0.99x
StringWordBuilderReservingCapacity 1924 1954 +1.6% 0.98x
SubstringComparable 1467 1468 +0.1% 1.00x (?)
SubstringEqualString 1519 1516 -0.2% 1.00x (?)
SubstringEquatable 4826 4861 +0.7% 0.99x (?)
SubstringFromLongString 16 16 +0.0% 1.00x
SubstringFromLongStringGeneric 96 96 +0.0% 1.00x
SuffixAnyCollection 4628 4567 -1.3% 1.01x
SuffixAnySeqCRangeIter 32855 32551 -0.9% 1.01x
SuffixAnySeqCRangeIterLazy 32707 32484 -0.7% 1.01x (?)
SuffixAnySeqCntRange 4635 4557 -1.7% 1.02x
SuffixAnySeqCntRangeLazy 4646 4564 -1.8% 1.02x
SuffixAnySequence 23542 23648 +0.5% 1.00x (?)
SuffixAnySequenceLazy 23703 23894 +0.8% 0.99x
SuffixCountableRange 100 100 +0.0% 1.00x
SuffixCountableRangeLazy 10174 10155 -0.2% 1.00x (?)
SuffixSequence 23482 23466 -0.1% 1.00x (?)
SuffixSequenceLazy 23773 23582 -0.8% 1.01x (?)
SumUsingReduce 144603 143771 -0.6% 1.01x
SumUsingReduceInto 136805 136854 +0.0% 1.00x (?)
SuperChars 74898 74648 -0.3% 1.00x (?)
UTF8Decode 26581 26538 -0.2% 1.00x
Walsh 10684 10681 -0.0% 1.00x (?)
WordCountHistogramASCII 34604 34782 +0.5% 0.99x (?)
WordCountUniqueASCII 6739 6509 -3.4% 1.04x
XorLoop 20834 20850 +0.1% 1.00x (?)
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 8-Core Intel Xeon E5
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 8
  L2 Cache (per Core): 256 KB
  L3 Cache: 25 MB
  Memory: 64 GB

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

Looks pretty good! Except for those UTF-16 hashing benchmarks, of course; oops.

@lorentey
Copy link
Member Author

Hm; ASCII String hashing is about 5.5x faster now, while Unicode hashing costs exactly the same. I'm not sure what's going on with StringEdit and WordCount*UTF16 yet, but it's weird.

- String hashing is not inlinable, so it can use _Hasher._core operations directly.
- Remove custom buffering.
- Make sure we feed the normalized UTF-8 encoding to the hasher; don’t insert extra bytes at the first ASCII->non-ASCII transition.
- Add an explicit terminator byte (0xFF).
The new _unsafeHashValue(seed:) requirement allows stdlib types to specialize their hashing when they’re hashed on their own (i.e., not as a component of some composite type).

This makes it possible to get rid of discriminator/terminator values and to eliminate most of _Hasher’s resiliency overhead, leading to considerable speedups.
…issue

When Set/Dictionary is nested in another Set, the boundaries of the nested collections weren’t correctly delineated in commutative hashing.

For example, these Sets all hashed the same:

[[1, 2], [3, 4]]
[[1, 3], [2, 4]]
[[1, 4], [2, 3]]

Hash collisions could thus be systematically generated.

To fix this, remove collection-level support for one-shot hashing and revert to the previous method of generating hash values. (Set is still able to support one-shot hashing for its members, though.)
This is safe to do with hash(into:), because random hash collisions can be eliminated with awesome certainty by trying a number of different hash seeds. (Unless there is a weakness in SipHash.)

In some cases, we intentionally want hashing to produce looser equivalency classes than equality — to let those cases keep working, add an optional hashEqualityOracle parameter.

Review usages of checkHashable and add hash oracles as needed.
This makes it easier to understand failure traces in test logs.
Add FIXMEs for potential correctness issues with the existing hashValue definition.
This prototype is not fully implemented, and it relies on specific hash values to not trigger unhandled cases.

To keep its test working, define and use a custom hashing interface that emulates hashValue behavior prior to SE-0206.
@lorentey lorentey force-pushed the brand-new-combine-harvester branch from e3c9c27 to 7af6776 Compare April 18, 2018 13:11
@lorentey
Copy link
Member Author

@swift-ci benchmark

@lorentey
Copy link
Member Author

I fixed the benchmark regression; ASCII hashing is still 5.5x faster, while Unicode hashing is largely unchanged (with a minimal improvement). I expect the benchmarks will be much better now.

This PR is getting too large; I think I'll split it into smaller chunks that can be reviewed separately.

@lorentey
Copy link
Member Author

@swift-ci please test

2 similar comments
@lorentey
Copy link
Member Author

@swift-ci please test

@lorentey
Copy link
Member Author

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 7af6776

@lorentey lorentey changed the title [stdlib] Flesh out _Hasher API 🛑[stdlib] Flesh out _Hasher API Apr 18, 2018
@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (15)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 373 536 +43.7% 0.70x
StringWordBuilder 2070 2305 +11.4% 0.90x (?)
CharIndexing_tweet_unicodeScalars 27737 30354 +9.4% 0.91x
PointerArithmetics 28253 30821 +9.1% 0.92x
CharIndexing_japanese_unicodeScalars 17132 18644 +8.8% 0.92x
CharIndexing_ascii_unicodeScalars 14310 15566 +8.8% 0.92x
CharIndexing_russian_unicodeScalars 11924 12969 +8.8% 0.92x
CharIndexing_chinese_unicodeScalars 10841 11790 +8.8% 0.92x
CharIndexing_korean_unicodeScalars 13885 15097 +8.7% 0.92x
RemoveWhereMoveInts 12 13 +8.3% 0.92x
CharIndexing_punctuatedJapanese_unicodeScalars 2598 2811 +8.2% 0.92x (?)
CharIndexing_punctuated_unicodeScalars 3251 3517 +8.2% 0.92x
ObjectiveCBridgeFromNSDictionaryAnyObject 100547 108541 +8.0% 0.93x (?)
ObjectiveCBridgeStubFromArrayOfNSString 28237 30480 +7.9% 0.93x (?)
DropLastAnySequence 4505 4808 +6.7% 0.94x (?)
Improvement (49)
TEST OLD NEW DELTA SPEEDUP
WordSplitASCII 11406 5109 -55.2% 2.23x
WordSplitUTF16 13111 6755 -48.5% 1.94x
SetIntersect 888 626 -29.5% 1.42x
DictionarySwap 1257 923 -26.6% 1.36x
Dictionary3 300 227 -24.3% 1.32x
DictionarySubscriptDefaultMutation 311 240 -22.8% 1.30x (?)
SetExclusiveOr 6115 4730 -22.6% 1.29x
ReversedDictionary 266 210 -21.1% 1.27x
SetUnion 5119 4045 -21.0% 1.27x
DictionaryGroup 241 193 -19.9% 1.25x
Histogram 796 641 -19.5% 1.24x
WordCountUniqueASCII 2362 1908 -19.2% 1.24x
ObjectiveCBridgeFromNSSetAnyObjectToString 71149 57870 -18.7% 1.23x (?)
StringComparison_abnormal 832 687 -17.4% 1.21x
DictionaryRemove 4861 4037 -17.0% 1.20x
StringEnumRawValueInitialization 988 827 -16.3% 1.19x (?)
Dictionary 729 626 -14.1% 1.16x
TwoSum 1547 1332 -13.9% 1.16x
RGBHistogram 3580 3100 -13.4% 1.15x
CharacterPropertiesPrecomputed 1122 975 -13.1% 1.15x
CharacterPropertiesStashedMemo 1561 1377 -11.8% 1.13x (?)
DictionaryCopy 105239 94224 -10.5% 1.12x
Chars 1089 979 -10.1% 1.11x
DictionaryFilter 103999 93949 -9.7% 1.11x
StringUTF16SubstringBuilder 5558 5048 -9.2% 1.10x (?)
DictionaryLiteral 1888 1715 -9.2% 1.10x (?)
Dictionary2 812 742 -8.6% 1.09x (?)
DropLastAnySeqCntRangeLazy 12 11 -8.3% 1.09x
Join 167 154 -7.8% 1.08x
StringAdder 691 640 -7.4% 1.08x
RemoveWhereFilterInts 41 38 -7.3% 1.08x
StringWordBuilderReservingCapacity 1818 1686 -7.3% 1.08x
Dictionary3OfObjects 774 718 -7.2% 1.08x (?)
DictionarySubscriptDefaultMutationArray 604 561 -7.1% 1.08x
StringBuilder 719 670 -6.8% 1.07x
PrimsSplit 1030 964 -6.4% 1.07x
Dictionary4 736 689 -6.4% 1.07x
Hanoi 1997 1873 -6.2% 1.07x
SortStringsUnicode 2365 2219 -6.2% 1.07x
LazilyFilteredArrayContains 34671 32531 -6.2% 1.07x (?)
SetIsSubsetOf 337 317 -5.9% 1.06x
StringComparison_latin1 578 544 -5.9% 1.06x
Prims 1034 977 -5.5% 1.06x (?)
SetIntersect_OfObjects 2154 2036 -5.5% 1.06x
StringHasPrefixAscii 1874 1772 -5.4% 1.06x
StringComparison_fastPrenormal 734 695 -5.3% 1.06x
StringHasSuffixAscii 2003 1900 -5.1% 1.05x
StringHasPrefixUnicode 102687 97689 -4.9% 1.05x (?)
ObjectiveCBridgeToNSString 454 432 -4.8% 1.05x (?)
No Changes (358)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3309 3353 +1.3% 0.99x (?)
AnyHashableWithAClass 76582 75796 -1.0% 1.01x (?)
Array2D 2272 2272 +0.0% 1.00x
ArrayAppend 974 977 +0.3% 1.00x (?)
ArrayAppendArrayOfInt 671 670 -0.1% 1.00x (?)
ArrayAppendAscii 12586 12471 -0.9% 1.01x (?)
ArrayAppendFromGeneric 673 672 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1209 1207 -0.2% 1.00x (?)
ArrayAppendLatin1 36333 36127 -0.6% 1.01x (?)
ArrayAppendLazyMap 1173 1175 +0.2% 1.00x (?)
ArrayAppendOptionals 1208 1208 +0.0% 1.00x
ArrayAppendRepeatCol 1174 1175 +0.1% 1.00x (?)
ArrayAppendReserved 749 748 -0.1% 1.00x (?)
ArrayAppendSequence 978 976 -0.2% 1.00x (?)
ArrayAppendStrings 5585 5596 +0.2% 1.00x
ArrayAppendToFromGeneric 673 672 -0.1% 1.00x (?)
ArrayAppendToGeneric 673 672 -0.1% 1.00x (?)
ArrayAppendUTF16 36045 35248 -2.2% 1.02x (?)
ArrayInClass 77 77 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 129 129 +0.0% 1.00x
ArrayOfGenericRef 3914 3912 -0.1% 1.00x (?)
ArrayOfPOD 156 155 -0.6% 1.01x
ArrayOfRef 3906 3898 -0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 671 671 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4932 4904 -0.6% 1.01x (?)
ArrayPlusEqualSingleElementCollection 976 977 +0.1% 1.00x (?)
ArrayPlusEqualThreeElements 1480 1478 -0.1% 1.00x (?)
ArraySubscript 1361 1365 +0.3% 1.00x (?)
ArrayValueProp 7 7 +0.0% 1.00x
ArrayValueProp2 7 7 +0.0% 1.00x
ArrayValueProp3 7 7 +0.0% 1.00x
ArrayValueProp4 7 7 +0.0% 1.00x
BinaryFloatingPointPropertiesBinade 23 23 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 25 25 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 31 31 +0.0% 1.00x
BitCount 181 181 +0.0% 1.00x
ByteSwap 89 90 +1.1% 0.99x (?)
COWTree 4784 4846 +1.3% 0.99x (?)
CSVParsing 672857 669584 -0.5% 1.00x (?)
CSVParsingAlt 692463 700153 +1.1% 0.99x (?)
CSVParsingAltIndices 310731 310582 -0.0% 1.00x (?)
CStringLongAscii 4159 4155 -0.1% 1.00x (?)
CStringLongNonAscii 1965 1995 +1.5% 0.98x (?)
CStringShortAscii 2832 2830 -0.1% 1.00x (?)
Calculator 1020 1026 +0.6% 0.99x
CaptureProp 3677 3684 +0.2% 1.00x (?)
ChainedFilterMap 1262 1263 +0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 14353 14669 +2.2% 0.98x
CharIndexing_chinese_unicodeScalars_Backwards 10878 11115 +2.2% 0.98x
CharIndexing_japanese_unicodeScalars_Backwards 17191 17563 +2.2% 0.98x
CharIndexing_korean_unicodeScalars_Backwards 13921 14229 +2.2% 0.98x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2605 2661 +2.1% 0.98x
CharIndexing_punctuated_unicodeScalars_Backwards 3259 3329 +2.1% 0.98x
CharIndexing_russian_unicodeScalars_Backwards 11966 12225 +2.2% 0.98x
CharIndexing_tweet_unicodeScalars_Backwards 28012 28941 +3.3% 0.97x
CharIndexing_utf16_unicodeScalars 20299 20683 +1.9% 0.98x
CharIndexing_utf16_unicodeScalars_Backwards 20836 20908 +0.3% 1.00x (?)
CharIteration_ascii_unicodeScalars 18456 19121 +3.6% 0.97x
CharIteration_ascii_unicodeScalars_Backwards 13459 13549 +0.7% 0.99x (?)
CharIteration_chinese_unicodeScalars 13974 14472 +3.6% 0.97x
CharIteration_chinese_unicodeScalars_Backwards 10196 10262 +0.6% 0.99x (?)
CharIteration_japanese_unicodeScalars 22091 22908 +3.7% 0.96x
CharIteration_japanese_unicodeScalars_Backwards 16110 16218 +0.7% 0.99x
CharIteration_korean_unicodeScalars 17896 18546 +3.6% 0.96x
CharIteration_korean_unicodeScalars_Backwards 13051 13139 +0.7% 0.99x
CharIteration_punctuatedJapanese_unicodeScalars 3307 3413 +3.2% 0.97x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2445 2452 +0.3% 1.00x (?)
CharIteration_punctuated_unicodeScalars 4142 4284 +3.4% 0.97x
CharIteration_punctuated_unicodeScalars_Backwards 3055 3069 +0.5% 1.00x
CharIteration_russian_unicodeScalars 15376 15930 +3.6% 0.97x
CharIteration_russian_unicodeScalars_Backwards 11216 11288 +0.6% 0.99x
CharIteration_tweet_unicodeScalars 35926 37763 +5.1% 0.95x
CharIteration_tweet_unicodeScalars_Backwards 26543 26758 +0.8% 0.99x (?)
CharIteration_utf16_unicodeScalars 24873 25153 +1.1% 0.99x
CharIteration_utf16_unicodeScalars_Backwards 16294 16646 +2.2% 0.98x
CharacterLiteralsLarge 5228 5232 +0.1% 1.00x (?)
CharacterLiteralsSmall 195 195 +0.0% 1.00x
CharacterPropertiesFetch 4042 4033 -0.2% 1.00x (?)
CharacterPropertiesStashed 1329 1289 -3.0% 1.03x (?)
ClassArrayGetter 13 13 +0.0% 1.00x
Combos 435 437 +0.5% 1.00x (?)
DataAccessBytes 1112 1093 -1.7% 1.02x
DataAppendArray 5699 5836 +2.4% 0.98x (?)
DataAppendBytes 5282 5477 +3.7% 0.96x (?)
DataAppendDataLargeToLarge 60921 61545 +1.0% 0.99x (?)
DataAppendDataLargeToMedium 32346 32678 +1.0% 0.99x (?)
DataAppendDataLargeToSmall 31488 31576 +0.3% 1.00x (?)
DataAppendDataMediumToLarge 34285 34589 +0.9% 0.99x (?)
DataAppendDataMediumToMedium 6794 6903 +1.6% 0.98x (?)
DataAppendDataMediumToSmall 6154 6174 +0.3% 1.00x (?)
DataAppendDataSmallToLarge 33649 33900 +0.7% 0.99x (?)
DataAppendDataSmallToMedium 6390 6536 +2.3% 0.98x (?)
DataAppendDataSmallToSmall 6179 6002 -2.9% 1.03x (?)
DataAppendSequence 17067 17506 +2.6% 0.97x (?)
DataCopyBytes 2245 2254 +0.4% 1.00x (?)
DataCount 34 33 -2.9% 1.03x
DataMutateBytes 3896 3874 -0.6% 1.01x (?)
DataReplaceLarge 37741 38251 +1.4% 0.99x (?)
DataReplaceLargeBuffer 51976 51715 -0.5% 1.01x (?)
DataReplaceMedium 9809 10320 +5.2% 0.95x (?)
DataReplaceMediumBuffer 10903 10904 +0.0% 1.00x (?)
DataReplaceSmall 7847 7812 -0.4% 1.00x (?)
DataReplaceSmallBuffer 8337 8493 +1.9% 0.98x (?)
DataReset 2845 2859 +0.5% 1.00x (?)
DataSetCount 804 806 +0.2% 1.00x (?)
DataSubscript 213 214 +0.5% 1.00x (?)
DictOfArraysToArrayOfDicts 751 721 -4.0% 1.04x (?)
Dictionary2OfObjects 2162 2105 -2.6% 1.03x (?)
Dictionary4OfObjects 836 797 -4.7% 1.05x
DictionaryBridge 1099 1079 -1.8% 1.02x (?)
DictionaryGroupOfObjects 2063 2045 -0.9% 1.01x (?)
DictionaryOfObjects 2395 2291 -4.3% 1.05x
DictionaryRemoveOfObjects 26158 25348 -3.1% 1.03x
DictionarySubscriptDefaultMutationArrayOfObjects 3743 3710 -0.9% 1.01x (?)
DictionarySubscriptDefaultMutationOfObjects 1707 1659 -2.8% 1.03x (?)
DictionarySwapAt 6535 6276 -4.0% 1.04x (?)
DictionarySwapAtOfObjects 47552 47498 -0.1% 1.00x (?)
DictionarySwapOfObjects 8459 8279 -2.1% 1.02x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 75 75 +0.0% 1.00x
DropFirstAnyCollectionLazy 56618 56853 +0.4% 1.00x (?)
DropFirstAnySeqCRangeIter 19114 19215 +0.5% 0.99x (?)
DropFirstAnySeqCRangeIterLazy 19075 19215 +0.7% 0.99x (?)
DropFirstAnySeqCntRange 36 36 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 36 36 +0.0% 1.00x
DropFirstAnySequence 4571 4492 -1.7% 1.02x (?)
DropFirstAnySequenceLazy 4579 4511 -1.5% 1.02x
DropFirstArray 31 31 +0.0% 1.00x
DropFirstArrayLazy 31 31 +0.0% 1.00x
DropFirstCountableRange 31 31 +0.0% 1.00x
DropFirstCountableRangeLazy 31 31 +0.0% 1.00x
DropFirstSequence 2405 2405 +0.0% 1.00x
DropFirstSequenceLazy 2489 2488 -0.0% 1.00x (?)
DropLastAnyCollection 28 27 -3.6% 1.04x
DropLastAnyCollectionLazy 18863 19028 +0.9% 0.99x (?)
DropLastAnySeqCRangeIter 3247 3273 +0.8% 0.99x (?)
DropLastAnySeqCRangeIterLazy 3264 3274 +0.3% 1.00x (?)
DropLastAnySeqCntRange 12 12 +0.0% 1.00x
DropLastAnySequenceLazy 4894 4927 +0.7% 0.99x (?)
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropLastSequence 505 509 +0.8% 0.99x (?)
DropLastSequenceLazy 505 509 +0.8% 0.99x (?)
DropWhileAnyCollection 96 96 +0.0% 1.00x
DropWhileAnyCollectionLazy 112 112 +0.0% 1.00x
DropWhileAnySeqCRangeIter 15069 15057 -0.1% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 112 112 +0.0% 1.00x
DropWhileAnySeqCntRange 45 45 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 112 112 +0.0% 1.00x
DropWhileAnySequence 4353 4379 +0.6% 0.99x
DropWhileAnySequenceLazy 1665 1665 +0.0% 1.00x
DropWhileArrayLazy 79 79 +0.0% 1.00x
DropWhileCountableRange 32 32 +0.0% 1.00x
DropWhileCountableRangeLazy 94 94 +0.0% 1.00x
DropWhileSequence 1993 1985 -0.4% 1.00x (?)
DropWhileSequenceLazy 79 79 +0.0% 1.00x
EqualStringSubstring 50 50 +0.0% 1.00x
EqualSubstringString 60 59 -1.7% 1.02x
EqualSubstringSubstring 43 43 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 43 43 +0.0% 1.00x
ErrorHandling 1348 1314 -2.5% 1.03x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 184680 183733 -0.5% 1.01x (?)
FilterEvenUsingReduce 1168 1168 +0.0% 1.00x
FilterEvenUsingReduceInto 135 135 +0.0% 1.00x
FloatingPointPrinting_Double_description_small 21127 21039 -0.4% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 20623 20657 +0.2% 1.00x (?)
FloatingPointPrinting_Double_interpolated 68291 68540 +0.4% 1.00x (?)
FloatingPointPrinting_Float80_description_small 27363 27196 -0.6% 1.01x (?)
FloatingPointPrinting_Float80_description_uniform 27226 27135 -0.3% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 72286 73746 +2.0% 0.98x (?)
FloatingPointPrinting_Float_description_small 4676 4772 +2.1% 0.98x
FloatingPointPrinting_Float_description_uniform 4591 4441 -3.3% 1.03x
FloatingPointPrinting_Float_interpolated 46959 46783 -0.4% 1.00x (?)
FrequenciesUsingReduce 4976 4750 -4.5% 1.05x (?)
FrequenciesUsingReduceInto 1633 1581 -3.2% 1.03x (?)
HashTest 914 913 -0.1% 1.00x (?)
Integrate 317 315 -0.6% 1.01x
IterateData 1758 1758 +0.0% 1.00x
LazilyFilteredArrays 58922 58983 +0.1% 1.00x (?)
LazilyFilteredRange 3462 3342 -3.5% 1.04x (?)
LessSubstringSubstring 43 43 +0.0% 1.00x
LessSubstringSubstringGenericComparable 43 43 +0.0% 1.00x
LinkedList 6762 6762 +0.0% 1.00x
LuhnAlgoEager 270 266 -1.5% 1.02x (?)
LuhnAlgoLazy 268 268 +0.0% 1.00x
MapReduce 332 332 +0.0% 1.00x
MapReduceAnyCollection 386 385 -0.3% 1.00x (?)
MapReduceAnyCollectionShort 1997 2001 +0.2% 1.00x (?)
MapReduceClass 2689 2707 +0.7% 0.99x (?)
MapReduceClassShort 4086 4091 +0.1% 1.00x (?)
MapReduceLazyCollection 12 12 +0.0% 1.00x
MapReduceLazyCollectionShort 30 30 +0.0% 1.00x
MapReduceLazySequence 77 77 +0.0% 1.00x
MapReduceSequence 409 411 +0.5% 1.00x (?)
MapReduceShort 1796 1803 +0.4% 1.00x (?)
MapReduceShortString 27 27 +0.0% 1.00x
MapReduceString 70 70 +0.0% 1.00x
Memset 192 191 -0.5% 1.01x (?)
MonteCarloE 9215 9160 -0.6% 1.01x (?)
MonteCarloPi 38323 38304 -0.0% 1.00x (?)
NSDictionaryCastToSwift 4806 4844 +0.8% 0.99x (?)
NSError 155 154 -0.6% 1.01x (?)
NSStringConversion 635 651 +2.5% 0.98x
NibbleSort 3292 3292 +0.0% 1.00x
NopDeinit 28338 27057 -4.5% 1.05x
ObjectAllocation 119 119 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 22219 22064 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4227 4111 -2.7% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 40112 40100 -0.0% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37875 37923 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 46093 47809 +3.7% 0.96x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4277 4375 +2.3% 0.98x (?)
ObjectiveCBridgeFromNSString 1093 1087 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2378 2389 +0.5% 1.00x (?)
ObjectiveCBridgeStubDataAppend 10339 10144 -1.9% 1.02x (?)
ObjectiveCBridgeStubDateMutation 359 359 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 5633 5907 +4.9% 0.95x (?)
ObjectiveCBridgeStubFromNSString 913 957 +4.8% 0.95x (?)
ObjectiveCBridgeStubFromNSStringRef 145 150 +3.4% 0.97x
ObjectiveCBridgeStubNSDataAppend 2330 2306 -1.0% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 11969 11483 -4.1% 1.04x (?)
ObjectiveCBridgeStubToArrayOfNSString 33962 34531 +1.7% 0.98x (?)
ObjectiveCBridgeStubToNSDate 13042 13633 +4.5% 0.96x (?)
ObjectiveCBridgeStubToNSDateRef 3071 2985 -2.8% 1.03x (?)
ObjectiveCBridgeStubToNSString 2131 2137 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 106 101 -4.7% 1.05x (?)
ObjectiveCBridgeStubURLAppendPath 250663 256857 +2.5% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 252646 258346 +2.3% 0.98x (?)
ObjectiveCBridgeToNSArray 12548 12555 +0.1% 1.00x (?)
ObjectiveCBridgeToNSDictionary 22699 22617 -0.4% 1.00x (?)
ObjectiveCBridgeToNSSet 14353 14021 -2.3% 1.02x (?)
ObserverClosure 1909 1939 +1.6% 0.98x (?)
ObserverForwarderStruct 1068 1064 -0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3315 3381 +2.0% 0.98x
ObserverUnappliedMethod 2284 2272 -0.5% 1.01x (?)
OpenClose 250 259 +3.6% 0.97x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4491 4661 +3.8% 0.96x
PolymorphicCalls 22 22 +0.0% 1.00x
PopFrontArray 1671 1665 -0.4% 1.00x (?)
PopFrontArrayGeneric 1680 1684 +0.2% 1.00x (?)
PopFrontUnsafePointer 7784 7951 +2.1% 0.98x (?)
PrefixAnyCollection 75 75 +0.0% 1.00x
PrefixAnyCollectionLazy 56380 56954 +1.0% 0.99x (?)
PrefixAnySeqCRangeIter 14955 14954 -0.0% 1.00x (?)
PrefixAnySeqCRangeIterLazy 14963 14968 +0.0% 1.00x (?)
PrefixAnySeqCntRange 25 25 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 25 25 +0.0% 1.00x
PrefixAnySequence 3914 3915 +0.0% 1.00x (?)
PrefixAnySequenceLazy 3913 3914 +0.0% 1.00x (?)
PrefixArray 31 31 +0.0% 1.00x
PrefixArrayLazy 31 31 +0.0% 1.00x
PrefixCountableRange 31 31 +0.0% 1.00x
PrefixCountableRangeLazy 31 31 +0.0% 1.00x
PrefixSequence 1994 1990 -0.2% 1.00x
PrefixSequenceLazy 2041 2040 -0.0% 1.00x (?)
PrefixWhileAnyCollection 138 138 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 81 81 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 8022 8132 +1.4% 0.99x
PrefixWhileAnySeqCRangeIterLazy 65 65 +0.0% 1.00x
PrefixWhileAnySeqCntRange 53 53 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 81 81 +0.0% 1.00x
PrefixWhileAnySequence 9068 9145 +0.8% 0.99x (?)
PrefixWhileAnySequenceLazy 1249 1249 +0.0% 1.00x
PrefixWhileArray 79 79 +0.0% 1.00x
PrefixWhileArrayLazy 63 63 +0.0% 1.00x
PrefixWhileCountableRange 33 32 -3.0% 1.03x
PrefixWhileCountableRangeLazy 31 31 +0.0% 1.00x
PrefixWhileSequence 323 323 +0.0% 1.00x
PrefixWhileSequenceLazy 47 47 +0.0% 1.00x
QueueConcrete 1012 1010 -0.2% 1.00x (?)
QueueGeneric 1012 1010 -0.2% 1.00x (?)
RC4 150 150 +0.0% 1.00x
RGBHistogramOfObjects 22656 22409 -1.1% 1.01x (?)
RangeAssignment 314 316 +0.6% 0.99x (?)
RangeIterationSigned 154 154 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 876 882 +0.7% 0.99x (?)
RecursiveOwnedParameter 103 103 +0.0% 1.00x
RemoveWhereFilterString 312 313 +0.3% 1.00x (?)
RemoveWhereFilterStrings 384 384 +0.0% 1.00x
RemoveWhereMoveStrings 629 629 +0.0% 1.00x
RemoveWhereQuadraticInts 1154 1153 -0.1% 1.00x (?)
RemoveWhereQuadraticString 446 441 -1.1% 1.01x (?)
RemoveWhereQuadraticStrings 2468 2469 +0.0% 1.00x (?)
RemoveWhereSwapInts 17 17 +0.0% 1.00x
RemoveWhereSwapStrings 760 760 +0.0% 1.00x
ReversedArray 51 51 +0.0% 1.00x
ReversedBidirectional 14742 14906 +1.1% 0.99x (?)
RomanNumbers 124639 125057 +0.3% 1.00x (?)
SequenceAlgosAnySequence 10638 10625 -0.1% 1.00x (?)
SequenceAlgosArray 1386 1387 +0.1% 1.00x (?)
SequenceAlgosContiguousArray 1386 1386 +0.0% 1.00x
SequenceAlgosList 1211 1215 +0.3% 1.00x (?)
SequenceAlgosRange 2312 2311 -0.0% 1.00x (?)
SequenceAlgosUnfoldSequence 989 989 +0.0% 1.00x
SetExclusiveOr_OfObjects 12658 12310 -2.7% 1.03x
SetIsSubsetOf_OfObjects 487 479 -1.6% 1.02x
SetUnion_OfObjects 10786 10367 -3.9% 1.04x
SevenBoom 789 790 +0.1% 1.00x (?)
SortLargeExistentials 5572 5552 -0.4% 1.00x (?)
SortLettersInPlace 942 949 +0.7% 0.99x (?)
SortSortedStrings 920 919 -0.1% 1.00x (?)
SortStrings 1858 1861 +0.2% 1.00x (?)
StackPromo 20329 20358 +0.1% 1.00x (?)
StaticArray 8 8 +0.0% 1.00x
StrComplexWalk 1600 1602 +0.1% 1.00x
StrToInt 2728 2648 -2.9% 1.03x
StringBuilderLong 1093 1096 +0.3% 1.00x (?)
StringBuilderWithLongSubstring 1255 1246 -0.7% 1.01x (?)
StringComparison_ascii 1154 1152 -0.2% 1.00x (?)
StringComparison_emoji 742 734 -1.1% 1.01x (?)
StringComparison_longSharedPrefix 841 832 -1.1% 1.01x (?)
StringComparison_nonBMPSlowestPrenormal 1443 1449 +0.4% 1.00x (?)
StringComparison_slowerPrenormal 1537 1564 +1.8% 0.98x (?)
StringComparison_zalgo 111420 112355 +0.8% 0.99x (?)
StringEdits 152526 151481 -0.7% 1.01x (?)
StringEqualPointerComparison 256 265 +3.5% 0.97x
StringFromLongWholeSubstring 18 18 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 19 19 +0.0% 1.00x
StringHasSuffixUnicode 103988 102642 -1.3% 1.01x (?)
StringInterpolation 8936 9003 +0.7% 0.99x (?)
StringInterpolationManySmallSegments 16905 16790 -0.7% 1.01x (?)
StringInterpolationSmall 5871 5805 -1.1% 1.01x (?)
StringMatch 10425 10156 -2.6% 1.03x (?)
StringRemoveDupes 737 708 -3.9% 1.04x
StringUTF16Builder 2520 2407 -4.5% 1.05x (?)
StringWalk 1337 1279 -4.3% 1.05x
StringWithCString 36428 36546 +0.3% 1.00x (?)
SubstringComparable 25 24 -4.0% 1.04x
SubstringEqualString 698 690 -1.1% 1.01x (?)
SubstringEquatable 1275 1265 -0.8% 1.01x (?)
SubstringFromLongString 9 9 +0.0% 1.00x
SubstringFromLongStringGeneric 67 67 +0.0% 1.00x
SuffixAnyCollection 27 27 +0.0% 1.00x
SuffixAnyCollectionLazy 18856 19012 +0.8% 0.99x (?)
SuffixAnySeqCRangeIter 3464 3482 +0.5% 0.99x (?)
SuffixAnySeqCRangeIterLazy 3451 3482 +0.9% 0.99x (?)
SuffixAnySeqCntRange 18 18 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 18 18 +0.0% 1.00x
SuffixAnySequence 5102 5088 -0.3% 1.00x (?)
SuffixAnySequenceLazy 5282 5294 +0.2% 1.00x (?)
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 3304 3338 +1.0% 0.99x (?)
SuffixSequenceLazy 3304 3329 +0.8% 0.99x (?)
SumUsingReduce 91 91 +0.0% 1.00x
SumUsingReduceInto 87 87 +0.0% 1.00x
SuperChars 13092 13173 +0.6% 0.99x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 261 264 +1.1% 0.99x
Walsh 361 363 +0.6% 0.99x (?)
WordCountHistogramASCII 7507 7279 -3.0% 1.03x (?)
WordCountHistogramUTF16 13183 12976 -1.6% 1.02x (?)
WordCountUniqueUTF16 6803 6690 -1.7% 1.02x (?)
XorLoop 336 335 -0.3% 1.00x (?)

Unoptimized (Onone)

Regression (13)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubFromNSDate 6252 7245 +15.9% 0.86x
StringUTF16SubstringBuilder 19881 22322 +12.3% 0.89x (?)
PrefixAnyCollectionLazy 88213 97420 +10.4% 0.91x
LuhnAlgoLazy 4755 5209 +9.5% 0.91x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5163 5647 +9.4% 0.91x (?)
DataAppendDataMediumToMedium 5786 6317 +9.2% 0.92x (?)
WordCountUniqueUTF16 11386 12395 +8.9% 0.92x
SuffixAnyCollectionLazy 30164 32772 +8.6% 0.92x
FloatingPointPrinting_Float80_description_uniform 52533 57017 +8.5% 0.92x
PrefixAnySeqCntRange 13696 14840 +8.4% 0.92x (?)
CStringShortAscii 5586 6026 +7.9% 0.93x (?)
DropFirstAnyCollectionLazy 88970 94734 +6.5% 0.94x (?)
FloatingPointPrinting_Float80_interpolated 105088 110842 +5.5% 0.95x (?)
Improvement (64)
TEST OLD NEW DELTA SPEEDUP
WordSplitASCII 14784 7944 -46.3% 1.86x
WordSplitUTF16 16536 9724 -41.2% 1.70x
CharIteration_chinese_unicodeScalars 132487 100584 -24.1% 1.32x
CharIteration_russian_unicodeScalars 140366 110602 -21.2% 1.27x
DictionarySubscriptDefaultMutationArray 2490 1997 -19.8% 1.25x
DictionarySubscriptDefaultMutation 2192 1764 -19.5% 1.24x
CharIndexing_japanese_unicodeScalars_Backwards 473780 382107 -19.3% 1.24x
CharIndexing_chinese_unicodeScalars_Backwards 295882 240466 -18.7% 1.23x
DataReplaceSmallBuffer 9828 8022 -18.4% 1.23x
ObjectiveCBridgeFromNSSetAnyObjectToString 78139 63829 -18.3% 1.22x
CharIndexing_japanese_unicodeScalars 409422 336477 -17.8% 1.22x
CharIndexing_punctuatedJapanese_unicodeScalars 60101 49533 -17.6% 1.21x
CharIndexing_russian_unicodeScalars 282555 233942 -17.2% 1.21x
CharIndexing_ascii_unicodeScalars 339494 281174 -17.2% 1.21x
CharIndexing_russian_unicodeScalars_Backwards 317922 264452 -16.8% 1.20x
CharIndexing_korean_unicodeScalars 330054 274593 -16.8% 1.20x
CharIndexing_korean_unicodeScalars_Backwards 371286 308919 -16.8% 1.20x
CharIndexing_punctuated_unicodeScalars 76224 63518 -16.7% 1.20x
CharIndexing_chinese_unicodeScalars 256423 213835 -16.6% 1.20x
CharIndexing_tweet_unicodeScalars_Backwards 774610 647926 -16.4% 1.20x
CharIndexing_tweet_unicodeScalars 667255 559510 -16.1% 1.19x
CharIndexing_punctuated_unicodeScalars_Backwards 82819 69596 -16.0% 1.19x
CharIteration_utf16_unicodeScalars_Backwards 230457 196463 -14.8% 1.17x (?)
CharIndexing_utf16_unicodeScalars 286450 246968 -13.8% 1.16x
StringMatch 42367 36588 -13.6% 1.16x
CharIteration_japanese_unicodeScalars_Backwards 313266 271080 -13.5% 1.16x
CharIteration_korean_unicodeScalars_Backwards 253648 220473 -13.1% 1.15x (?)
CharIteration_russian_unicodeScalars_Backwards 215422 187283 -13.1% 1.15x (?)
CharIteration_ascii_unicodeScalars_Backwards 260752 228588 -12.3% 1.14x (?)
DictionarySubscriptDefaultMutationOfObjects 5631 4955 -12.0% 1.14x (?)
CharIteration_tweet_unicodeScalars_Backwards 511888 451162 -11.9% 1.13x (?)
CharIndexing_utf16_unicodeScalars_Backwards 307914 272202 -11.6% 1.13x
CharIteration_punctuated_unicodeScalars_Backwards 56858 50321 -11.5% 1.13x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 45037 39900 -11.4% 1.13x (?)
PrefixArrayLazy 29372 26341 -10.3% 1.12x (?)
DropFirstArrayLazy 29365 26361 -10.2% 1.11x (?)
StringBuilderWithLongSubstring 4705 4246 -9.8% 1.11x (?)
StringWithCString 40660 36937 -9.2% 1.10x
ArrayOfGenericPOD2 1114 1012 -9.2% 1.10x
StringFromLongWholeSubstring 11 10 -9.1% 1.10x
StringWordBuilderReservingCapacity 1951 1774 -9.1% 1.10x
CharIndexing_ascii_unicodeScalars_Backwards 382475 348710 -8.8% 1.10x (?)
StringComparison_abnormal 1337 1222 -8.6% 1.09x (?)
FrequenciesUsingReduceInto 3259 2981 -8.5% 1.09x
StringInterpolation 11472 10497 -8.5% 1.09x
RomanNumbers 1285436 1178501 -8.3% 1.09x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 65551 60329 -8.0% 1.09x (?)
ObjectiveCBridgeFromNSSetAnyObject 54891 50705 -7.6% 1.08x (?)
Dictionary3 843 779 -7.6% 1.08x
ObjectiveCBridgeFromNSArrayAnyObjectForced 8754 8100 -7.5% 1.08x (?)
ObjectiveCBridgeStubFromArrayOfNSString 32050 29666 -7.4% 1.08x (?)
DataAppendArray 5337 4961 -7.0% 1.08x
ObjectiveCBridgeToNSSet 16123 14992 -7.0% 1.08x (?)
SortStringsUnicode 2562 2385 -6.9% 1.07x
StringRemoveDupes 741 693 -6.5% 1.07x
CharacterPropertiesPrecomputed 3344 3128 -6.5% 1.07x
DictionarySwap 4723 4429 -6.2% 1.07x
TwoSum 3322 3132 -5.7% 1.06x
ExclusivityGlobal 177 167 -5.6% 1.06x (?)
StringEdits 358010 338897 -5.3% 1.06x
SetExclusiveOr 15373 14582 -5.1% 1.05x
RecursiveOwnedParameter 5462 5181 -5.1% 1.05x (?)
DataAppendDataSmallToSmall 5381 5113 -5.0% 1.05x (?)
ObjectiveCBridgeToNSString 492 468 -4.9% 1.05x
No Changes (345)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4551 4758 +4.5% 0.96x (?)
AnyHashableWithAClass 91873 91777 -0.1% 1.00x (?)
Array2D 567457 565735 -0.3% 1.00x
ArrayAppend 4170 4168 -0.0% 1.00x (?)
ArrayAppendArrayOfInt 726 729 +0.4% 1.00x
ArrayAppendAscii 35111 35060 -0.1% 1.00x (?)
ArrayAppendFromGeneric 731 735 +0.5% 0.99x
ArrayAppendGenericStructs 1273 1272 -0.1% 1.00x (?)
ArrayAppendLatin1 57727 57443 -0.5% 1.00x
ArrayAppendLazyMap 154889 151889 -1.9% 1.02x
ArrayAppendOptionals 1272 1275 +0.2% 1.00x (?)
ArrayAppendRepeatCol 168416 166413 -1.2% 1.01x (?)
ArrayAppendReserved 3834 3836 +0.1% 1.00x (?)
ArrayAppendSequence 92852 92260 -0.6% 1.01x
ArrayAppendStrings 5668 5670 +0.0% 1.00x (?)
ArrayAppendToFromGeneric 731 733 +0.3% 1.00x
ArrayAppendToGeneric 736 737 +0.1% 1.00x (?)
ArrayAppendUTF16 57571 57162 -0.7% 1.01x
ArrayInClass 5693 5554 -2.4% 1.03x (?)
ArrayLiteral 1616 1621 +0.3% 1.00x (?)
ArrayOfGenericRef 9608 9630 +0.2% 1.00x (?)
ArrayOfPOD 755 754 -0.1% 1.00x
ArrayOfRef 8872 8781 -1.0% 1.01x
ArrayPlusEqualArrayOfInt 732 733 +0.1% 1.00x (?)
ArrayPlusEqualFiveElementCollection 210010 210491 +0.2% 1.00x (?)
ArrayPlusEqualSingleElementCollection 210506 208618 -0.9% 1.01x (?)
ArrayPlusEqualThreeElements 8333 8303 -0.4% 1.00x (?)
ArraySubscript 96708 97104 +0.4% 1.00x (?)
ArrayValueProp 3301 3303 +0.1% 1.00x (?)
ArrayValueProp2 13624 13591 -0.2% 1.00x (?)
ArrayValueProp3 3744 3730 -0.4% 1.00x (?)
ArrayValueProp4 3679 3681 +0.1% 1.00x (?)
BinaryFloatingPointPropertiesBinade 79 79 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 120 118 -1.7% 1.02x
BinaryFloatingPointPropertiesUlp 118 120 +1.7% 0.98x
BitCount 7967 8023 +0.7% 0.99x
ByteSwap 8626 8796 +2.0% 0.98x (?)
COWTree 10836 10912 +0.7% 0.99x (?)
CSVParsing 2556650 2625747 +2.7% 0.97x (?)
CSVParsingAlt 1288583 1279286 -0.7% 1.01x (?)
CSVParsingAltIndices 2077164 2177464 +4.8% 0.95x (?)
CStringLongAscii 4973 4818 -3.1% 1.03x
CStringLongNonAscii 2197 2255 +2.6% 0.97x
Calculator 1929 1840 -4.6% 1.05x (?)
CaptureProp 252898 252341 -0.2% 1.00x (?)
ChainedFilterMap 208299 207857 -0.2% 1.00x (?)
CharIteration_ascii_unicodeScalars 133616 133494 -0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 196041 192250 -1.9% 1.02x (?)
CharIteration_japanese_unicodeScalars 160372 159915 -0.3% 1.00x
CharIteration_korean_unicodeScalars 129776 129401 -0.3% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 23752 23642 -0.5% 1.00x (?)
CharIteration_punctuated_unicodeScalars 29828 29785 -0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars 265598 263026 -1.0% 1.01x (?)
CharIteration_utf16_unicodeScalars 113522 114150 +0.6% 0.99x (?)
CharacterLiteralsLarge 5203 5190 -0.2% 1.00x (?)
CharacterLiteralsSmall 634 615 -3.0% 1.03x
CharacterPropertiesFetch 4857 4827 -0.6% 1.01x (?)
CharacterPropertiesStashed 2090 2052 -1.8% 1.02x (?)
CharacterPropertiesStashedMemo 4021 3911 -2.7% 1.03x (?)
Chars 31872 31943 +0.2% 1.00x (?)
ClassArrayGetter 881 884 +0.3% 1.00x
Combos 2052 2111 +2.9% 0.97x (?)
DataAccessBytes 2163 2149 -0.6% 1.01x (?)
DataAppendBytes 4697 4606 -1.9% 1.02x (?)
DataAppendDataLargeToLarge 60261 60817 +0.9% 0.99x (?)
DataAppendDataLargeToMedium 31517 31540 +0.1% 1.00x (?)
DataAppendDataLargeToSmall 30598 30572 -0.1% 1.00x (?)
DataAppendDataMediumToLarge 33371 33525 +0.5% 1.00x (?)
DataAppendDataMediumToSmall 5260 5320 +1.1% 0.99x (?)
DataAppendDataSmallToLarge 32877 32860 -0.1% 1.00x (?)
DataAppendDataSmallToMedium 5497 5585 +1.6% 0.98x (?)
DataAppendSequence 1702561 1726157 +1.4% 0.99x
DataCopyBytes 2235 2228 -0.3% 1.00x (?)
DataCount 200 200 +0.0% 1.00x
DataMutateBytes 4700 4696 -0.1% 1.00x (?)
DataReplaceLarge 34865 35938 +3.1% 0.97x (?)
DataReplaceLargeBuffer 52835 52212 -1.2% 1.01x (?)
DataReplaceMedium 8390 8171 -2.6% 1.03x (?)
DataReplaceMediumBuffer 12556 12031 -4.2% 1.04x (?)
DataReplaceSmall 6437 6267 -2.6% 1.03x (?)
DataReset 2558 2550 -0.3% 1.00x (?)
DataSetCount 506 511 +1.0% 0.99x (?)
DataSubscript 398 398 +0.0% 1.00x
DictOfArraysToArrayOfDicts 3169 3158 -0.3% 1.00x (?)
Dictionary 2162 2109 -2.5% 1.03x
Dictionary2 1379 1329 -3.6% 1.04x
Dictionary2OfObjects 4060 4154 +2.3% 0.98x (?)
Dictionary3OfObjects 2015 1988 -1.3% 1.01x (?)
Dictionary4 1411 1374 -2.6% 1.03x (?)
Dictionary4OfObjects 1988 1968 -1.0% 1.01x (?)
DictionaryBridge 1202 1221 +1.6% 0.98x (?)
DictionaryCopy 290322 279681 -3.7% 1.04x
DictionaryFilter 297989 291794 -2.1% 1.02x
DictionaryGroup 4061 4026 -0.9% 1.01x (?)
DictionaryGroupOfObjects 6729 6904 +2.6% 0.97x (?)
DictionaryLiteral 8006 7908 -1.2% 1.01x (?)
DictionaryOfObjects 5381 5569 +3.5% 0.97x (?)
DictionaryRemove 15897 15435 -2.9% 1.03x (?)
DictionaryRemoveOfObjects 48435 50028 +3.3% 0.97x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9170 9049 -1.3% 1.01x (?)
DictionarySwapAt 31963 31750 -0.7% 1.01x (?)
DictionarySwapAtOfObjects 102506 103149 +0.6% 0.99x (?)
DictionarySwapOfObjects 17874 18171 +1.7% 0.98x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 13765 13808 +0.3% 1.00x (?)
DropFirstAnySeqCRangeIter 21164 21168 +0.0% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21268 21251 -0.1% 1.00x (?)
DropFirstAnySeqCntRange 13697 13826 +0.9% 0.99x (?)
DropFirstAnySeqCntRangeLazy 13800 13828 +0.2% 1.00x (?)
DropFirstAnySequence 11671 11508 -1.4% 1.01x
DropFirstAnySequenceLazy 11575 11558 -0.1% 1.00x (?)
DropFirstArray 2992 3000 +0.3% 1.00x
DropFirstCountableRange 290 290 +0.0% 1.00x
DropFirstCountableRangeLazy 30663 30760 +0.3% 1.00x (?)
DropFirstSequence 11433 11152 -2.5% 1.03x
DropFirstSequenceLazy 11267 11247 -0.2% 1.00x (?)
DropLastAnyCollection 4592 4621 +0.6% 0.99x (?)
DropLastAnyCollectionLazy 31195 32398 +3.9% 0.96x (?)
DropLastAnySeqCRangeIter 36568 36663 +0.3% 1.00x
DropLastAnySeqCRangeIterLazy 36551 36536 -0.0% 1.00x (?)
DropLastAnySeqCntRange 4591 4613 +0.5% 1.00x (?)
DropLastAnySeqCntRangeLazy 4612 4622 +0.2% 1.00x (?)
DropLastAnySequence 27521 27313 -0.8% 1.01x
DropLastAnySequenceLazy 27835 27664 -0.6% 1.01x (?)
DropLastCountableRange 100 100 +0.0% 1.00x
DropLastCountableRangeLazy 10223 10240 +0.2% 1.00x (?)
DropLastSequence 27365 27153 -0.8% 1.01x (?)
DropLastSequenceLazy 27318 27348 +0.1% 1.00x (?)
DropWhileAnyCollection 17773 17957 +1.0% 0.99x (?)
DropWhileAnyCollectionLazy 20173 20253 +0.4% 1.00x
DropWhileAnySeqCRangeIter 21806 22049 +1.1% 0.99x (?)
DropWhileAnySeqCRangeIterLazy 20040 20122 +0.4% 1.00x (?)
DropWhileAnySeqCntRange 17751 17838 +0.5% 1.00x (?)
DropWhileAnySeqCntRangeLazy 20073 20151 +0.4% 1.00x
DropWhileAnySequence 12258 12164 -0.8% 1.01x (?)
DropWhileAnySequenceLazy 11215 11044 -1.5% 1.02x
DropWhileArrayLazy 12660 12548 -0.9% 1.01x (?)
DropWhileCountableRange 4362 4399 +0.8% 0.99x (?)
DropWhileCountableRangeLazy 19754 19831 +0.4% 1.00x (?)
DropWhileSequence 12044 11954 -0.7% 1.01x (?)
DropWhileSequenceLazy 10772 10812 +0.4% 1.00x
EqualStringSubstring 64 64 +0.0% 1.00x
EqualSubstringString 64 64 +0.0% 1.00x
EqualSubstringSubstring 65 63 -3.1% 1.03x
EqualSubstringSubstringGenericEquatable 51 53 +3.9% 0.96x
ErrorHandling 5903 5679 -3.8% 1.04x (?)
ExclusivityIndependent 65 65 +0.0% 1.00x
FatCompactMap 266274 264043 -0.8% 1.01x (?)
FilterEvenUsingReduce 3241 3209 -1.0% 1.01x (?)
FilterEvenUsingReduceInto 1711 1683 -1.6% 1.02x (?)
FloatingPointPrinting_Double_description_small 22204 22064 -0.6% 1.01x (?)
FloatingPointPrinting_Double_description_uniform 32688 32906 +0.7% 0.99x (?)
FloatingPointPrinting_Double_interpolated 91318 92016 +0.8% 0.99x (?)
FloatingPointPrinting_Float80_description_small 28544 28428 -0.4% 1.00x (?)
FloatingPointPrinting_Float_description_small 6400 6208 -3.0% 1.03x
FloatingPointPrinting_Float_description_uniform 15681 15586 -0.6% 1.01x
FloatingPointPrinting_Float_interpolated 63028 65313 +3.6% 0.97x (?)
FrequenciesUsingReduce 10367 10159 -2.0% 1.02x (?)
Hanoi 18448 17986 -2.5% 1.03x
HashTest 18890 18691 -1.1% 1.01x (?)
Histogram 5790 5637 -2.6% 1.03x (?)
Integrate 411 411 +0.0% 1.00x
IterateData 4875 4828 -1.0% 1.01x (?)
Join 705 704 -0.1% 1.00x (?)
LazilyFilteredArrayContains 671604 671897 +0.0% 1.00x (?)
LazilyFilteredArrays 1280123 1280254 +0.0% 1.00x (?)
LazilyFilteredRange 475154 477454 +0.5% 1.00x
LessSubstringSubstring 65 65 +0.0% 1.00x
LessSubstringSubstringGenericComparable 53 52 -1.9% 1.02x
LinkedList 29121 29214 +0.3% 1.00x (?)
LuhnAlgoEager 4868 5105 +4.9% 0.95x (?)
MapReduce 22830 22792 -0.2% 1.00x (?)
MapReduceAnyCollection 22896 22826 -0.3% 1.00x (?)
MapReduceAnyCollectionShort 32872 33014 +0.4% 1.00x (?)
MapReduceClass 26486 26441 -0.2% 1.00x (?)
MapReduceClassShort 36018 36638 +1.7% 0.98x (?)
MapReduceLazyCollection 20396 20218 -0.9% 1.01x
MapReduceLazyCollectionShort 31220 31066 -0.5% 1.00x (?)
MapReduceLazySequence 18491 18400 -0.5% 1.00x (?)
MapReduceSequence 27494 27484 -0.0% 1.00x (?)
MapReduceShort 32979 32897 -0.2% 1.00x (?)
MapReduceShortString 210 200 -4.8% 1.05x (?)
MapReduceString 1562 1558 -0.3% 1.00x (?)
Memset 39398 39557 +0.4% 1.00x
MonteCarloE 1028410 1029525 +0.1% 1.00x (?)
MonteCarloPi 4669020 4693445 +0.5% 0.99x (?)
NSDictionaryCastToSwift 5873 5946 +1.2% 0.99x (?)
NSError 553 542 -2.0% 1.02x (?)
NSStringConversion 673 696 +3.4% 0.97x
NibbleSort 448038 452641 +1.0% 0.99x
NopDeinit 178829 171055 -4.3% 1.05x
ObjectAllocation 1124 1123 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25991 26483 +1.9% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43845 43343 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 42378 41536 -2.0% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 107791 107981 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSString 2560 2693 +5.2% 0.95x (?)
ObjectiveCBridgeFromNSStringForced 2482 2507 +1.0% 0.99x (?)
ObjectiveCBridgeStubDataAppend 5773 5683 -1.6% 1.02x (?)
ObjectiveCBridgeStubDateMutation 693 668 -3.6% 1.04x
ObjectiveCBridgeStubFromNSString 959 1000 +4.3% 0.96x (?)
ObjectiveCBridgeStubFromNSStringRef 176 181 +2.8% 0.97x
ObjectiveCBridgeStubNSDataAppend 2678 2678 +0.0% 1.00x
ObjectiveCBridgeStubNSDateMutationRef 14579 14274 -2.1% 1.02x (?)
ObjectiveCBridgeStubToArrayOfNSString 34683 35302 +1.8% 0.98x (?)
ObjectiveCBridgeStubToNSDate 14086 14464 +2.7% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3130 3130 +0.0% 1.00x
ObjectiveCBridgeStubToNSString 2161 2174 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSStringRef 143 137 -4.2% 1.04x
ObjectiveCBridgeStubURLAppendPath 269349 263086 -2.3% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 273337 268295 -1.8% 1.02x (?)
ObjectiveCBridgeToNSArray 12468 13095 +5.0% 0.95x (?)
ObjectiveCBridgeToNSDictionary 24559 24145 -1.7% 1.02x (?)
ObserverClosure 5827 5865 +0.7% 0.99x (?)
ObserverForwarderStruct 3836 3818 -0.5% 1.00x (?)
ObserverPartiallyAppliedMethod 7148 7239 +1.3% 0.99x
ObserverUnappliedMethod 7525 7534 +0.1% 1.00x (?)
OpenClose 766 790 +3.1% 0.97x
PartialApplyDynamicType 35546 36005 +1.3% 0.99x (?)
Phonebook 17221 16536 -4.0% 1.04x
PointerArithmetics 107882 107890 +0.0% 1.00x (?)
PolymorphicCalls 2139 2198 +2.8% 0.97x
PopFrontArray 4183 4146 -0.9% 1.01x
PopFrontArrayGeneric 4860 4841 -0.4% 1.00x (?)
PopFrontUnsafePointer 9505 9579 +0.8% 0.99x (?)
PrefixAnyCollection 13736 13814 +0.6% 0.99x (?)
PrefixAnySeqCRangeIter 17081 16945 -0.8% 1.01x (?)
PrefixAnySeqCRangeIterLazy 16977 17056 +0.5% 1.00x (?)
PrefixAnySeqCntRangeLazy 13800 13812 +0.1% 1.00x (?)
PrefixAnySequence 9748 9396 -3.6% 1.04x
PrefixAnySequenceLazy 9426 9325 -1.1% 1.01x
PrefixArray 3017 3026 +0.3% 1.00x (?)
PrefixCountableRange 290 290 +0.0% 1.00x
PrefixCountableRangeLazy 30720 30937 +0.7% 0.99x (?)
PrefixSequence 9435 9026 -4.3% 1.05x
PrefixSequenceLazy 9071 9044 -0.3% 1.00x (?)
PrefixWhileAnyCollection 25705 26142 +1.7% 0.98x
PrefixWhileAnyCollectionLazy 16739 16908 +1.0% 0.99x (?)
PrefixWhileAnySeqCRangeIter 30650 30795 +0.5% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 16429 16611 +1.1% 0.99x (?)
PrefixWhileAnySeqCntRange 25806 25770 -0.1% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 16509 16601 +0.6% 0.99x (?)
PrefixWhileAnySequence 24136 23997 -0.6% 1.01x (?)
PrefixWhileAnySequenceLazy 10021 9900 -1.2% 1.01x
PrefixWhileArray 9359 9390 +0.3% 1.00x
PrefixWhileArrayLazy 11127 10989 -1.2% 1.01x
PrefixWhileCountableRange 12356 12479 +1.0% 0.99x
PrefixWhileCountableRangeLazy 16113 16291 +1.1% 0.99x
PrefixWhileSequence 23472 23454 -0.1% 1.00x (?)
PrefixWhileSequenceLazy 9658 9545 -1.2% 1.01x (?)
Prims 8627 8738 +1.3% 0.99x (?)
PrimsSplit 8712 8696 -0.2% 1.00x (?)
QueueConcrete 12912 12883 -0.2% 1.00x
QueueGeneric 16648 16569 -0.5% 1.00x (?)
RC4 14514 14805 +2.0% 0.98x
RGBHistogram 22300 21981 -1.4% 1.01x
RGBHistogramOfObjects 70092 72228 +3.0% 0.97x (?)
RangeAssignment 2375 2383 +0.3% 1.00x (?)
RangeIterationSigned 13196 13234 +0.3% 1.00x (?)
RangeReplaceableCollectionPlusDefault 10263 10321 +0.6% 0.99x (?)
RemoveWhereFilterInts 1821 1825 +0.2% 1.00x (?)
RemoveWhereFilterString 1169 1167 -0.2% 1.00x (?)
RemoveWhereFilterStrings 2315 2304 -0.5% 1.00x
RemoveWhereMoveInts 3035 3037 +0.1% 1.00x (?)
RemoveWhereMoveStrings 3488 3489 +0.0% 1.00x (?)
RemoveWhereQuadraticInts 7204 7224 +0.3% 1.00x (?)
RemoveWhereQuadraticString 2023 2071 +2.4% 0.98x (?)
RemoveWhereQuadraticStrings 8722 8721 -0.0% 1.00x (?)
RemoveWhereSwapInts 5464 5455 -0.2% 1.00x (?)
RemoveWhereSwapStrings 6102 6084 -0.3% 1.00x
ReversedArray 11685 11705 +0.2% 1.00x
ReversedBidirectional 38886 39153 +0.7% 0.99x (?)
ReversedDictionary 20434 20195 -1.2% 1.01x
SequenceAlgosAnySequence 11711 11705 -0.1% 1.00x (?)
SequenceAlgosArray 706079 710999 +0.7% 0.99x
SequenceAlgosContiguousArray 257046 256132 -0.4% 1.00x (?)
SequenceAlgosList 7791 7747 -0.6% 1.01x
SequenceAlgosRange 1144917 1149237 +0.4% 1.00x
SequenceAlgosUnfoldSequence 5885 5889 +0.1% 1.00x (?)
SetExclusiveOr_OfObjects 40845 41723 +2.1% 0.98x (?)
SetIntersect 6166 5956 -3.4% 1.04x
SetIntersect_OfObjects 9760 9921 +1.6% 0.98x (?)
SetIsSubsetOf 1077 1067 -0.9% 1.01x
SetIsSubsetOf_OfObjects 1581 1602 +1.3% 0.99x (?)
SetUnion 11114 10681 -3.9% 1.04x
SetUnion_OfObjects 29043 29541 +1.7% 0.98x (?)
SevenBoom 964 976 +1.2% 0.99x (?)
Sim2DArray 38930 38961 +0.1% 1.00x (?)
SortLargeExistentials 10500 10414 -0.8% 1.01x
SortLettersInPlace 1764 1776 +0.7% 0.99x (?)
SortSortedStrings 1024 1056 +3.1% 0.97x
SortStrings 2066 2132 +3.2% 0.97x
StackPromo 88677 87516 -1.3% 1.01x (?)
StaticArray 2272 2232 -1.8% 1.02x
StrComplexWalk 6322 6124 -3.1% 1.03x
StrToInt 73406 75234 +2.5% 0.98x (?)
StringAdder 1027 997 -2.9% 1.03x
StringBuilder 5008 4942 -1.3% 1.01x (?)
StringBuilderLong 2633 2611 -0.8% 1.01x
StringComparison_ascii 8439 8399 -0.5% 1.00x
StringComparison_emoji 1786 1773 -0.7% 1.01x (?)
StringComparison_fastPrenormal 4369 4373 +0.1% 1.00x
StringComparison_latin1 3410 3405 -0.1% 1.00x (?)
StringComparison_longSharedPrefix 2111 2107 -0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3303 3268 -1.1% 1.01x
StringComparison_slowerPrenormal 3722 3698 -0.6% 1.01x
StringComparison_zalgo 113775 115055 +1.1% 0.99x (?)
StringEnumRawValueInitialization 30901 29460 -4.7% 1.05x
StringEqualPointerComparison 1454 1420 -2.3% 1.02x
StringFromLongWholeSubstringGeneric 177 176 -0.6% 1.01x (?)
StringHasPrefixAscii 2826 2732 -3.3% 1.03x
StringHasPrefixUnicode 95691 94642 -1.1% 1.01x (?)
StringHasSuffixAscii 2957 2825 -4.5% 1.05x
StringHasSuffixUnicode 96442 94888 -1.6% 1.02x (?)
StringInterpolationManySmallSegments 18555 18325 -1.2% 1.01x (?)
StringInterpolationSmall 8287 8137 -1.8% 1.02x (?)
StringUTF16Builder 7327 7380 +0.7% 0.99x (?)
StringWalk 11614 11436 -1.5% 1.02x
StringWordBuilder 2213 2220 +0.3% 1.00x (?)
SubstringComparable 1465 1487 +1.5% 0.99x
SubstringEqualString 1535 1508 -1.8% 1.02x (?)
SubstringEquatable 4832 4863 +0.6% 0.99x (?)
SubstringFromLongString 16 16 +0.0% 1.00x
SubstringFromLongStringGeneric 97 96 -1.0% 1.01x (?)
SuffixAnyCollection 4592 4615 +0.5% 1.00x (?)
SuffixAnySeqCRangeIter 32670 33733 +3.3% 0.97x
SuffixAnySeqCRangeIterLazy 32785 32791 +0.0% 1.00x (?)
SuffixAnySeqCntRange 4583 4613 +0.7% 0.99x (?)
SuffixAnySeqCntRangeLazy 4628 4616 -0.3% 1.00x (?)
SuffixAnySequence 23795 23632 -0.7% 1.01x (?)
SuffixAnySequenceLazy 23836 23707 -0.5% 1.01x (?)
SuffixCountableRange 100 100 +0.0% 1.00x
SuffixCountableRangeLazy 10193 10247 +0.5% 0.99x
SuffixSequence 23615 23475 -0.6% 1.01x (?)
SuffixSequenceLazy 23988 23623 -1.5% 1.02x (?)
SumUsingReduce 144444 142802 -1.1% 1.01x
SumUsingReduceInto 136718 136638 -0.1% 1.00x (?)
SuperChars 75085 74976 -0.1% 1.00x (?)
TypeFlood 186 185 -0.5% 1.01x (?)
UTF8Decode 26558 26558 +0.0% 1.00x
Walsh 10712 10683 -0.3% 1.00x (?)
WordCountHistogramASCII 34566 34971 +1.2% 0.99x
WordCountHistogramUTF16 41393 42005 +1.5% 0.99x (?)
WordCountUniqueASCII 6694 6514 -2.7% 1.03x
XorLoop 20852 20755 -0.5% 1.00x (?)
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 8-Core Intel Xeon E5
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 8
  L2 Cache (per Core): 256 KB
  L3 Cache: 25 MB
  Memory: 64 GB

@lorentey
Copy link
Member Author

lorentey commented Jul 4, 2018

With #17396, all pieces of this PR have landed. Closing.

@lorentey lorentey closed this Jul 4, 2018
@lorentey lorentey deleted the brand-new-combine-harvester branch July 4, 2018 12:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants