Skip to content

[SIL] Teach *ApplyInst to traffic in SubstitutionMap. #16400

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
May 11, 2018

Conversation

DougGregor
Copy link
Member

@DougGregor DougGregor commented May 4, 2018

Push SubstitutionMaps through most of SILGen, the SIL optimizers, and much of IRGen
that involve the various *ApplyInsts. Overall this eliminates ~100 more explicit uses of SubstitutionList, and plumbs substitution maps through most of the infrastructure.

@DougGregor DougGregor force-pushed the sil-apply-substitution-map branch 2 times, most recently from be1c07c to 2e07c7b Compare May 7, 2018 23:39
@DougGregor
Copy link
Member Author

I've (again) hit a steady state where things build with this change, so let's see how it performs.

@DougGregor
Copy link
Member Author

@swift-ci please test

@DougGregor
Copy link
Member Author

@swift-ci please test source compatibility

@DougGregor
Copy link
Member Author

@swift-ci please smoke test compiler performance

@DougGregor
Copy link
Member Author

@swift-ci please benchmark

@swift-ci
Copy link
Contributor

swift-ci commented May 8, 2018

Build failed
Swift Test Linux Platform
Git Sha - 3c023806877287b53388b0348467d6409fb757b8

@swift-ci
Copy link
Contributor

swift-ci commented May 8, 2018

Build comment file:

Summary for master smoketest

Unexpected test results, excluded stats for ReactiveCocoa

No regressions above thresholds

Debug

debug brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 41,158,954 41,155,842 -3,112 -0.01%
time.swift-driver.wall 69.7s 70.2s 574.3ms 0.82%

debug detailed

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (23)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 84,556 84,556 0 0.0%
AST.NumLoadedModules 12,956 12,956 0 0.0%
AST.NumTotalClangImportedEntities 256,399 256,416 17 0.01%
AST.NumUsedConformances 8,766 8,766 0 0.0%
IRModule.NumIRBasicBlocks 125,714 125,714 0 0.0%
IRModule.NumIRFunctions 75,138 75,138 0 0.0%
IRModule.NumIRGlobals 68,665 68,665 0 0.0%
IRModule.NumIRInsts 1,402,211 1,402,217 6 0.0%
IRModule.NumIRValueSymbols 128,717 128,717 0 0.0%
LLVM.NumLLVMBytesOutput 41,158,954 41,155,842 -3,112 -0.01%
SILModule.NumSILGenFunctions 42,736 42,736 0 0.0%
SILModule.NumSILOptFunctions 47,082 47,082 0 0.0%
Sema.NumConformancesDeserialized 347,458 346,282 -1,176 -0.34%
Sema.NumConstraintScopes 900,349 900,349 0 0.0%
Sema.NumDeclsDeserialized 2,093,263 2,094,615 1,352 0.06%
Sema.NumDeclsValidated 190,411 190,411 0 0.0%
Sema.NumFunctionsTypechecked 48,042 48,042 0 0.0%
Sema.NumGenericSignatureBuilders 80,120 80,224 104 0.13%
Sema.NumLazyGenericEnvironments 414,856 415,060 204 0.05%
Sema.NumLazyGenericEnvironmentsLoaded 39,145 39,145 0 0.0%
Sema.NumLazyIterableDeclContexts 333,267 333,546 279 0.08%
Sema.NumTypesDeserialized 2,302,298 2,304,332 2,034 0.09%
Sema.NumTypesValidated 211,820 211,820 0 0.0%

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 30,092,928 30,092,928 0 0.0%
time.swift-driver.wall 143.9s 144.2s 247.5ms 0.17%

release detailed

Regressed (0)
name old new delta delta_pct
Improved (1)
name old new delta delta_pct
Sema.NumConformancesDeserialized 94,555 87,922 -6,633 -7.01% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (22)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 8,764 8,764 0 0.0%
AST.NumLoadedModules 406 406 0 0.0%
AST.NumTotalClangImportedEntities 25,373 25,373 0 0.0%
AST.NumUsedConformances 8,772 8,772 0 0.0%
IRModule.NumIRBasicBlocks 158,469 158,469 0 0.0%
IRModule.NumIRFunctions 57,090 57,090 0 0.0%
IRModule.NumIRGlobals 56,015 56,015 0 0.0%
IRModule.NumIRInsts 1,321,230 1,321,230 0 0.0%
IRModule.NumIRValueSymbols 101,789 101,789 0 0.0%
LLVM.NumLLVMBytesOutput 30,092,928 30,092,928 0 0.0%
SILModule.NumSILGenFunctions 22,142 22,142 0 0.0%
SILModule.NumSILOptFunctions 36,326 36,326 0 0.0%
Sema.NumConstraintScopes 799,066 799,066 0 0.0%
Sema.NumDeclsDeserialized 209,193 209,198 5 0.0%
Sema.NumDeclsValidated 59,864 59,864 0 0.0%
Sema.NumFunctionsTypechecked 10,695 10,695 0 0.0%
Sema.NumGenericSignatureBuilders 9,517 9,520 3 0.03%
Sema.NumLazyGenericEnvironments 32,589 32,594 5 0.02%
Sema.NumLazyGenericEnvironmentsLoaded 4,522 4,522 0 0.0%
Sema.NumLazyIterableDeclContexts 20,913 20,913 0 0.0%
Sema.NumTypesDeserialized 274,303 274,316 13 0.0%
Sema.NumTypesValidated 34,806 34,806 0 0.0%

@DougGregor
Copy link
Member Author

@swift-ci please test compiler performance

@swift-ci
Copy link
Contributor

swift-ci commented May 8, 2018

Build comment file:

Optimized (O)

