Skip to content

Conversation

airspeedswift
Copy link
Member

@airspeedswift airspeedswift commented Aug 23, 2018

  • Remove comment from things already marked always/never inline
  • Deprecated/obsoleted things don't need to be inlined
  • Some trivial implementations (like CollectionOfOne/None)
  • Enums for namespaces can be frozen
  • Unsafe performance
  • Dump and Error paths shouldn’t need inlining
  • Some Array properties were inconsistent with the rest of the implementation
  • Lazy types must be specialized and inlined to achieve their goals

@airspeedswift
Copy link
Member Author

@swift-ci please test

@airspeedswift
Copy link
Member Author

@swift-ci please smoke benchmark

@airspeedswift
Copy link
Member Author

@swift-ci please smoke test compiler performance

@airspeedswift
Copy link
Member Author

I choose to let autocorrect's PR title stand.

@swift-ci
Copy link
Contributor

Build comment file:

Summary for master smoketest

Unexpected test results, excluded stats for Kingfisher, 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) (3)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 177,644,554,948 177,266,904,076 -377,650,872 -0.21%
LLVM.NumLLVMBytesOutput 9,372,108 9,372,108 0 0.0%
time.swift-driver.wall 23.0s 22.9s -140.8ms -0.61%

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 6,109 6,109 0 0.0%
AST.NumLoadedModules 1,510 1,510 0 0.0%
AST.NumTotalClangImportedEntities 18,609 18,609 0 0.0%
AST.NumUsedConformances 1,344 1,344 0 0.0%
IRModule.NumIRBasicBlocks 30,973 30,973 0 0.0%
IRModule.NumIRFunctions 17,108 17,108 0 0.0%
IRModule.NumIRGlobals 14,036 14,036 0 0.0%
IRModule.NumIRInsts 436,957 436,957 0 0.0%
IRModule.NumIRValueSymbols 29,335 29,335 0 0.0%
LLVM.NumLLVMBytesOutput 9,372,108 9,372,108 0 0.0%
SILModule.NumSILGenFunctions 8,060 8,060 0 0.0%
SILModule.NumSILOptFunctions 11,016 11,016 0 0.0%
Sema.NumConformancesDeserialized 32,784 32,784 0 0.0%
Sema.NumConstraintScopes 75,131 75,131 0 0.0%
Sema.NumDeclsDeserialized 276,020 276,020 0 0.0%
Sema.NumDeclsValidated 18,927 18,927 0 0.0%
Sema.NumFunctionsTypechecked 7,145 7,145 0 0.0%
Sema.NumGenericSignatureBuilders 11,593 11,593 0 0.0%
Sema.NumLazyGenericEnvironments 53,890 53,890 0 0.0%
Sema.NumLazyGenericEnvironmentsLoaded 6,308 6,308 0 0.0%
Sema.NumLazyIterableDeclContexts 44,699 44,699 0 0.0%
Sema.NumTypesDeserialized 122,209 122,209 0 0.0%
Sema.NumTypesValidated 19,492 19,492 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) (3)
name old new delta delta_pct
Frontend.NumInstructionsExecuted 217,654,820,545 217,777,633,690 122,813,145 0.06%
LLVM.NumLLVMBytesOutput 10,503,312 10,499,884 -3,428 -0.03%
time.swift-driver.wall 38.7s 38.6s -33.3ms -0.09%

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 1,411 1,411 0 0.0%
AST.NumLoadedModules 100 100 0 0.0%
AST.NumTotalClangImportedEntities 4,911 4,911 0 0.0%
AST.NumUsedConformances 1,346 1,346 0 0.0%
IRModule.NumIRBasicBlocks 34,108 34,134 26 0.08%
IRModule.NumIRFunctions 15,290 15,304 14 0.09%
IRModule.NumIRGlobals 13,532 13,526 -6 -0.04%
IRModule.NumIRInsts 332,315 332,235 -80 -0.02%
IRModule.NumIRValueSymbols 27,315 27,323 8 0.03%
LLVM.NumLLVMBytesOutput 10,503,312 10,499,884 -3,428 -0.03%
SILModule.NumSILGenFunctions 6,207 6,207 0 0.0%
SILModule.NumSILOptFunctions 9,285 9,276 -9 -0.1%
Sema.NumConformancesDeserialized 16,278 16,226 -52 -0.32%
Sema.NumConstraintScopes 73,691 73,691 0 0.0%
Sema.NumDeclsDeserialized 53,697 53,671 -26 -0.05%
Sema.NumDeclsValidated 12,645 12,645 0 0.0%
Sema.NumFunctionsTypechecked 4,381 4,381 0 0.0%
Sema.NumGenericSignatureBuilders 2,588 2,588 0 0.0%
Sema.NumLazyGenericEnvironments 9,496 9,496 0 0.0%
Sema.NumLazyGenericEnvironmentsLoaded 1,344 1,344 0 0.0%
Sema.NumLazyIterableDeclContexts 5,829 5,829 0 0.0%
Sema.NumTypesDeserialized 30,574 30,465 -109 -0.36%
Sema.NumTypesValidated 9,739 9,739 0 0.0%

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (4)
TEST OLD NEW DELTA SPEEDUP
IterateData 1429 1568 +9.7% 0.91x
ObjectiveCBridgeFromNSArrayAnyObjectToString 44209 48063 +8.7% 0.92x (?)
UTF8Decode_InitFromData_ascii 689 741 +7.5% 0.93x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 104568 110097 +5.3% 0.95x
Improvement (12)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeFromNSArrayAnyObjectForced 5302 4551 -14.2% 1.17x (?)
ObjectiveCBridgeStubFromArrayOfNSString2 3736 3284 -12.1% 1.14x (?)
DropLastAnySeqCntRange 10 9 -10.0% 1.11x
DropLastAnySeqCntRangeLazy 10 9 -10.0% 1.11x
EqualSubstringSubstring 51 47 -7.8% 1.09x (?)
CStringLongAscii 3536 3291 -6.9% 1.07x
OpenClose 73 68 -6.8% 1.07x
DictionaryBridgeToObjC_Access 969 915 -5.6% 1.06x (?)
ObjectiveCBridgeFromNSStringForced 2593 2455 -5.3% 1.06x (?)
RandomDoubleLCG 2175 2061 -5.2% 1.06x
ObjectiveCBridgeFromNSSetAnyObject 49406 46877 -5.1% 1.05x (?)
StringWithCString2 1785 1694 -5.1% 1.05x
No Changes (431)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3777 3881 +2.8% 0.97x
AnyHashableWithAClass 88965 89057 +0.1% 1.00x (?)
Array2D 2719 2719 +0.0% 1.00x
ArrayAppend 789 802 +1.6% 0.98x
ArrayAppendArrayOfInt 784 780 -0.5% 1.01x (?)
ArrayAppendAscii 3890 3851 -1.0% 1.01x (?)
ArrayAppendAsciiSubstring 24929 24883 -0.2% 1.00x (?)
ArrayAppendFromGeneric 782 799 +2.2% 0.98x
ArrayAppendGenericStructs 1396 1433 +2.7% 0.97x
ArrayAppendLatin1 40088 39416 -1.7% 1.02x
ArrayAppendLatin1Substring 139222 140044 +0.6% 0.99x
ArrayAppendLazyMap 1337 1343 +0.4% 1.00x (?)
ArrayAppendOptionals 1430 1415 -1.0% 1.01x (?)
ArrayAppendRepeatCol 1327 1329 +0.2% 1.00x (?)
ArrayAppendReserved 527 529 +0.4% 1.00x (?)
ArrayAppendSequence 1108 1117 +0.8% 0.99x (?)
ArrayAppendStrings 6208 6215 +0.1% 1.00x (?)
ArrayAppendToFromGeneric 787 801 +1.8% 0.98x
ArrayAppendToGeneric 790 788 -0.3% 1.00x (?)
ArrayAppendUTF16 40535 39828 -1.7% 1.02x
ArrayAppendUTF16Substring 138216 139939 +1.2% 0.99x
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 150 152 +1.3% 0.99x
ArrayOfGenericRef 4340 4339 -0.0% 1.00x (?)
ArrayOfPOD 181 182 +0.6% 0.99x (?)
ArrayOfRef 4374 4314 -1.4% 1.01x (?)
ArrayPlusEqualArrayOfInt 786 781 -0.6% 1.01x (?)
ArrayPlusEqualFiveElementCollection 4186 4158 -0.7% 1.01x (?)
ArrayPlusEqualSingleElementCollection 794 800 +0.8% 0.99x (?)
ArrayPlusEqualThreeElements 1646 1629 -1.0% 1.01x (?)
ArraySubscript 1566 1560 -0.4% 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 169 169 +0.0% 1.00x
ByteSwap 107 106 -0.9% 1.01x
COWArrayGuaranteedParameterOverhead 11726 12264 +4.6% 0.96x (?)
COWTree 3643 3685 +1.2% 0.99x (?)
CSVParsing2 1712 1715 +0.2% 1.00x (?)
CSVParsingAlt2 1775 1771 -0.2% 1.00x (?)
CSVParsingAltIndices2 765 759 -0.8% 1.01x
CStringLongNonAscii 2123 2099 -1.1% 1.01x (?)
CStringShortAscii 3195 3166 -0.9% 1.01x (?)
Calculator 198 195 -1.5% 1.02x
CaptureProp 4080 4078 -0.0% 1.00x (?)
ChainedFilterMap 1249 1246 -0.2% 1.00x (?)
CharIndexing_ascii_unicodeScalars 17158 17164 +0.0% 1.00x
CharIndexing_ascii_unicodeScalars_Backwards 16628 16623 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 13130 13142 +0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 12594 12590 -0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars 20521 20528 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 19892 19895 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars 16641 16645 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 16121 16111 -0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 3090 3090 +0.0% 1.00x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 3043 3042 -0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 3883 3872 -0.3% 1.00x
CharIndexing_punctuated_unicodeScalars_Backwards 3797 3797 +0.0% 1.00x
CharIndexing_russian_unicodeScalars 14295 14293 -0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 13850 13851 +0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 33766 33700 -0.2% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 32726 32701 -0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars 22984 22997 +0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 23174 23196 +0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars 20152 20034 -0.6% 1.01x (?)
CharIteration_ascii_unicodeScalars_Backwards 15848 15844 -0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars 15235 15172 -0.4% 1.00x
CharIteration_chinese_unicodeScalars_Backwards 12008 11999 -0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars 24143 24144 +0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 18971 18985 +0.1% 1.00x (?)
CharIteration_korean_unicodeScalars 19509 19413 -0.5% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 15363 15372 +0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3597 3582 -0.4% 1.00x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2863 2861 -0.1% 1.00x
CharIteration_punctuated_unicodeScalars 4524 4497 -0.6% 1.01x
CharIteration_punctuated_unicodeScalars_Backwards 3584 3582 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars 16745 16649 -0.6% 1.01x (?)
CharIteration_russian_unicodeScalars_Backwards 13201 13212 +0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars 39772 40030 +0.6% 0.99x
CharIteration_tweet_unicodeScalars_Backwards 31319 31303 -0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars 27564 27564 +0.0% 1.00x
CharIteration_utf16_unicodeScalars_Backwards 18558 18461 -0.5% 1.01x (?)
CharacterLiteralsLarge 5787 5788 +0.0% 1.00x (?)
CharacterLiteralsSmall 220 220 +0.0% 1.00x
CharacterPropertiesFetch 4463 4528 +1.5% 0.99x
CharacterPropertiesPrecomputed 974 992 +1.8% 0.98x
CharacterPropertiesStashed 1683 1675 -0.5% 1.00x (?)
CharacterPropertiesStashedMemo 1426 1440 +1.0% 0.99x (?)
Chars2 2629 2630 +0.0% 1.00x (?)
ClassArrayGetter2 123 125 +1.6% 0.98x
Combos 493 490 -0.6% 1.01x (?)
DataAccessBytes 1149 1153 +0.3% 1.00x
DataAppendArray 5668 5804 +2.4% 0.98x (?)
DataAppendBytes 5262 5148 -2.2% 1.02x (?)
DataAppendDataLargeToLarge 69199 69735 +0.8% 0.99x (?)
DataAppendDataLargeToMedium 35721 35553 -0.5% 1.00x (?)
DataAppendDataLargeToSmall 34745 34788 +0.1% 1.00x (?)
DataAppendDataMediumToLarge 38140 38121 -0.0% 1.00x (?)
DataAppendDataMediumToMedium 6591 6678 +1.3% 0.99x (?)
DataAppendDataMediumToSmall 5883 5938 +0.9% 0.99x (?)
DataAppendDataSmallToLarge 37635 36983 -1.7% 1.02x (?)
DataAppendDataSmallToMedium 6345 6176 -2.7% 1.03x (?)
DataAppendDataSmallToSmall 5980 6221 +4.0% 0.96x
DataAppendSequence 21498 21594 +0.4% 1.00x (?)
DataCopyBytes 533 529 -0.8% 1.01x
DataCount 37 37 +0.0% 1.00x
DataMutateBytes 4085 3937 -3.6% 1.04x (?)
DataReplaceLarge 36875 36800 -0.2% 1.00x (?)
DataReplaceLargeBuffer 59987 59647 -0.6% 1.01x (?)
DataReplaceMedium 8238 8002 -2.9% 1.03x (?)
DataReplaceMediumBuffer 14320 14148 -1.2% 1.01x (?)
DataReplaceSmall 5867 5679 -3.2% 1.03x
DataReplaceSmallBuffer 10040 9735 -3.0% 1.03x (?)
DataReset 2863 2859 -0.1% 1.00x (?)
DataSetCount 575 549 -4.5% 1.05x (?)
DataSubscript 220 220 +0.0% 1.00x
DictOfArraysToArrayOfDicts 791 791 +0.0% 1.00x
Dictionary 511 501 -2.0% 1.02x
Dictionary2 628 622 -1.0% 1.01x
Dictionary2OfObjects 2078 2087 +0.4% 1.00x (?)
Dictionary3 220 217 -1.4% 1.01x
Dictionary3OfObjects 714 711 -0.4% 1.00x
Dictionary4 303 293 -3.3% 1.03x
Dictionary4Legacy 652 649 -0.5% 1.00x
Dictionary4OfObjects 422 415 -1.7% 1.02x
Dictionary4OfObjectsLegacy 839 841 +0.2% 1.00x (?)
DictionaryBridge 1197 1254 +4.8% 0.95x (?)
DictionaryBridgeToObjC_Bridge 19 19 +0.0% 1.00x
DictionaryBridgeToObjC_BulkAccess 162 165 +1.9% 0.98x (?)
DictionaryCompactMapValuesOfCastValue 10777 10935 +1.5% 0.99x
DictionaryCompactMapValuesOfNilValue 6480 6462 -0.3% 1.00x (?)
DictionaryCopy 99861 99722 -0.1% 1.00x (?)
DictionaryFilter 99036 99368 +0.3% 1.00x (?)
DictionaryGroup 199 200 +0.5% 1.00x (?)
DictionaryGroupOfObjects 2070 2075 +0.2% 1.00x
DictionaryKeysContainsCocoa 40 40 +0.0% 1.00x
DictionaryKeysContainsNative 30 31 +3.3% 0.97x (?)
DictionaryLiteral 1862 1827 -1.9% 1.02x (?)
DictionaryOfObjects 2363 2364 +0.0% 1.00x (?)
DictionaryRemove 5339 5321 -0.3% 1.00x (?)
DictionaryRemoveOfObjects 24886 25343 +1.8% 0.98x (?)
DictionarySubscriptDefaultMutation 246 243 -1.2% 1.01x
DictionarySubscriptDefaultMutationArray 584 583 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 3999 3990 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1665 1662 -0.2% 1.00x (?)
DictionarySwap 951 940 -1.2% 1.01x
DictionarySwapAt 6320 6384 +1.0% 0.99x (?)
DictionarySwapAtOfObjects 52075 52008 -0.1% 1.00x (?)
DictionarySwapOfObjects 8579 8655 +0.9% 0.99x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 64930 64633 -0.5% 1.00x (?)
DropFirstAnySeqCRangeIter 93 93 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 93 93 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1841 1843 +0.1% 1.00x (?)
DropFirstAnySequenceLazy 1842 1841 -0.1% 1.00x (?)
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 29 29 +0.0% 1.00x
DropFirstCountableRangeLazy 29 29 +0.0% 1.00x
DropFirstSequence 2679 2680 +0.0% 1.00x (?)
DropFirstSequenceLazy 2775 2776 +0.0% 1.00x (?)
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 21580 21415 -0.8% 1.01x
DropLastAnySeqCRangeIter 3304 3297 -0.2% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3309 3310 +0.0% 1.00x (?)
DropLastAnySequence 4940 4971 +0.6% 0.99x
DropLastAnySequenceLazy 5045 5030 -0.3% 1.00x (?)
DropLastSequence 664 666 +0.3% 1.00x
DropLastSequenceLazy 665 664 -0.2% 1.00x
DropWhileAnyCollection 100 100 +0.0% 1.00x
DropWhileAnyCollectionLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCRangeIter 75 76 +1.3% 0.99x
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 147 147 +0.0% 1.00x
DropWhileAnySequence 1855 1855 +0.0% 1.00x
DropWhileAnySequenceLazy 1854 1854 +0.0% 1.00x
DropWhileArrayLazy 105 105 +0.0% 1.00x
DropWhileCountableRange 30 30 +0.0% 1.00x
DropWhileCountableRangeLazy 82 82 +0.0% 1.00x
DropWhileSequence 2210 2208 -0.1% 1.00x (?)
DropWhileSequenceLazy 105 105 +0.0% 1.00x
EqualStringSubstring 48 49 +2.1% 0.98x (?)
EqualSubstringString 49 49 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 50 48 -4.0% 1.04x (?)
ErrorHandling 1202 1201 -0.1% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FatCompactMap 1248 1249 +0.1% 1.00x (?)
FilterEvenUsingReduce 1339 1320 -1.4% 1.01x (?)
FilterEvenUsingReduceInto 158 158 +0.0% 1.00x
FloatingPointPrinting_Double_description_small 21609 21741 +0.6% 0.99x (?)
FloatingPointPrinting_Double_description_uniform 20981 20992 +0.1% 1.00x (?)
FloatingPointPrinting_Double_interpolated 61430 61452 +0.0% 1.00x (?)
FloatingPointPrinting_Float80_description_small 28561 28529 -0.1% 1.00x (?)
FloatingPointPrinting_Float80_description_uniform 27617 27745 +0.5% 1.00x
FloatingPointPrinting_Float80_interpolated 64533 64244 -0.4% 1.00x (?)
FloatingPointPrinting_Float_description_small 5708 5706 -0.0% 1.00x (?)
FloatingPointPrinting_Float_description_uniform 5835 5762 -1.3% 1.01x
FloatingPointPrinting_Float_interpolated 38070 37834 -0.6% 1.01x (?)
FrequenciesUsingReduce 4750 4728 -0.5% 1.00x
FrequenciesUsingReduceInto 1488 1501 +0.9% 0.99x (?)
Hanoi 2174 2116 -2.7% 1.03x
HashTest 963 965 +0.2% 1.00x (?)
Histogram 582 576 -1.0% 1.01x
Integrate 335 334 -0.3% 1.00x (?)
Join 161 161 +0.0% 1.00x
LazilyFilteredArrayContains 35861 34664 -3.3% 1.03x
LazilyFilteredArrays2 4564 4564 +0.0% 1.00x
LazilyFilteredRange 3756 3754 -0.1% 1.00x (?)
LessSubstringSubstring 49 49 +0.0% 1.00x
LessSubstringSubstringGenericComparable 48 48 +0.0% 1.00x
LinkedList 7543 7539 -0.1% 1.00x (?)
LuhnAlgoEager 436 436 +0.0% 1.00x
LuhnAlgoLazy 437 435 -0.5% 1.00x (?)
MapReduce 398 398 +0.0% 1.00x
MapReduceAnyCollection 370 372 +0.5% 0.99x
MapReduceAnyCollectionShort 2035 2028 -0.3% 1.00x
MapReduceClass 2983 2988 +0.2% 1.00x (?)
MapReduceClassShort 4534 4547 +0.3% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 31 31 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 469 470 +0.2% 1.00x (?)
MapReduceShort 2030 2025 -0.2% 1.00x (?)
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 45 45 +0.0% 1.00x
Memset 218 217 -0.5% 1.00x (?)
MonteCarloE 10286 10302 +0.2% 1.00x (?)
MonteCarloPi 42620 42620 +0.0% 1.00x
NSDictionaryCastToSwift 7172 7153 -0.3% 1.00x (?)
NSError 165 166 +0.6% 0.99x (?)
NSStringConversion 687 678 -1.3% 1.01x (?)
NibbleSort 3274 3274 +0.0% 1.00x
NopDeinit 32229 32218 -0.0% 1.00x (?)
ObjectAllocation 132 132 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 26163 27189 +3.9% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 44510 44304 -0.5% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 3825 3790 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 77409 74161 -4.2% 1.04x (?)
ObjectiveCBridgeFromNSString 1279 1267 -0.9% 1.01x
ObjectiveCBridgeStubDataAppend 6273 6208 -1.0% 1.01x (?)
ObjectiveCBridgeStubDateMutation 400 400 +0.0% 1.00x
ObjectiveCBridgeStubFromNSString 1051 1058 +0.7% 0.99x (?)
ObjectiveCBridgeStubNSDataAppend 2645 2619 -1.0% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString2 4017 4026 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSDate2 1628 1618 -0.6% 1.01x (?)
ObjectiveCBridgeStubToNSString 2344 2352 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 121 124 +2.5% 0.98x
ObjectiveCBridgeStubURLAppendPath2 2846 2749 -3.4% 1.04x
ObjectiveCBridgeStubURLAppendPathRef2 2798 2755 -1.5% 1.02x (?)
ObjectiveCBridgeToNSArray 14951 15320 +2.5% 0.98x (?)
ObjectiveCBridgeToNSDictionary 28183 28497 +1.1% 0.99x (?)
ObjectiveCBridgeToNSSet 18641 18661 +0.1% 1.00x (?)
ObjectiveCBridgeToNSString 458 465 +1.5% 0.98x (?)
ObserverClosure 2157 2157 +0.0% 1.00x
ObserverForwarderStruct 1173 1178 +0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3735 3764 +0.8% 0.99x (?)
ObserverUnappliedMethod 2459 2473 +0.6% 0.99x (?)
OpaqueConsumingUsers 4179 4179 +0.0% 1.00x
Phonebook 6945 6770 -2.5% 1.03x
PointerArithmetics 31489 31488 -0.0% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1791 1795 +0.2% 1.00x (?)
PopFrontArrayGeneric 1807 1807 +0.0% 1.00x
PopFrontUnsafePointer 8639 8760 +1.4% 0.99x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 64478 65006 +0.8% 0.99x
PrefixAnySeqCRangeIter 33 33 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 33 33 +0.0% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 1377 1378 +0.1% 1.00x (?)
PrefixAnySequenceLazy 1378 1379 +0.1% 1.00x (?)
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 29 29 +0.0% 1.00x
PrefixCountableRangeLazy 29 29 +0.0% 1.00x
PrefixSequence 2209 2209 +0.0% 1.00x
PrefixSequenceLazy 2276 2277 +0.0% 1.00x (?)
PrefixWhileAnyCollection 147 147 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 89 89 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 367 367 +0.0% 1.00x
PrefixWhileAnySeqCRangeIterLazy 89 89 +0.0% 1.00x
PrefixWhileAnySequence 1524 1524 +0.0% 1.00x
PrefixWhileAnySequenceLazy 1390 1391 +0.1% 1.00x (?)
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileSequence 327 326 -0.3% 1.00x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 903 899 -0.4% 1.00x (?)
PrimsSplit 901 914 +1.4% 0.99x (?)
QueueConcrete 1137 1136 -0.1% 1.00x (?)
QueueGeneric 1127 1127 +0.0% 1.00x
RC4 155 155 +0.0% 1.00x
RGBHistogram 2369 2387 +0.8% 0.99x
RGBHistogramOfObjects 20045 20021 -0.1% 1.00x (?)
Radix2CooleyTukey 12175 12563 +3.2% 0.97x (?)
Radix2CooleyTukeyf 8907 8895 -0.1% 1.00x (?)
RandomDoubleDef 26967 26717 -0.9% 1.01x (?)
RandomIntegersDef 24886 24658 -0.9% 1.01x (?)
RandomIntegersLCG 178 178 +0.0% 1.00x
RandomShuffleDef2 2583 2583 +0.0% 1.00x
RandomShuffleLCG2 1816 1817 +0.1% 1.00x
RangeAssignment 338 338 +0.0% 1.00x
RangeIterationSigned 171 171 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 1048 1050 +0.2% 1.00x (?)
RecursiveOwnedParameter 115 115 +0.0% 1.00x
RemoveWhereFilterInts 44 44 +0.0% 1.00x
RemoveWhereFilterString 244 241 -1.2% 1.01x
RemoveWhereFilterStrings 434 435 +0.2% 1.00x (?)
RemoveWhereMoveInts 17 17 +0.0% 1.00x
RemoveWhereMoveStrings 708 707 -0.1% 1.00x (?)
RemoveWhereQuadraticInts 1284 1285 +0.1% 1.00x (?)
RemoveWhereQuadraticString 382 381 -0.3% 1.00x (?)
RemoveWhereQuadraticStrings 2752 2751 -0.0% 1.00x (?)
RemoveWhereSwapInts 20 20 +0.0% 1.00x
RemoveWhereSwapStrings 862 862 +0.0% 1.00x
ReversedArray2 200 200 +0.0% 1.00x
ReversedBidirectional 13810 13862 +0.4% 1.00x (?)
ReversedDictionary2 318 317 -0.3% 1.00x
RomanNumbers 79033 77275 -2.2% 1.02x
SequenceAlgosAnySequence 12527 12537 +0.1% 1.00x (?)
SequenceAlgosArray 1582 1579 -0.2% 1.00x (?)
SequenceAlgosContiguousArray 1578 1585 +0.4% 1.00x (?)
SequenceAlgosList 1350 1350 +0.0% 1.00x
SequenceAlgosRange 2576 2577 +0.0% 1.00x (?)
SequenceAlgosUnfoldSequence 1105 1105 +0.0% 1.00x
SetExclusiveOr 4930 4930 +0.0% 1.00x
SetExclusiveOr_OfObjects 11521 11497 -0.2% 1.00x (?)
SetIntersect 588 587 -0.2% 1.00x (?)
SetIntersect_OfObjects 1638 1602 -2.2% 1.02x
SetIsSubsetOf 324 324 +0.0% 1.00x
SetIsSubsetOf_OfObjects 435 435 +0.0% 1.00x
SetUnion 4238 4273 +0.8% 0.99x (?)
SetUnion_OfObjects 9997 9852 -1.5% 1.01x
SevenBoom 852 842 -1.2% 1.01x (?)
Sim2DArray 312 312 +0.0% 1.00x
SortAdjacentIntPyramids 10254 10247 -0.1% 1.00x (?)
SortIntPyramid 8760 8761 +0.0% 1.00x (?)
SortLargeExistentials 4977 4975 -0.0% 1.00x (?)
SortLettersInPlace 942 940 -0.2% 1.00x (?)
SortSortedStrings 671 666 -0.7% 1.01x
SortStrings 1452 1446 -0.4% 1.00x
SortStringsUnicode 2016 2006 -0.5% 1.00x
StackPromo 17096 17095 -0.0% 1.00x (?)
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1782 1784 +0.1% 1.00x (?)
StrToInt 3132 3057 -2.4% 1.02x
StringAdder 548 549 +0.2% 1.00x
StringBuilder 490 491 +0.2% 1.00x
StringBuilderLong 1239 1275 +2.9% 0.97x (?)
StringBuilderSmallReservingCapacity 500 501 +0.2% 1.00x
StringBuilderWithLongSubstring 1496 1427 -4.6% 1.05x (?)
StringComparison_abnormal 788 785 -0.4% 1.00x (?)
StringComparison_ascii 987 981 -0.6% 1.01x
StringComparison_emoji 843 850 +0.8% 0.99x
StringComparison_fastPrenormal 834 819 -1.8% 1.02x
StringComparison_latin1 648 635 -2.0% 1.02x
StringComparison_longSharedPrefix 946 944 -0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 1659 1671 +0.7% 0.99x (?)
StringComparison_slowerPrenormal 1792 1785 -0.4% 1.00x
StringComparison_zalgo 111852 112169 +0.3% 1.00x (?)
StringEdits 169389 168363 -0.6% 1.01x
StringEnumRawValueInitialization 866 862 -0.5% 1.00x (?)
StringEqualPointerComparison 314 314 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefixAscii 2263 2235 -1.2% 1.01x
StringHasPrefixUnicode 100172 99199 -1.0% 1.01x
StringHasSuffixAscii 2318 2233 -3.7% 1.04x
StringHasSuffixUnicode 99744 98995 -0.8% 1.01x
StringHashing_abnormal 1365 1366 +0.1% 1.00x (?)
StringHashing_ascii 34 35 +2.9% 0.97x
StringHashing_emoji 1928 1969 +2.1% 0.98x (?)
StringHashing_fastPrenormal 8365 8266 -1.2% 1.01x
StringHashing_latin1 2552 2525 -1.1% 1.01x (?)
StringHashing_longSharedPrefix 7719 7597 -1.6% 1.02x
StringHashing_nonBMPSlowestPrenormal 2130 2171 +1.9% 0.98x (?)
StringHashing_slowerPrenormal 2722 2691 -1.1% 1.01x
StringHashing_zalgo 3515 3488 -0.8% 1.01x (?)
StringInterpolation 8944 8813 -1.5% 1.01x (?)
StringInterpolationManySmallSegments 18089 17743 -1.9% 1.02x
StringInterpolationSmall 4009 3913 -2.4% 1.02x
StringMatch 11967 11939 -0.2% 1.00x
StringRemoveDupes 468 472 +0.9% 0.99x (?)
StringUTF16Builder 2594 2546 -1.9% 1.02x
StringUTF16SubstringBuilder 5910 5961 +0.9% 0.99x
StringWalk 1553 1553 +0.0% 1.00x
StringWordBuilder 2227 2280 +2.4% 0.98x
StringWordBuilderReservingCapacity 1612 1628 +1.0% 0.99x
SubstringComparable 12 12 +0.0% 1.00x
SubstringEqualString 601 613 +2.0% 0.98x (?)
SubstringEquatable 1448 1436 -0.8% 1.01x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 79 79 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 21742 21822 +0.4% 1.00x (?)
SuffixAnySeqCRangeIter 3606 3612 +0.2% 1.00x
SuffixAnySeqCRangeIterLazy 3607 3615 +0.2% 1.00x
SuffixAnySeqCntRange 14 14 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 14 14 +0.0% 1.00x
SuffixAnySequence 4947 4964 +0.3% 1.00x
SuffixAnySequenceLazy 5091 5062 -0.6% 1.01x (?)
SuffixSequence 3598 3631 +0.9% 0.99x
SuffixSequenceLazy 3633 3627 -0.2% 1.00x (?)
SumUsingReduce 97 97 +0.0% 1.00x
SumUsingReduceInto 97 97 +0.0% 1.00x
SuperChars 19293 19266 -0.1% 1.00x (?)
TwoSum 1359 1362 +0.2% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 303 303 +0.0% 1.00x
UTF8Decode_InitDecoding 1345 1350 +0.4% 1.00x
UTF8Decode_InitDecoding_ascii 656 656 +0.0% 1.00x
UTF8Decode_InitFromBytes 1185 1206 +1.8% 0.98x (?)
UTF8Decode_InitFromBytes_ascii 493 493 +0.0% 1.00x
UTF8Decode_InitFromData 1261 1248 -1.0% 1.01x (?)
Walsh 410 410 +0.0% 1.00x
WordCountHistogramASCII 6821 6771 -0.7% 1.01x
WordCountHistogramUTF16 10332 10137 -1.9% 1.02x
WordCountUniqueASCII 2072 2058 -0.7% 1.01x
WordCountUniqueUTF16 4585 4592 +0.2% 1.00x (?)
XorLoop 391 393 +0.5% 0.99x (?)
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

@airspeedswift
Copy link
Member Author

@swift-ci please smoke benchmark staging

@swift-ci
Copy link
Contributor

Build comment file:

Performance: -O

TEST OLD NEW DELTA SPEEDUP
Improvement
StringWithCString2 1495 1295 -13.4% 1.15x

Performance: -Osize

TEST OLD NEW DELTA SPEEDUP
Improvement
StringWithCString2 1544 1336 -13.5% 1.16x
CStringLongAscii 3221 2927 -9.1% 1.10x
How to read the data The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false alarms. Unexpected regressions which are marked with '(?)' are probably noise. If you see regressions which you cannot explain you can try to run the benchmarks again. If regressions still show up, please consult with the performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini7,1
  Processor Name: Intel Core i7
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 2
  L2 Cache (per Core): 256 KB
  L3 Cache: 4 MB
  Memory: 16 GB

@airspeedswift airspeedswift merged commit dd2f3b4 into swiftlang:master Aug 24, 2018
@airspeedswift airspeedswift deleted the inlinable-audit2 branch August 27, 2018 16:36
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