Regression (1)
TEST OLD NEW DELTA SPEEDUP
PopFrontArrayGeneric 1826 1969 +7.8% 0.93x (?)
Improvement (1)
TEST OLD NEW DELTA SPEEDUP
NSStringConversion 747 704 -5.8% 1.06x (?)
No Changes (425)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3770 3739 -0.8% 1.01x (?)
AnyHashableWithAClass 84812 84512 -0.4% 1.00x (?)
Array2D 2853 2815 -1.3% 1.01x (?)
ArrayAppend 1063 1061 -0.2% 1.00x (?)
ArrayAppendArrayOfInt 796 789 -0.9% 1.01x (?)
ArrayAppendAscii 3963 3960 -0.1% 1.00x (?)
ArrayAppendAsciiSubstring 157731 157704 -0.0% 1.00x (?)
ArrayAppendFromGeneric 794 799 +0.6% 0.99x (?)
ArrayAppendGenericStructs 1427 1425 -0.1% 1.00x (?)
ArrayAppendLatin1 40675 40012 -1.6% 1.02x
ArrayAppendLatin1Substring 296171 292910 -1.1% 1.01x (?)
ArrayAppendLazyMap 1342 1342 +0.0% 1.00x
ArrayAppendOptionals 1423 1425 +0.1% 1.00x (?)
ArrayAppendRepeatCol 1336 1334 -0.1% 1.00x (?)
ArrayAppendReserved 795 794 -0.1% 1.00x (?)
ArrayAppendSequence 1110 1119 +0.8% 0.99x (?)
ArrayAppendStrings 6223 6226 +0.0% 1.00x (?)
ArrayAppendToFromGeneric 797 800 +0.4% 1.00x (?)
ArrayAppendToGeneric 799 795 -0.5% 1.01x (?)
ArrayAppendUTF16 39776 39676 -0.3% 1.00x (?)
ArrayAppendUTF16Substring 289651 291135 +0.5% 0.99x (?)
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 149 151 +1.3% 0.99x (?)
ArrayOfGenericRef 4394 4393 -0.0% 1.00x (?)
ArrayOfPOD 184 181 -1.6% 1.02x (?)
ArrayOfRef 4400 4405 +0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 796 796 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 5442 5388 -1.0% 1.01x (?)
ArrayPlusEqualSingleElementCollection 1062 1060 -0.2% 1.00x (?)
ArrayPlusEqualThreeElements 1651 1649 -0.1% 1.00x (?)
ArraySubscript 1517 1517 +0.0% 1.00x
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointPropertiesBinade 31 31 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 37 37 +0.0% 1.00x
BitCount 211 211 +0.0% 1.00x
ByteSwap 103 103 +0.0% 1.00x
COWTree 5449 5387 -1.1% 1.01x (?)
CSVParsing 723429 723449 +0.0% 1.00x (?)
CSVParsingAlt 783953 781815 -0.3% 1.00x (?)
CSVParsingAltIndices 346801 344960 -0.5% 1.01x (?)
CStringLongAscii 4649 4648 -0.0% 1.00x (?)
CStringLongNonAscii 2251 2257 +0.3% 1.00x (?)
CStringShortAscii 3153 3163 +0.3% 1.00x (?)
Calculator 1148 1120 -2.4% 1.02x
CaptureProp 4103 4102 -0.0% 1.00x (?)
ChainedFilterMap 1407 1408 +0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars 16265 16285 +0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 16447 16448 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 12321 12323 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12448 12454 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars 19471 19476 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19679 19669 -0.1% 1.00x (?)
CharIndexing_korean_unicodeScalars 15774 15763 -0.1% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 15939 15945 +0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2952 2953 +0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2972 2973 +0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 3693 3692 -0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3723 3726 +0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars 13567 13568 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 13689 13690 +0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 32055 32054 -0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 32209 32218 +0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars 22835 22835 +0.0% 1.00x
CharIndexing_utf16_unicodeScalars_Backwards 23351 23358 +0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars 20723 20551 -0.8% 1.01x (?)
CharIteration_ascii_unicodeScalars_Backwards 15351 15354 +0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars 15688 15539 -0.9% 1.01x
CharIteration_chinese_unicodeScalars_Backwards 11628 11627 -0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars 24834 24609 -0.9% 1.01x
CharIteration_japanese_unicodeScalars_Backwards 18390 18370 -0.1% 1.00x (?)
CharIteration_korean_unicodeScalars 20092 19940 -0.8% 1.01x (?)
CharIteration_korean_unicodeScalars_Backwards 14881 14891 +0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3704 3678 -0.7% 1.01x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2785 2783 -0.1% 1.00x (?)
CharIteration_punctuated_unicodeScalars 4658 4612 -1.0% 1.01x
CharIteration_punctuated_unicodeScalars_Backwards 3482 3482 +0.0% 1.00x
CharIteration_russian_unicodeScalars 17273 17105 -1.0% 1.01x (?)
CharIteration_russian_unicodeScalars_Backwards 12796 12795 -0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars 40741 40602 -0.3% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 30394 30389 -0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars 27909 27650 -0.9% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 18394 18383 -0.1% 1.00x (?)
CharacterLiteralsLarge 5883 5858 -0.4% 1.00x (?)
CharacterLiteralsSmall 220 220 +0.0% 1.00x
CharacterPropertiesFetch 4540 4564 +0.5% 0.99x (?)
CharacterPropertiesPrecomputed 1127 1127 +0.0% 1.00x
CharacterPropertiesStashed 1476 1470 -0.4% 1.00x (?)
CharacterPropertiesStashedMemo 1569 1576 +0.4% 1.00x (?)
Chars 1215 1215 +0.0% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 507 502 -1.0% 1.01x (?)
DataAccessBytes 1225 1223 -0.2% 1.00x (?)
DataAppendArray 6153 6153 +0.0% 1.00x
DataAppendBytes 6042 6006 -0.6% 1.01x (?)
DataAppendDataLargeToLarge 68896 69560 +1.0% 0.99x (?)
DataAppendDataLargeToMedium 36439 36529 +0.2% 1.00x (?)
DataAppendDataLargeToSmall 35568 35384 -0.5% 1.01x (?)
DataAppendDataMediumToLarge 38900 39014 +0.3% 1.00x (?)
DataAppendDataMediumToMedium 7871 7827 -0.6% 1.01x (?)
DataAppendDataMediumToSmall 6890 6923 +0.5% 1.00x (?)
DataAppendDataSmallToLarge 37806 38221 +1.1% 0.99x (?)
DataAppendDataSmallToMedium 7558 7526 -0.4% 1.00x (?)
DataAppendDataSmallToSmall 6809 6791 -0.3% 1.00x (?)
DataAppendSequence 21046 20988 -0.3% 1.00x (?)
DataCopyBytes 2511 2520 +0.4% 1.00x (?)
DataCount 37 37 +0.0% 1.00x
DataMutateBytes 4305 4317 +0.3% 1.00x (?)
DataReplaceLarge 40918 41204 +0.7% 0.99x (?)
DataReplaceLargeBuffer 59603 59972 +0.6% 0.99x (?)
DataReplaceMedium 12342 12237 -0.9% 1.01x (?)
DataReplaceMediumBuffer 14811 15252 +3.0% 0.97x (?)
DataReplaceSmall 8973 9031 +0.6% 0.99x (?)
DataReplaceSmallBuffer 11621 11506 -1.0% 1.01x (?)
DataReset 3217 3185 -1.0% 1.01x (?)
DataSetCount 910 910 +0.0% 1.00x
DataSubscript 242 242 +0.0% 1.00x
DictOfArraysToArrayOfDicts 804 803 -0.1% 1.00x (?)
Dictionary 683 673 -1.5% 1.01x (?)
Dictionary2 808 797 -1.4% 1.01x (?)
Dictionary2OfObjects 2223 2213 -0.4% 1.00x (?)
Dictionary3 253 252 -0.4% 1.00x (?)
Dictionary3OfObjects 768 769 +0.1% 1.00x (?)
Dictionary4 343 342 -0.3% 1.00x (?)
Dictionary4Legacy 727 726 -0.1% 1.00x (?)
Dictionary4OfObjects 454 450 -0.9% 1.01x (?)
Dictionary4OfObjectsLegacy 933 934 +0.1% 1.00x (?)
DictionaryBridge 1242 1238 -0.3% 1.00x (?)
DictionaryCopy 107815 109211 +1.3% 0.99x (?)
DictionaryFilter 105048 105913 +0.8% 0.99x (?)
DictionaryGroup 217 217 +0.0% 1.00x
DictionaryGroupOfObjects 2132 2129 -0.1% 1.00x (?)
DictionaryLiteral 1915 1919 +0.2% 1.00x (?)
DictionaryOfObjects 2500 2501 +0.0% 1.00x (?)
DictionaryRemove 4186 4202 +0.4% 1.00x (?)
DictionaryRemoveOfObjects 25950 25863 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutation 264 265 +0.4% 1.00x (?)
DictionarySubscriptDefaultMutationArray 621 624 +0.5% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 4041 4029 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1707 1706 -0.1% 1.00x (?)
DictionarySwap 1032 1033 +0.1% 1.00x (?)
DictionarySwapAt 6792 6822 +0.4% 1.00x (?)
DictionarySwapAtOfObjects 52483 52479 -0.0% 1.00x (?)
DictionarySwapOfObjects 8729 8722 -0.1% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 84 84 +0.0% 1.00x
DropFirstAnyCollectionLazy 62589 62996 +0.7% 0.99x (?)
DropFirstAnySeqCRangeIter 21250 21233 -0.1% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21290 21260 -0.1% 1.00x (?)
DropFirstAnySeqCntRange 41 41 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 41 41 +0.0% 1.00x
DropFirstAnySequence 4972 4970 -0.0% 1.00x (?)
DropFirstAnySequenceLazy 4982 4972 -0.2% 1.00x (?)
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2680 2681 +0.0% 1.00x (?)
DropFirstSequenceLazy 2775 2774 -0.0% 1.00x (?)
DropLastAnyCollection 31 31 +0.0% 1.00x
DropLastAnyCollectionLazy 20979 20961 -0.1% 1.00x (?)
DropLastAnySeqCRangeIter 3633 3633 +0.0% 1.00x
DropLastAnySeqCRangeIterLazy 3634 3634 +0.0% 1.00x
DropLastAnySeqCntRange 13 13 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 13 13 +0.0% 1.00x
DropLastAnySequence 5023 5035 +0.2% 1.00x (?)
DropLastAnySequenceLazy 5124 5116 -0.2% 1.00x (?)
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastCountableRangeLazy 12 12 +0.0% 1.00x
DropLastSequence 632 634 +0.3% 1.00x (?)
DropLastSequenceLazy 634 634 +0.0% 1.00x
DropWhileAnyCollection 107 107 +0.0% 1.00x
DropWhileAnyCollectionLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCRangeIter 16736 16613 -0.7% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCntRange 50 50 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 125 125 +0.0% 1.00x
DropWhileAnySequence 4836 4855 +0.4% 1.00x (?)
DropWhileAnySequenceLazy 1856 1856 +0.0% 1.00x
DropWhileArrayLazy 88 88 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 105 105 +0.0% 1.00x
DropWhileSequence 2223 2222 -0.0% 1.00x (?)
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 56 55 -1.8% 1.02x
EqualSubstringString 65 64 -1.5% 1.02x (?)
EqualSubstringSubstring 49 49 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 49 49 +0.0% 1.00x
ErrorHandling 1475 1481 +0.4% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 215455 216748 +0.6% 0.99x (?)
FilterEvenUsingReduce 1318 1316 -0.2% 1.00x (?)
FilterEvenUsingReduceInto 147 147 +0.0% 1.00x
FloatingPointPrinting_Double_description_small 23639 23601 -0.2% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 23212 23233 +0.1% 1.00x (?)
FloatingPointPrinting_Double_interpolated 67314 67663 +0.5% 0.99x (?)
FloatingPointPrinting_Float80_description_small 30772 30892 +0.4% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 29892 30011 +0.4% 1.00x (?)
FloatingPointPrinting_Float80_interpolated 70836 70426 -0.6% 1.01x (?)
FloatingPointPrinting_Float_description_small 5260 5261 +0.0% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 5137 5135 -0.0% 1.00x (?)
FloatingPointPrinting_Float_interpolated 41815 42019 +0.5% 1.00x (?)
FrequenciesUsingReduce 5145 5199 +1.0% 0.99x (?)
FrequenciesUsingReduceInto 1552 1571 +1.2% 0.99x (?)
Hanoi 2238 2230 -0.4% 1.00x (?)
HashTest 1029 1030 +0.1% 1.00x (?)
Histogram 729 728 -0.1% 1.00x (?)
Integrate 336 336 +0.0% 1.00x
IterateData 1847 1847 +0.0% 1.00x
Join 186 185 -0.5% 1.01x (?)
LazilyFilteredArrayContains 36657 36658 +0.0% 1.00x (?)
LazilyFilteredArrays 64995 64922 -0.1% 1.00x (?)
LazilyFilteredRange 3874 3874 +0.0% 1.00x
LessSubstringSubstring 49 49 +0.0% 1.00x
LessSubstringSubstringGenericComparable 49 49 +0.0% 1.00x
LinkedList 7543 7521 -0.3% 1.00x (?)
LuhnAlgoEager 324 326 +0.6% 0.99x (?)
LuhnAlgoLazy 323 324 +0.3% 1.00x (?)
MapReduce 398 399 +0.3% 1.00x (?)
MapReduceAnyCollection 429 429 +0.0% 1.00x
MapReduceAnyCollectionShort 2267 2263 -0.2% 1.00x (?)
MapReduceClass 3001 2997 -0.1% 1.00x (?)
MapReduceClassShort 4603 4604 +0.0% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 37 36 -2.7% 1.03x (?)
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 453 455 +0.4% 1.00x (?)
MapReduceShort 1994 1986 -0.4% 1.00x (?)
MapReduceShortString 30 30 +0.0% 1.00x
MapReduceString 79 79 +0.0% 1.00x
Memset 214 216 +0.9% 0.99x (?)
MonteCarloE 10229 10230 +0.0% 1.00x (?)
MonteCarloPi 42680 42682 +0.0% 1.00x (?)
NSDictionaryCastToSwift 7252 7263 +0.2% 1.00x (?)
NSError 173 172 -0.6% 1.01x (?)
NibbleSort 3669 3669 +0.0% 1.00x
NopDeinit 32086 32117 +0.1% 1.00x (?)
ObjectAllocation 133 132 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 26066 25666 -1.5% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4640 4588 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 44405 44361 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 44066 43949 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 111375 113905 +2.3% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 51790 50952 -1.6% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5108 4874 -4.6% 1.05x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 65004 65027 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSString 1223 1223 +0.0% 1.00x
ObjectiveCBridgeFromNSStringForced 2677 2657 -0.7% 1.01x (?)
ObjectiveCBridgeStubDataAppend 11357 11361 +0.0% 1.00x (?)
ObjectiveCBridgeStubDateMutation 400 400 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 33145 33370 +0.7% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 7248 7246 -0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSString 1063 1048 -1.4% 1.01x (?)
ObjectiveCBridgeStubFromNSStringRef 167 167 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2510 2518 +0.3% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 12792 13216 +3.3% 0.97x (?)
ObjectiveCBridgeStubToArrayOfNSString 39176 39297 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSDate 15048 14816 -1.5% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3411 3422 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSString 2380 2380 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 124 124 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 271648 277929 +2.3% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 270239 277450 +2.7% 0.97x (?)
ObjectiveCBridgeToNSArray 14837 14906 +0.5% 1.00x (?)
ObjectiveCBridgeToNSDictionary 26345 25455 -3.4% 1.03x (?)
ObjectiveCBridgeToNSSet 17136 16706 -2.5% 1.03x (?)
ObjectiveCBridgeToNSString 491 488 -0.6% 1.01x (?)
ObserverClosure 2153 2156 +0.1% 1.00x (?)
ObserverForwarderStruct 1253 1252 -0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 3724 3728 +0.1% 1.00x (?)
ObserverUnappliedMethod 2613 2617 +0.2% 1.00x (?)
OpenClose 269 266 -1.1% 1.01x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4755 4603 -3.2% 1.03x
PointerArithmetics 34354 34355 +0.0% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1846 1815 -1.7% 1.02x (?)
PopFrontUnsafePointer 8737 8740 +0.0% 1.00x (?)
PrefixAnyCollection 83 84 +1.2% 0.99x (?)
PrefixAnyCollectionLazy 62764 62990 +0.4% 1.00x (?)
PrefixAnySeqCRangeIter 16628 16610 -0.1% 1.00x (?)
PrefixAnySeqCRangeIterLazy 16658 16634 -0.1% 1.00x (?)
PrefixAnySeqCntRange 28 28 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 28 28 +0.0% 1.00x
PrefixAnySequence 4340 4329 -0.3% 1.00x (?)
PrefixAnySequenceLazy 4337 4328 -0.2% 1.00x (?)
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 2222 2222 +0.0% 1.00x
PrefixSequenceLazy 2275 2275 +0.0% 1.00x
PrefixWhileAnyCollection 154 154 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 90 90 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 9009 8998 -0.1% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 72 72 +0.0% 1.00x
PrefixWhileAnySeqCntRange 59 59 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 90 90 +0.0% 1.00x
PrefixWhileAnySequence 10165 10156 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1393 1392 -0.1% 1.00x (?)
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 361 361 +0.0% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 908 913 +0.6% 0.99x (?)
PrimsSplit 917 912 -0.5% 1.01x (?)
QueueConcrete 1148 1146 -0.2% 1.00x (?)
QueueGeneric 1147 1147 +0.0% 1.00x
RC4 149 149 +0.0% 1.00x
RGBHistogram 3239 3234 -0.2% 1.00x (?)
RGBHistogramOfObjects 23787 23782 -0.0% 1.00x (?)
RangeAssignment 337 336 -0.3% 1.00x (?)
RangeIterationSigned 171 171 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 1033 1032 -0.1% 1.00x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 47 47 +0.0% 1.00x
RemoveWhereFilterString 233 234 +0.4% 1.00x (?)
RemoveWhereFilterStrings 437 437 +0.0% 1.00x
RemoveWhereMoveInts 15 15 +0.0% 1.00x
RemoveWhereMoveStrings 709 707 -0.3% 1.00x
RemoveWhereQuadraticInts 1289 1290 +0.1% 1.00x (?)
RemoveWhereQuadraticString 364 365 +0.3% 1.00x (?)
RemoveWhereQuadraticStrings 2753 2755 +0.1% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 860 859 -0.1% 1.00x (?)
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16210 16248 +0.2% 1.00x (?)
ReversedDictionary 261 261 +0.0% 1.00x
RomanNumbers 92986 91298 -1.8% 1.02x
SequenceAlgosAnySequence 11735 11640 -0.8% 1.01x
SequenceAlgosArray 1569 1573 +0.3% 1.00x (?)
SequenceAlgosContiguousArray 1576 1580 +0.3% 1.00x (?)
SequenceAlgosList 1347 1347 +0.0% 1.00x
SequenceAlgosRange 2576 2577 +0.0% 1.00x (?)
SequenceAlgosUnfoldSequence 1102 1102 +0.0% 1.00x
SetExclusiveOr 5220 5212 -0.2% 1.00x (?)
SetExclusiveOr_OfObjects 11843 11757 -0.7% 1.01x (?)
SetIntersect 698 699 +0.1% 1.00x (?)
SetIntersect_OfObjects 1637 1643 +0.4% 1.00x (?)
SetIsSubsetOf 354 354 +0.0% 1.00x
SetIsSubsetOf_OfObjects 449 449 +0.0% 1.00x
SetUnion 4522 4540 +0.4% 1.00x (?)
SetUnion_OfObjects 10238 10113 -1.2% 1.01x
SevenBoom 878 883 +0.6% 0.99x (?)
Sim2DArray 417 417 +0.0% 1.00x
SortLargeExistentials 6186 6178 -0.1% 1.00x (?)
SortLettersInPlace 1044 1045 +0.1% 1.00x (?)
SortSortedStrings 1014 1001 -1.3% 1.01x (?)
SortStrings 1990 1949 -2.1% 1.02x
SortStringsUnicode 2470 2473 +0.1% 1.00x (?)
StackPromo 25186 25220 +0.1% 1.00x (?)
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1784 1784 +0.0% 1.00x
StrToInt 3209 3253 +1.4% 0.99x
StringAdder 711 711 +0.0% 1.00x
StringBuilder 626 629 +0.5% 1.00x (?)
StringBuilderLong 1317 1267 -3.8% 1.04x (?)
StringBuilderWithLongSubstring 1487 1491 +0.3% 1.00x (?)
StringComparison_abnormal 772 773 +0.1% 1.00x (?)
StringComparison_ascii 1293 1270 -1.8% 1.02x
StringComparison_emoji 802 809 +0.9% 0.99x
StringComparison_fastPrenormal 806 803 -0.4% 1.00x (?)
StringComparison_latin1 635 630 -0.8% 1.01x
StringComparison_longSharedPrefix 928 931 +0.3% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 1599 1603 +0.3% 1.00x (?)
StringComparison_slowerPrenormal 1675 1729 +3.2% 0.97x
StringComparison_zalgo 125474 125742 +0.2% 1.00x (?)
StringEdits 169481 167607 -1.1% 1.01x (?)
StringEnumRawValueInitialization 942 933 -1.0% 1.01x (?)
StringEqualPointerComparison 295 304 +3.1% 0.97x (?)
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2291 2233 -2.5% 1.03x
StringHasPrefixUnicode 102451 102955 +0.5% 1.00x (?)
StringHasSuffixAscii 2433 2347 -3.5% 1.04x
StringHasSuffixUnicode 100315 100874 +0.6% 0.99x (?)
StringInterpolation 9869 9810 -0.6% 1.01x (?)
StringInterpolationManySmallSegments 20155 20474 +1.6% 0.98x (?)
StringInterpolationSmall 6902 6894 -0.1% 1.00x (?)
StringMatch 13225 13085 -1.1% 1.01x (?)
StringRemoveDupes 515 523 +1.6% 0.98x (?)
StringUTF16Builder 2624 2621 -0.1% 1.00x (?)
StringUTF16SubstringBuilder 6104 5979 -2.0% 1.02x (?)
StringWalk 1432 1432 +0.0% 1.00x
StringWithCString 40856 40839 -0.0% 1.00x (?)
StringWordBuilder 2499 2496 -0.1% 1.00x (?)
StringWordBuilderReservingCapacity 1772 1774 +0.1% 1.00x (?)
SubstringComparable 26 26 +0.0% 1.00x
SubstringEqualString 786 791 +0.6% 0.99x (?)
SubstringEquatable 1415 1408 -0.5% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 75 75 +0.0% 1.00x
SuffixAnyCollection 31 31 +0.0% 1.00x
SuffixAnyCollectionLazy 20870 20951 +0.4% 1.00x (?)
SuffixAnySeqCRangeIter 3837 3834 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3835 3838 +0.1% 1.00x (?)
SuffixAnySeqCntRange 20 20 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 20 20 +0.0% 1.00x
SuffixAnySequence 5022 5046 +0.5% 1.00x (?)
SuffixAnySequenceLazy 5147 5145 -0.0% 1.00x (?)
SuffixCountableRange 12 12 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3741 3742 +0.0% 1.00x (?)
SuffixSequenceLazy 3742 3736 -0.2% 1.00x (?)
SumUsingReduce 97 97 +0.0% 1.00x
SumUsingReduceInto 101 101 +0.0% 1.00x
SuperChars 14747 14756 +0.1% 1.00x (?)
TwoSum 1476 1479 +0.2% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 304 304 +0.0% 1.00x
Walsh 433 433 +0.0% 1.00x
WordCountHistogramASCII 7679 7604 -1.0% 1.01x (?)
WordCountHistogramUTF16 14236 14295 +0.4% 1.00x (?)
WordCountUniqueASCII 2141 2135 -0.3% 1.00x (?)
WordCountUniqueUTF16 7721 7635 -1.1% 1.01x (?)
WordSplitASCII 6891 7003 +1.6% 0.98x (?)
WordSplitUTF16 8843 8905 +0.7% 0.99x (?)
XorLoop 398 402 +1.0% 0.99x (?)

Unoptimized (Onone)

Regression (5)
TEST OLD NEW DELTA SPEEDUP
StringBuilderWithLongSubstring 3188 3584 +12.4% 0.89x (?)
FloatingPointPrinting_Float_interpolated 74084 80737 +9.0% 0.92x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 9248 10005 +8.2% 0.92x (?)
PopFrontUnsafePointer 10416 11164 +7.2% 0.93x (?)
StrComplexWalk 6834 7268 +6.4% 0.94x
Improvement (10)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeFromNSSetAnyObjectForced 6690 5703 -14.8% 1.17x (?)
AngryPhonebook 5847 5171 -11.6% 1.13x (?)
ObjectiveCBridgeFromNSSetAnyObject 56924 53235 -6.5% 1.07x (?)
ObjectiveCBridgeFromNSArrayAnyObject 29689 27767 -6.5% 1.07x (?)
DropLastAnyCollectionLazy 35064 32911 -6.1% 1.07x (?)
SortStrings 2336 2196 -6.0% 1.06x
CharacterPropertiesFetch 5823 5505 -5.5% 1.06x (?)
TypeFlood 202 191 -5.4% 1.06x (?)
SortStringsUnicode 2775 2636 -5.0% 1.05x
PointerArithmetics 120331 114525 -4.8% 1.05x
No Changes (412)
TEST OLD NEW DELTA SPEEDUP
AnyHashableWithAClass 102686 102569 -0.1% 1.00x (?)
Array2D 634419 636757 +0.4% 1.00x (?)
ArrayAppend 4438 4442 +0.1% 1.00x (?)
ArrayAppendArrayOfInt 868 866 -0.2% 1.00x (?)
ArrayAppendAscii 28646 28537 -0.4% 1.00x (?)
ArrayAppendAsciiSubstring 184593 184226 -0.2% 1.00x (?)
ArrayAppendFromGeneric 873 873 +0.0% 1.00x
ArrayAppendGenericStructs 1502 1502 +0.0% 1.00x
ArrayAppendLatin1 66991 66688 -0.5% 1.00x (?)
ArrayAppendLatin1Substring 322067 324143 +0.6% 0.99x (?)
ArrayAppendLazyMap 173374 173979 +0.3% 1.00x
ArrayAppendOptionals 1498 1503 +0.3% 1.00x (?)
ArrayAppendRepeatCol 183159 182853 -0.2% 1.00x
ArrayAppendReserved 4279 4283 +0.1% 1.00x (?)
ArrayAppendSequence 104163 103618 -0.5% 1.01x (?)
ArrayAppendStrings 6323 6319 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 868 869 +0.1% 1.00x (?)
ArrayAppendToGeneric 879 877 -0.2% 1.00x (?)
ArrayAppendUTF16 67153 67003 -0.2% 1.00x
ArrayAppendUTF16Substring 324639 326037 +0.4% 1.00x (?)
ArrayInClass 6281 6280 -0.0% 1.00x (?)
ArrayLiteral 1805 1802 -0.2% 1.00x (?)
ArrayOfGenericPOD2 1185 1189 +0.3% 1.00x (?)
ArrayOfGenericRef 10874 10790 -0.8% 1.01x (?)
ArrayOfPOD 844 843 -0.1% 1.00x (?)
ArrayOfRef 10004 9958 -0.5% 1.00x (?)
ArrayPlusEqualArrayOfInt 867 867 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 243132 235596 -3.1% 1.03x (?)
ArrayPlusEqualSingleElementCollection 236142 235964 -0.1% 1.00x (?)
ArrayPlusEqualThreeElements 9431 9344 -0.9% 1.01x (?)
ArraySubscript 108684 108052 -0.6% 1.01x (?)
ArrayValueProp 3673 3685 +0.3% 1.00x (?)
ArrayValueProp2 15471 15339 -0.9% 1.01x (?)
ArrayValueProp3 4269 4261 -0.2% 1.00x (?)
ArrayValueProp4 4134 4152 +0.4% 1.00x (?)
BinaryFloatingPointPropertiesBinade 88 86 -2.3% 1.02x
BinaryFloatingPointPropertiesNextUp 126 128 +1.6% 0.98x
BinaryFloatingPointPropertiesUlp 134 131 -2.2% 1.02x
BitCount 8557 8558 +0.0% 1.00x (?)
ByteSwap 9490 9454 -0.4% 1.00x
COWTree 12125 11698 -3.5% 1.04x (?)
CSVParsing 3125257 3121973 -0.1% 1.00x (?)
CSVParsingAlt 1441863 1512530 +4.9% 0.95x (?)
CSVParsingAltIndices 2374037 2356223 -0.8% 1.01x (?)
CStringLongAscii 5439 5668 +4.2% 0.96x
CStringLongNonAscii 2513 2589 +3.0% 0.97x
CStringShortAscii 6846 6997 +2.2% 0.98x (?)
Calculator 2196 2101 -4.3% 1.05x
CaptureProp 276886 276916 +0.0% 1.00x (?)
ChainedFilterMap 234541 236503 +0.8% 0.99x
CharIndexing_ascii_unicodeScalars 317076 316338 -0.2% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 352624 356573 +1.1% 0.99x (?)
CharIndexing_chinese_unicodeScalars 237016 239374 +1.0% 0.99x (?)
CharIndexing_chinese_unicodeScalars_Backwards 265660 273114 +2.8% 0.97x (?)
CharIndexing_japanese_unicodeScalars 375484 377276 +0.5% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 422859 425648 +0.7% 0.99x (?)
CharIndexing_korean_unicodeScalars 303513 305664 +0.7% 0.99x (?)
CharIndexing_korean_unicodeScalars_Backwards 356586 343808 -3.6% 1.04x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 56033 55962 -0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 61035 61877 +1.4% 0.99x (?)
CharIndexing_punctuated_unicodeScalars 70020 70443 +0.6% 0.99x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 79182 77737 -1.8% 1.02x (?)
CharIndexing_russian_unicodeScalars 262380 262094 -0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 301715 298701 -1.0% 1.01x (?)
CharIndexing_tweet_unicodeScalars 616552 626209 +1.6% 0.98x (?)
CharIndexing_tweet_unicodeScalars_Backwards 703882 709714 +0.8% 0.99x (?)
CharIndexing_utf16_unicodeScalars 276613 274916 -0.6% 1.01x (?)
CharIndexing_utf16_unicodeScalars_Backwards 305322 302346 -1.0% 1.01x (?)
CharIteration_ascii_unicodeScalars 150921 150144 -0.5% 1.01x (?)
CharIteration_ascii_unicodeScalars_Backwards 253485 249333 -1.6% 1.02x (?)
CharIteration_chinese_unicodeScalars 114216 113464 -0.7% 1.01x (?)
CharIteration_chinese_unicodeScalars_Backwards 190378 188326 -1.1% 1.01x (?)
CharIteration_japanese_unicodeScalars 181116 180380 -0.4% 1.00x
CharIteration_japanese_unicodeScalars_Backwards 302906 298843 -1.3% 1.01x
CharIteration_korean_unicodeScalars 146317 145795 -0.4% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 244829 242122 -1.1% 1.01x (?)
CharIteration_punctuatedJapanese_unicodeScalars 26802 26711 -0.3% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 44084 43592 -1.1% 1.01x (?)
CharIteration_punctuated_unicodeScalars 33743 33621 -0.4% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 55657 55193 -0.8% 1.01x (?)
CharIteration_russian_unicodeScalars 126037 125405 -0.5% 1.01x
CharIteration_russian_unicodeScalars_Backwards 210638 207750 -1.4% 1.01x (?)
CharIteration_tweet_unicodeScalars 297757 296306 -0.5% 1.00x
CharIteration_tweet_unicodeScalars_Backwards 501487 493331 -1.6% 1.02x (?)
CharIteration_utf16_unicodeScalars 128119 127373 -0.6% 1.01x (?)
CharIteration_utf16_unicodeScalars_Backwards 219053 217669 -0.6% 1.01x (?)
CharacterLiteralsLarge 5820 5800 -0.3% 1.00x (?)
CharacterLiteralsSmall 705 677 -4.0% 1.04x
CharacterPropertiesPrecomputed 3537 3572 +1.0% 0.99x (?)
CharacterPropertiesStashed 2335 2356 +0.9% 0.99x (?)
CharacterPropertiesStashedMemo 4396 4403 +0.2% 1.00x (?)
Chars 36107 36312 +0.6% 0.99x
ClassArrayGetter 991 993 +0.2% 1.00x (?)
Combos 2279 2391 +4.9% 0.95x (?)
DataAccessBytes 2402 2382 -0.8% 1.01x (?)
DataAppendArray 5236 5390 +2.9% 0.97x (?)
DataAppendBytes 5015 4989 -0.5% 1.01x (?)
DataAppendDataLargeToLarge 67955 68432 +0.7% 0.99x (?)
DataAppendDataLargeToMedium 35221 35573 +1.0% 0.99x (?)
DataAppendDataLargeToSmall 34639 34842 +0.6% 0.99x (?)
DataAppendDataMediumToLarge 38075 37812 -0.7% 1.01x (?)
DataAppendDataMediumToMedium 6756 6635 -1.8% 1.02x (?)
DataAppendDataMediumToSmall 6192 6102 -1.5% 1.01x (?)
DataAppendDataSmallToLarge 37076 37208 +0.4% 1.00x (?)
DataAppendDataSmallToMedium 6491 6475 -0.2% 1.00x (?)
DataAppendDataSmallToSmall 6230 6202 -0.4% 1.00x (?)
DataAppendSequence 1914352 1914504 +0.0% 1.00x (?)
DataCopyBytes 2478 2503 +1.0% 0.99x (?)
DataCount 246 246 +0.0% 1.00x
DataMutateBytes 5391 5321 -1.3% 1.01x (?)
DataReplaceLarge 38349 40013 +4.3% 0.96x (?)
DataReplaceLargeBuffer 61687 61690 +0.0% 1.00x (?)
DataReplaceMedium 9485 9846 +3.8% 0.96x (?)
DataReplaceMediumBuffer 15838 16070 +1.5% 0.99x (?)
DataReplaceSmall 7006 7047 +0.6% 0.99x (?)
DataReplaceSmallBuffer 12677 12408 -2.1% 1.02x (?)
DataReset 2863 2872 +0.3% 1.00x (?)
DataSetCount 564 563 -0.2% 1.00x (?)
DataSubscript 467 467 +0.0% 1.00x
DictOfArraysToArrayOfDicts 3494 3476 -0.5% 1.01x (?)
Dictionary 2364 2369 +0.2% 1.00x (?)
Dictionary2 1458 1464 +0.4% 1.00x
Dictionary2OfObjects 4333 4371 +0.9% 0.99x (?)
Dictionary3 861 865 +0.5% 1.00x (?)
Dictionary3OfObjects 2183 2197 +0.6% 0.99x (?)
Dictionary4 1314 1344 +2.3% 0.98x (?)
Dictionary4Legacy 1592 1600 +0.5% 1.00x (?)
Dictionary4OfObjects 1893 1904 +0.6% 0.99x (?)
Dictionary4OfObjectsLegacy 2209 2223 +0.6% 0.99x (?)
DictionaryBridge 1361 1349 -0.9% 1.01x (?)
DictionaryCopy 331074 329691 -0.4% 1.00x (?)
DictionaryFilter 328151 327976 -0.1% 1.00x (?)
DictionaryGroup 4493 4465 -0.6% 1.01x
DictionaryGroupOfObjects 6945 6979 +0.5% 1.00x (?)
DictionaryLiteral 8944 8855 -1.0% 1.01x (?)
DictionaryOfObjects 6253 5975 -4.4% 1.05x (?)
DictionaryRemove 17452 17488 +0.2% 1.00x (?)
DictionaryRemoveOfObjects 54777 53444 -2.4% 1.02x (?)
DictionarySubscriptDefaultMutation 2015 2009 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArray 2282 2281 -0.0% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9499 9461 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 5462 5458 -0.1% 1.00x (?)
DictionarySwap 4967 4992 +0.5% 0.99x (?)
DictionarySwapAt 35320 35591 +0.8% 0.99x (?)
DictionarySwapAtOfObjects 113882 114676 +0.7% 0.99x (?)
DictionarySwapOfObjects 19208 19575 +1.9% 0.98x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 15301 15273 -0.2% 1.00x (?)
DropFirstAnyCollectionLazy 100422 99023 -1.4% 1.01x (?)
DropFirstAnySeqCRangeIter 23452 23374 -0.3% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 23562 23478 -0.4% 1.00x (?)
DropFirstAnySeqCntRange 15338 15281 -0.4% 1.00x (?)
DropFirstAnySeqCntRangeLazy 15294 15263 -0.2% 1.00x (?)
DropFirstAnySequence 12867 12844 -0.2% 1.00x (?)
DropFirstAnySequenceLazy 12882 12920 +0.3% 1.00x (?)
DropFirstArray 3457 3463 +0.2% 1.00x (?)
DropFirstArrayLazy 29897 29724 -0.6% 1.01x (?)
DropFirstCountableRange 310 310 +0.0% 1.00x
DropFirstCountableRangeLazy 33720 33844 +0.4% 1.00x (?)
DropFirstSequence 12442 12475 +0.3% 1.00x (?)
DropFirstSequenceLazy 12414 12392 -0.2% 1.00x (?)
DropLastAnyCollection 5108 5106 -0.0% 1.00x (?)
DropLastAnySeqCRangeIter 41435 41273 -0.4% 1.00x (?)
DropLastAnySeqCRangeIterLazy 41496 41198 -0.7% 1.01x
DropLastAnySeqCntRange 5146 5117 -0.6% 1.01x
DropLastAnySeqCntRangeLazy 5124 5103 -0.4% 1.00x
DropLastAnySequence 30800 30884 +0.3% 1.00x (?)
DropLastAnySequenceLazy 31111 31149 +0.1% 1.00x (?)
DropLastCountableRange 107 107 +0.0% 1.00x
DropLastCountableRangeLazy 11266 11305 +0.3% 1.00x (?)
DropLastSequence 30780 30768 -0.0% 1.00x (?)
DropLastSequenceLazy 31369 31188 -0.6% 1.01x (?)
DropWhileAnyCollection 19695 19687 -0.0% 1.00x (?)
DropWhileAnyCollectionLazy 22366 22303 -0.3% 1.00x (?)
DropWhileAnySeqCRangeIter 24326 24276 -0.2% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 22339 22126 -1.0% 1.01x
DropWhileAnySeqCntRange 19710 19659 -0.3% 1.00x (?)
DropWhileAnySeqCntRangeLazy 22285 22063 -1.0% 1.01x
DropWhileAnySequence 13644 13630 -0.1% 1.00x (?)
DropWhileAnySequenceLazy 12487 12552 +0.5% 0.99x
DropWhileArrayLazy 14296 14665 +2.6% 0.97x (?)
DropWhileCountableRange 4779 4776 -0.1% 1.00x (?)
DropWhileCountableRangeLazy 21919 21794 -0.6% 1.01x
DropWhileSequence 13207 13244 +0.3% 1.00x (?)
DropWhileSequenceLazy 12059 12076 +0.1% 1.00x (?)
EqualStringSubstring 72 71 -1.4% 1.01x
EqualSubstringString 72 71 -1.4% 1.01x
EqualSubstringSubstring 73 72 -1.4% 1.01x
EqualSubstringSubstringGenericEquatable 58 58 +0.0% 1.00x
ErrorHandling 6536 6290 -3.8% 1.04x (?)
ExclusivityGlobal 191 191 +0.0% 1.00x
ExclusivityIndependent 73 73 +0.0% 1.00x
FatCompactMap 296684 298226 +0.5% 0.99x (?)
FilterEvenUsingReduce 3604 3636 +0.9% 0.99x (?)
FilterEvenUsingReduceInto 1909 1926 +0.9% 0.99x (?)
FloatingPointPrinting_Double_description_small 24205 24289 +0.3% 1.00x (?)
FloatingPointPrinting_Double_description_uniform 36241 36515 +0.8% 0.99x (?)
FloatingPointPrinting_Double_interpolated 107672 105892 -1.7% 1.02x (?)
FloatingPointPrinting_Float80_description_small 31269 31395 +0.4% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 60518 61795 +2.1% 0.98x (?)
FloatingPointPrinting_Float80_interpolated 129564 126420 -2.4% 1.02x (?)
FloatingPointPrinting_Float_description_small 6494 6751 +4.0% 0.96x
FloatingPointPrinting_Float_description_uniform 17077 17280 +1.2% 0.99x (?)
FrequenciesUsingReduce 10616 10983 +3.5% 0.97x (?)
FrequenciesUsingReduceInto 3150 3171 +0.7% 0.99x (?)
Hanoi 20538 20352 -0.9% 1.01x
HashTest 21479 21417 -0.3% 1.00x (?)
Histogram 6261 6273 +0.2% 1.00x (?)
Integrate 460 461 +0.2% 1.00x
IterateData 5475 5488 +0.2% 1.00x (?)
Join 770 774 +0.5% 0.99x
LazilyFilteredArrayContains 823323 823792 +0.1% 1.00x (?)
LazilyFilteredArrays 1428647 1434838 +0.4% 1.00x (?)
LazilyFilteredRange 528015 526976 -0.2% 1.00x (?)
LessSubstringSubstring 73 72 -1.4% 1.01x
LessSubstringSubstringGenericComparable 59 58 -1.7% 1.02x
LinkedList 32274 32259 -0.0% 1.00x (?)
LuhnAlgoEager 5580 5640 +1.1% 0.99x (?)
LuhnAlgoLazy 5700 5660 -0.7% 1.01x (?)
MapReduce 26362 26357 -0.0% 1.00x (?)
MapReduceAnyCollection 25691 25612 -0.3% 1.00x (?)
MapReduceAnyCollectionShort 37578 36159 -3.8% 1.04x (?)
MapReduceClass 29856 29640 -0.7% 1.01x (?)
MapReduceClassShort 40783 40074 -1.7% 1.02x (?)
MapReduceLazyCollection 22600 22772 +0.8% 0.99x
MapReduceLazyCollectionShort 33568 33660 +0.3% 1.00x (?)
MapReduceLazySequence 20362 20511 +0.7% 0.99x (?)
MapReduceSequence 31047 31197 +0.5% 1.00x (?)
MapReduceShort 36320 36798 +1.3% 0.99x (?)
MapReduceShortString 229 230 +0.4% 1.00x (?)
MapReduceString 1741 1746 +0.3% 1.00x (?)
Memset 44786 44787 +0.0% 1.00x (?)
MonteCarloE 1155317 1148861 -0.6% 1.01x (?)
MonteCarloPi 5187088 5159918 -0.5% 1.01x
NSDictionaryCastToSwift 8946 9180 +2.6% 0.97x (?)
NSError 623 622 -0.2% 1.00x (?)
NSStringConversion 795 773 -2.8% 1.03x
NibbleSort 493623 495813 +0.4% 1.00x (?)
NopDeinit 197601 197814 +0.1% 1.00x (?)
ObjectAllocation 1270 1264 -0.5% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 47947 47190 -1.6% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 46376 46886 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 116519 120030 +3.0% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 73145 73974 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSString 2897 2877 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2817 2789 -1.0% 1.01x (?)
ObjectiveCBridgeStubDataAppend 6266 6235 -0.5% 1.00x (?)
ObjectiveCBridgeStubDateMutation 716 716 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 33201 34173 +2.9% 0.97x (?)
ObjectiveCBridgeStubFromNSDate 7068 7074 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 1095 1085 -0.9% 1.01x (?)
ObjectiveCBridgeStubFromNSStringRef 196 197 +0.5% 0.99x (?)
ObjectiveCBridgeStubNSDataAppend 3034 3038 +0.1% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 16645 16156 -2.9% 1.03x (?)
ObjectiveCBridgeStubToArrayOfNSString 40076 38954 -2.8% 1.03x (?)
ObjectiveCBridgeStubToNSDate 16099 16042 -0.4% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3458 3478 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSString 2421 2410 -0.5% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 150 150 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 296859 287702 -3.1% 1.03x (?)
ObjectiveCBridgeStubURLAppendPathRef 294103 295112 +0.3% 1.00x (?)
ObjectiveCBridgeToNSArray 15770 15992 +1.4% 0.99x (?)
ObjectiveCBridgeToNSDictionary 28214 28204 -0.0% 1.00x (?)
ObjectiveCBridgeToNSSet 18247 18613 +2.0% 0.98x (?)
ObjectiveCBridgeToNSString 523 520 -0.6% 1.01x (?)
ObserverClosure 6489 6495 +0.1% 1.00x (?)
ObserverForwarderStruct 4318 4324 +0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 8035 8025 -0.1% 1.00x (?)
ObserverUnappliedMethod 8178 8171 -0.1% 1.00x (?)
OpenClose 882 872 -1.1% 1.01x
PartialApplyDynamicType 39758 39949 +0.5% 1.00x (?)
Phonebook 19352 18773 -3.0% 1.03x
PolymorphicCalls 2377 2365 -0.5% 1.01x (?)
PopFrontArray 4775 4763 -0.3% 1.00x (?)
PopFrontArrayGeneric 5494 5481 -0.2% 1.00x (?)
PrefixAnyCollection 15330 15259 -0.5% 1.00x (?)
PrefixAnyCollectionLazy 99785 99366 -0.4% 1.00x (?)
PrefixAnySeqCRangeIter 18750 18701 -0.3% 1.00x (?)
PrefixAnySeqCRangeIterLazy 18910 18710 -1.1% 1.01x
PrefixAnySeqCntRange 15332 15320 -0.1% 1.00x (?)
PrefixAnySeqCntRangeLazy 15285 15241 -0.3% 1.00x
PrefixAnySequence 10565 10563 -0.0% 1.00x (?)
PrefixAnySequenceLazy 10540 10528 -0.1% 1.00x (?)
PrefixArray 3637 3630 -0.2% 1.00x
PrefixArrayLazy 29939 29984 +0.2% 1.00x (?)
PrefixCountableRange 310 310 +0.0% 1.00x
PrefixCountableRangeLazy 33730 34120 +1.2% 0.99x
PrefixSequence 10100 10168 +0.7% 0.99x
PrefixSequenceLazy 10135 10132 -0.0% 1.00x (?)
PrefixWhileAnyCollection 28554 28541 -0.0% 1.00x (?)
PrefixWhileAnyCollectionLazy 18440 18486 +0.2% 1.00x (?)
PrefixWhileAnySeqCRangeIter 34556 34503 -0.2% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 18289 18158 -0.7% 1.01x
PrefixWhileAnySeqCntRange 28497 28422 -0.3% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 18265 18216 -0.3% 1.00x (?)
PrefixWhileAnySequence 27441 27499 +0.2% 1.00x (?)
PrefixWhileAnySequenceLazy 11009 10992 -0.2% 1.00x (?)
PrefixWhileArray 10484 10880 +3.8% 0.96x (?)
PrefixWhileArrayLazy 12312 12331 +0.2% 1.00x (?)
PrefixWhileCountableRange 13566 13535 -0.2% 1.00x
PrefixWhileCountableRangeLazy 18027 17925 -0.6% 1.01x (?)
PrefixWhileSequence 26285 26360 +0.3% 1.00x (?)
PrefixWhileSequenceLazy 10890 10855 -0.3% 1.00x (?)
Prims 9782 9588 -2.0% 1.02x (?)
PrimsSplit 9636 9663 +0.3% 1.00x (?)
QueueConcrete 14313 14219 -0.7% 1.01x
QueueGeneric 18683 18649 -0.2% 1.00x (?)
RC4 15933 15930 -0.0% 1.00x (?)
RGBHistogram 24383 24388 +0.0% 1.00x (?)
RGBHistogramOfObjects 79134 79169 +0.0% 1.00x (?)
RangeAssignment 2652 2638 -0.5% 1.01x (?)
RangeIterationSigned 14654 14819 +1.1% 0.99x
RangeReplaceableCollectionPlusDefault 10872 10688 -1.7% 1.02x (?)
RecursiveOwnedParameter 5798 5786 -0.2% 1.00x (?)
RemoveWhereFilterInts 1962 1954 -0.4% 1.00x
RemoveWhereFilterString 1332 1337 +0.4% 1.00x
RemoveWhereFilterStrings 2478 2470 -0.3% 1.00x (?)
RemoveWhereMoveInts 3405 3407 +0.1% 1.00x (?)
RemoveWhereMoveStrings 3941 3946 +0.1% 1.00x (?)
RemoveWhereQuadraticInts 8044 8024 -0.2% 1.00x (?)
RemoveWhereQuadraticString 2287 2296 +0.4% 1.00x (?)
RemoveWhereQuadraticStrings 9696 9683 -0.1% 1.00x (?)
RemoveWhereSwapInts 6142 6144 +0.0% 1.00x (?)
RemoveWhereSwapStrings 6921 6920 -0.0% 1.00x (?)
ReversedArray 14003 14022 +0.1% 1.00x (?)
ReversedBidirectional 43087 42947 -0.3% 1.00x (?)
ReversedDictionary 23383 23492 +0.5% 1.00x (?)
RomanNumbers 1326826 1326244 -0.0% 1.00x (?)
SequenceAlgosAnySequence 12911 12798 -0.9% 1.01x
SequenceAlgosArray 756726 758102 +0.2% 1.00x (?)
SequenceAlgosContiguousArray 285103 288939 +1.3% 0.99x (?)
SequenceAlgosList 8728 8699 -0.3% 1.00x (?)
SequenceAlgosRange 1266436 1250210 -1.3% 1.01x (?)
SequenceAlgosUnfoldSequence 6601 6591 -0.2% 1.00x (?)
SetExclusiveOr 16213 16299 +0.5% 0.99x (?)
SetExclusiveOr_OfObjects 41412 41309 -0.2% 1.00x (?)
SetIntersect 6522 6649 +1.9% 0.98x
SetIntersect_OfObjects 10303 10310 +0.1% 1.00x (?)
SetIsSubsetOf 1175 1175 +0.0% 1.00x
SetIsSubsetOf_OfObjects 2272 2267 -0.2% 1.00x (?)
SetUnion 11939 11900 -0.3% 1.00x (?)
SetUnion_OfObjects 30151 29993 -0.5% 1.01x (?)
SevenBoom 1082 1085 +0.3% 1.00x (?)
Sim2DArray 43973 43977 +0.0% 1.00x (?)
SortLargeExistentials 11851 11747 -0.9% 1.01x (?)
SortLettersInPlace 1999 1994 -0.3% 1.00x (?)
SortSortedStrings 1173 1123 -4.3% 1.04x
StackPromo 99331 101614 +2.3% 0.98x (?)
StaticArray 2506 2490 -0.6% 1.01x (?)
StrToInt 79439 78986 -0.6% 1.01x (?)
StringAdder 1129 1185 +5.0% 0.95x
StringBuilder 5517 5552 +0.6% 0.99x (?)
StringBuilderLong 1477 1475 -0.1% 1.00x (?)
StringComparison_abnormal 1364 1336 -2.1% 1.02x (?)
StringComparison_ascii 9495 9475 -0.2% 1.00x (?)
StringComparison_emoji 1992 2000 +0.4% 1.00x (?)
StringComparison_fastPrenormal 4957 4952 -0.1% 1.00x (?)
StringComparison_latin1 3858 3841 -0.4% 1.00x
StringComparison_longSharedPrefix 2384 2377 -0.3% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3699 3708 +0.2% 1.00x
StringComparison_slowerPrenormal 4169 4179 +0.2% 1.00x
StringComparison_zalgo 128742 127998 -0.6% 1.01x (?)
StringEdits 369501 358308 -3.0% 1.03x (?)
StringEnumRawValueInitialization 33006 32714 -0.9% 1.01x (?)
StringEqualPointerComparison 1573 1574 +0.1% 1.00x (?)
StringFromLongWholeSubstring 23 23 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 200 197 -1.5% 1.02x (?)
StringHasPrefixAscii 3095 3035 -1.9% 1.02x
StringHasPrefixUnicode 103547 103652 +0.1% 1.00x (?)
StringHasSuffixAscii 3221 3131 -2.8% 1.03x
StringHasSuffixUnicode 101608 102560 +0.9% 0.99x (?)
StringInterpolation 13072 12680 -3.0% 1.03x (?)
StringInterpolationManySmallSegments 21708 21652 -0.3% 1.00x (?)
StringInterpolationSmall 9867 9514 -3.6% 1.04x (?)
StringMatch 41392 41589 +0.5% 1.00x (?)
StringRemoveDupes 727 737 +1.4% 0.99x (?)
StringUTF16Builder 8278 8315 +0.4% 1.00x (?)
StringUTF16SubstringBuilder 22022 21184 -3.8% 1.04x (?)
StringWalk 12939 12558 -2.9% 1.03x
StringWithCString 44063 43400 -1.5% 1.02x
StringWordBuilder 2655 2648 -0.3% 1.00x (?)
StringWordBuilderReservingCapacity 1891 1905 +0.7% 0.99x (?)
SubstringComparable 1644 1644 +0.0% 1.00x
SubstringEqualString 1722 1726 +0.2% 1.00x (?)
SubstringEquatable 5417 5456 +0.7% 0.99x (?)
SubstringFromLongString 18 18 +0.0% 1.00x
SubstringFromLongStringGeneric 109 111 +1.8% 0.98x (?)
SuffixAnyCollection 5126 5111 -0.3% 1.00x (?)
SuffixAnyCollectionLazy 33485 33068 -1.2% 1.01x (?)
SuffixAnySeqCRangeIter 39033 39092 +0.2% 1.00x (?)
SuffixAnySeqCRangeIterLazy 39092 39120 +0.1% 1.00x (?)
SuffixAnySeqCntRange 5149 5122 -0.5% 1.01x
SuffixAnySeqCntRangeLazy 5115 5086 -0.6% 1.01x
SuffixAnySequence 26721 26547 -0.7% 1.01x (?)
SuffixAnySequenceLazy 26574 26430 -0.5% 1.01x (?)
SuffixCountableRange 108 107 -0.9% 1.01x
SuffixCountableRangeLazy 11244 11253 +0.1% 1.00x (?)
SuffixSequence 26366 26248 -0.4% 1.00x (?)
SuffixSequenceLazy 27151 26640 -1.9% 1.02x (?)
SumUsingReduce 160709 160190 -0.3% 1.00x (?)
SumUsingReduceInto 154014 153311 -0.5% 1.00x
SuperChars 85482 86431 +1.1% 0.99x
TwoSum 3504 3536 +0.9% 0.99x (?)
UTF8Decode 29795 29756 -0.1% 1.00x (?)
Walsh 11978 11995 +0.1% 1.00x (?)
WordCountHistogramASCII 38516 38665 +0.4% 1.00x (?)
WordCountHistogramUTF16 46429 46447 +0.0% 1.00x (?)
WordCountUniqueASCII 7210 7143 -0.9% 1.01x (?)
WordCountUniqueUTF16 13028 12935 -0.7% 1.01x (?)
WordSplitASCII 10419 10515 +0.9% 0.99x (?)
WordSplitUTF16 12956 13067 +0.9% 0.99x (?)
XorLoop 23363 23374 +0.0% 1.00x (?)
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@swift-ci
Copy link
Contributor

swift-ci commented May 8, 2018

Build comment file:

Summary for master full

Unexpected test results, excluded stats for ProcedureKit, StencilSwiftKit, ObjectMapper, Core

Regressions found (see below)

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 719,528,774 719,518,242 -10,532 -0.0%
time.swift-driver.wall 1067.9s 1065.8s -2.1s -0.2%

debug-batch detailed

Regressed (2)
name old new delta delta_pct
Driver.NumDriverPipePolls 39,801 40,532 731 1.84% ⛔
Driver.NumDriverPipeReads 39,082 39,800 718 1.84% ⛔
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 13,816,824,480 13,816,520,499 -303,981 -0.0%
AST.NumDecls 36,668 36,668 0 0.0%
AST.NumDependencies 76,159 76,159 0 0.0%
AST.NumImportedExternalDefinitions 802,330 802,330 0 0.0%
AST.NumInfixOperators 12,444 12,444 0 0.0%
AST.NumLinkLibraries 0 0 0 0.0%
AST.NumLoadedModules 96,783 96,783 0 0.0%
AST.NumLocalTypeDecls 16 16 0 0.0%
AST.NumObjCMethods 21,191 21,191 0 0.0%
AST.NumPostfixOperators 12 12 0 0.0%
AST.NumPrecedenceGroups 7,897 7,897 0 0.0%
AST.NumPrefixOperators 38 38 0 0.0%
AST.NumReferencedDynamicNames 54 54 0 0.0%
AST.NumReferencedMemberNames 2,181,378 2,181,378 0 0.0%
AST.NumReferencedTopLevelNames 131,900 131,900 0 0.0%
AST.NumSourceBuffers 170,313 170,313 0 0.0%
AST.NumSourceLines 1,290,023 1,290,023 0 0.0%
AST.NumSourceLinesPerSecond 785,916 786,422 506 0.06%
AST.NumTotalClangImportedEntities 2,564,720 2,564,938 218 0.01%
AST.NumUsedConformances 103,530 103,530 0 0.0%
Driver.ChildrenMaxRSS 29,923,223,552 29,824,733,184 -98,490,368 -0.33%
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 7,693 7,693 0 0.0%
Driver.NumDriverJobsSkipped 0 0 0 0.0%
Driver.NumProcessFailures 0 0 0 0.0%
Frontend.NumProcessFailures 0 0 0 0.0%
IRModule.NumIRAliases 8,663 8,663 0 0.0%
IRModule.NumIRBasicBlocks 1,857,768 1,857,768 0 0.0%
IRModule.NumIRComdatSymbols 0 0 0 0.0%
IRModule.NumIRFunctions 1,078,990 1,078,990 0 0.0%
IRModule.NumIRGlobals 1,222,551 1,222,551 0 0.0%
IRModule.NumIRIFuncs 0 0 0 0.0%
IRModule.NumIRInsts 20,521,931 20,521,986 55 0.0%
IRModule.NumIRNamedMetaData 30,650 30,650 0 0.0%
IRModule.NumIRValueSymbols 2,031,815 2,031,815 0 0.0%
LLVM.NumLLVMBytesOutput 719,528,774 719,518,242 -10,532 -0.0%
Parse.NumFunctionsParsed 71,784 71,784 0 0.0%
SILModule.NumSILGenDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILGenFunctions 916,471 916,471 0 0.0%
SILModule.NumSILGenGlobalVariables 8,935 8,935 0 0.0%
SILModule.NumSILGenVtables 4,808 4,808 0 0.0%
SILModule.NumSILGenWitnessTables 20,265 20,265 0 0.0%
SILModule.NumSILOptDefaultWitnessTables 0 0 0 0.0%
SILModule.NumSILOptFunctions 722,925 722,925 0 0.0%
SILModule.NumSILOptGlobalVariables 18,008 18,008 0 0.0%
SILModule.NumSILOptVtables 8,793 8,793 0 0.0%
SILModule.NumSILOptWitnessTables 38,685 38,685 0 0.0%
Sema.NamedLazyMemberLoadFailureCount 15,177 15,177 0 0.0%
Sema.NamedLazyMemberLoadSuccessCount 1,860,298 1,860,202 -96 -0.01%
Sema.NominalTypeLookupDirectCount 17,377,231 17,377,431 200 0.0%
Sema.NumConformancesDeserialized 2,359,826 2,342,350 -17,476 -0.74%
Sema.NumConstraintScopes 7,673,724 7,673,724 0 0.0%
Sema.NumDeclsDeserialized 16,148,264 16,166,814 18,550 0.11%
Sema.NumDeclsValidated 1,482,037 1,482,037 0 0.0%
Sema.NumFunctionsTypechecked 497,317 497,317 0 0.0%
Sema.NumGenericSignatureBuilders 839,284 840,586 1,302 0.16%
Sema.NumLazyGenericEnvironments 2,899,715 2,902,346 2,631 0.09%
Sema.NumLazyGenericEnvironmentsLoaded 317,046 317,046 0 0.0%
Sema.NumLazyIterableDeclContexts 2,558,921 2,562,537 3,616 0.14%
Sema.NumTypesDeserialized 16,872,537 16,899,514 26,977 0.16%
Sema.NumTypesValidated 1,907,307 1,907,307 0 0.0%
Sema.NumUnloadedLazyIterableDeclContexts 1,661,952 1,665,568 3,616 0.22%

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,499,173,796 1,499,487,714 313,918 0.02%
time.swift-driver.wall 4025.5s 4023.3s -2.2s -0.05%

release detailed

Regressed (0)
name old new delta delta_pct
Improved (1)
name old new delta delta_pct
Sema.NumConformancesDeserialized 4,882,733 4,704,196 -178,537 -3.66% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (22)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 685,113 685,208 95 0.01%
AST.NumLoadedModules 81,544 81,559 15 0.02%
AST.NumTotalClangImportedEntities 2,246,625 2,247,056 431 0.02%
AST.NumUsedConformances 225,974 226,133 159 0.07%
IRModule.NumIRBasicBlocks 3,903,762 3,906,805 3,043 0.08%
IRModule.NumIRFunctions 1,956,474 1,957,597 1,123 0.06%
IRModule.NumIRGlobals 2,110,446 2,111,363 917 0.04%
IRModule.NumIRInsts 36,134,975 36,158,546 23,571 0.07%
IRModule.NumIRValueSymbols 3,718,006 3,719,893 1,887 0.05%
LLVM.NumLLVMBytesOutput 1,499,173,796 1,499,487,714 313,918 0.02%
SILModule.NumSILGenFunctions 839,066 839,386 320 0.04%
SILModule.NumSILOptFunctions 1,374,584 1,375,373 789 0.06%
Sema.NumConstraintScopes 13,162,616 13,175,785 13,169 0.1%
Sema.NumDeclsDeserialized 19,746,520 19,753,241 6,721 0.03%
Sema.NumDeclsValidated 2,668,523 2,669,689 1,166 0.04%
Sema.NumFunctionsTypechecked 605,482 605,658 176 0.03%
Sema.NumGenericSignatureBuilders 983,878 984,132 254 0.03%
Sema.NumLazyGenericEnvironments 3,647,504 3,648,610 1,106 0.03%
Sema.NumLazyGenericEnvironmentsLoaded 347,887 348,022 135 0.04%
Sema.NumLazyIterableDeclContexts 2,816,899 2,817,521 622 0.02%
Sema.NumTypesDeserialized 23,003,123 23,012,275 9,152 0.04%
Sema.NumTypesValidated 3,510,183 3,510,653 470 0.01%

Push SubstitutionMaps through most of SILGen and the SIL optimizers
that involve the various *ApplyInsts.
…ters.

SubstitutionMap::lookupSubstitution() assumed that any type parameter it was
given would already be canonical, and fail (return a null Type) when given
a type parameter that was equivalent to another type parameter but is
not itself canonical. Canonicalize, recursive, and record the replacement
type appropriately.
Introduce an operation to check that a given substitution map is non-empty
(i.e., corresponds to a generic signature) and that the generic signature
has type parameters that aren’t bound to concrete types. This is the
appropriate predicate for SIL-and-later to determine whether there
will be any substitutions.
…nMap.

SIL printing and parsing was based on printing substitution lists.
Change that to instead print/parse based on the replacement types
in substitution maps, which fits more closely with the rest of the
system.

This commit is papering over an issue where the substitution maps
generated for the “apply” of a partial specialization use an
ever-so-slightly different generic signature than partial
specialization itself. The TODO in the SIL printer for covers that
case.
@DougGregor DougGregor force-pushed the sil-apply-substitution-map branch from 3c02380 to c009650 Compare May 11, 2018 20:48
@DougGregor DougGregor changed the title [WIP] [SIL] Teach *ApplyInst to traffic in SubstitutionMap. [SIL] Teach *ApplyInst to traffic in SubstitutionMap. May 11, 2018
@DougGregor
Copy link
Member Author

@swift-ci please test

@DougGregor DougGregor merged commit 41a3d95 into swiftlang:master May 11, 2018
@DougGregor DougGregor deleted the sil-apply-substitution-map branch May 11, 2018 23:18
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