Skip to content

Conversation

darquro
Copy link
Contributor

@darquro darquro commented Mar 9, 2018

I added dynamically checked whether something is a String and just print the string.

Resolves SR-7136.

@darquro
Copy link
Contributor Author

darquro commented Mar 9, 2018

@swift-ci Please smoke test

@jrose-apple jrose-apple requested review from jckarter and milseman March 9, 2018 16:50
) {
if let string = value as? String {
let mirror = Mirror(reflecting: string)
_adHocPrint_unlocked(string, mirror, &target, isDebugPrint: false)
Copy link
Contributor

Choose a reason for hiding this comment

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

You can just do target.write(string).

@jckarter
Copy link
Contributor

jckarter commented Mar 9, 2018

Thanks for looking into this! _adHocPrint is probably not going to be much faster in practice, though. You can use TextOutputStream's write method directly since we know we have a string here.

@darquro
Copy link
Contributor Author

darquro commented Mar 9, 2018

@jckarter Thank you for reviewing! I fixed it.

@jckarter
Copy link
Contributor

jckarter commented Mar 9, 2018

Awesome, thanks! I'll run the tests and merge.

@jckarter
Copy link
Contributor

jckarter commented Mar 9, 2018

@swift-ci Please smoke test

@jckarter
Copy link
Contributor

jckarter commented Mar 9, 2018

Oh, x as? String will be true for Optional<String> as well, so this changes how Optional prints. I guess we'll have to move the as? String check after the _isOptional check below it.

@darquro
Copy link
Contributor Author

darquro commented Mar 9, 2018

OK, I'll fix it again. 👍

@jckarter
Copy link
Contributor

jckarter commented Mar 9, 2018

@swift-ci Please smoke test

@milseman
Copy link
Member

milseman commented Mar 9, 2018

@swift-ci please smoke benchmark

@milseman
Copy link
Member

milseman commented Mar 9, 2018

Do we have anything to measure this speedup? I'm interested in detecting regressions and exploring further improvements here such as plumbing this higher up.

@swift-ci
Copy link
Contributor

swift-ci commented Mar 9, 2018

Build comment file:

Optimized (O)

Regression (6)
TEST OLD NEW DELTA SPEEDUP
BinaryFloatingPointPropertiesBinade 25 31 +24.0% 0.81x
StringBuilderLong 1083 1181 +9.0% 0.92x (?)
ObjectiveCBridgeStubFromArrayOfNSString 27167 29322 +7.9% 0.93x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4191 4499 +7.3% 0.93x (?)
BinaryFloatingPointConversionFromBinaryInteger 37 39 +5.4% 0.95x
ObjectiveCBridgeStubDataAppend 3975 4189 +5.4% 0.95x
Improvement (5)
TEST OLD NEW DELTA SPEEDUP
StringBuilderWithLongSubstring 1657 1223 -26.2% 1.35x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39597 34564 -12.7% 1.15x
StaticArray 10 9 -10.0% 1.11x (?)
StringUTF16SubstringBuilder 5257 4937 -6.1% 1.06x
ObjectiveCBridgeFromNSSetAnyObjectForced 4516 4247 -6.0% 1.06x
No Changes (374)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3632 3681 +1.3% 0.99x (?)
AnyHashableWithAClass 73375 73556 +0.2% 1.00x (?)
Array2D 2559 2557 -0.1% 1.00x (?)
ArrayAppend 1104 1109 +0.5% 1.00x
ArrayAppendArrayOfInt 797 800 +0.4% 1.00x (?)
ArrayAppendAscii 13348 13235 -0.8% 1.01x
ArrayAppendFromGeneric 797 796 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1430 1427 -0.2% 1.00x
ArrayAppendLatin1 38242 37640 -1.6% 1.02x
ArrayAppendLazyMap 1340 1340 +0.0% 1.00x
ArrayAppendOptionals 1429 1427 -0.1% 1.00x (?)
ArrayAppendRepeatCol 1335 1339 +0.3% 1.00x (?)
ArrayAppendReserved 842 836 -0.7% 1.01x
ArrayAppendSequence 1133 1132 -0.1% 1.00x (?)
ArrayAppendStrings 15269 15224 -0.3% 1.00x (?)
ArrayAppendToFromGeneric 797 799 +0.3% 1.00x (?)
ArrayAppendToGeneric 811 797 -1.7% 1.02x
ArrayAppendUTF16 37246 36268 -2.6% 1.03x
ArrayInClass 86 86 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 151 +0.0% 1.00x
ArrayOfGenericRef 4392 4403 +0.3% 1.00x (?)
ArrayOfPOD 184 183 -0.5% 1.01x (?)
ArrayOfRef 4397 4382 -0.3% 1.00x (?)
ArrayPlusEqualArrayOfInt 798 796 -0.3% 1.00x
ArrayPlusEqualFiveElementCollection 5653 5612 -0.7% 1.01x
ArrayPlusEqualSingleElementCollection 1069 1069 +0.0% 1.00x
ArrayPlusEqualThreeElements 1657 1658 +0.1% 1.00x (?)
ArraySubscript 1519 1528 +0.6% 0.99x (?)
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 36 37 +2.8% 0.97x
BitCount 211 202 -4.3% 1.04x
ByteSwap 101 97 -4.0% 1.04x
COWTree 5538 5290 -4.5% 1.05x (?)
CSVParsing 757978 758709 +0.1% 1.00x (?)
CSVParsingAlt 726375 720892 -0.8% 1.01x
CSVParsingAltIndices 358937 358018 -0.3% 1.00x (?)
CStringLongAscii 4770 4775 +0.1% 1.00x (?)
CStringLongNonAscii 2158 2146 -0.6% 1.01x
CStringShortAscii 4747 4724 -0.5% 1.00x (?)
Calculator 662 645 -2.6% 1.03x
CaptureProp 3926 3909 -0.4% 1.00x
CharIndexing_ascii_unicodeScalars 14760 14742 -0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 14321 14318 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 11176 11168 -0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 10843 10850 +0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars 17656 17645 -0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 17153 17159 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars 14299 14296 -0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 13893 13889 -0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2686 2683 -0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2617 2613 -0.2% 1.00x
CharIndexing_punctuated_unicodeScalars 3352 3353 +0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3269 3270 +0.0% 1.00x
CharIndexing_russian_unicodeScalars 12282 12303 +0.2% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 11948 11967 +0.2% 1.00x (?)
CharIndexing_tweet_unicodeScalars 29077 29068 -0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 28224 28213 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars 20180 20172 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 20946 20937 -0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars 20732 20657 -0.4% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 12724 12706 -0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars 15680 15537 -0.9% 1.01x (?)
CharIteration_chinese_unicodeScalars_Backwards 9646 9645 -0.0% 1.00x (?)
CharIteration_japanese_unicodeScalars 24847 24690 -0.6% 1.01x
CharIteration_japanese_unicodeScalars_Backwards 15209 15205 -0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 20107 20021 -0.4% 1.00x
CharIteration_korean_unicodeScalars_Backwards 12327 12334 +0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3705 3680 -0.7% 1.01x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2350 2349 -0.0% 1.00x
CharIteration_punctuated_unicodeScalars 4649 4613 -0.8% 1.01x
CharIteration_punctuated_unicodeScalars_Backwards 2929 2925 -0.1% 1.00x
CharIteration_russian_unicodeScalars 17249 17165 -0.5% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 10593 10590 -0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars 40885 40757 -0.3% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 25067 25083 +0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars 27228 27116 -0.4% 1.00x
CharIteration_utf16_unicodeScalars_Backwards 15843 15826 -0.1% 1.00x (?)
CharacterLiteralsLarge 5940 6003 +1.1% 0.99x (?)
CharacterLiteralsSmall 421 411 -2.4% 1.02x
CharacterPropertiesFetch 4638 4626 -0.3% 1.00x
CharacterPropertiesPrecomputed 968 969 +0.1% 1.00x (?)
CharacterPropertiesStashed 1565 1568 +0.2% 1.00x (?)
CharacterPropertiesStashedMemo 1532 1523 -0.6% 1.01x (?)
Chars 968 971 +0.3% 1.00x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 467 466 -0.2% 1.00x
DictOfArraysToArrayOfDicts 785 784 -0.1% 1.00x (?)
Dictionary 499 511 +2.4% 0.98x
Dictionary2 1625 1627 +0.1% 1.00x (?)
Dictionary2OfObjects 2974 2984 +0.3% 1.00x (?)
Dictionary3 240 239 -0.4% 1.00x
Dictionary3OfObjects 672 673 +0.1% 1.00x (?)
Dictionary4 147 147 +0.0% 1.00x
Dictionary4OfObjects 200 200 +0.0% 1.00x
DictionaryBridge 2056 2086 +1.5% 0.99x (?)
DictionaryGroup 133 133 +0.0% 1.00x
DictionaryGroupOfObjects 1773 1765 -0.5% 1.00x (?)
DictionaryLiteral 1595 1584 -0.7% 1.01x (?)
DictionaryOfObjects 2179 2186 +0.3% 1.00x (?)
DictionaryRemove 2995 3008 +0.4% 1.00x (?)
DictionaryRemoveOfObjects 23736 23689 -0.2% 1.00x
DictionarySubscriptDefaultMutation 142 142 +0.0% 1.00x
DictionarySubscriptDefaultMutationArray 490 489 -0.2% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 3810 3824 +0.4% 1.00x
DictionarySubscriptDefaultMutationOfObjects 1385 1388 +0.2% 1.00x (?)
DictionarySwap 472 472 +0.0% 1.00x
DictionarySwapOfObjects 7415 7401 -0.2% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 102 101 -1.0% 1.01x
DropFirstAnyCollectionLazy 66830 66273 -0.8% 1.01x (?)
DropFirstAnySeqCRangeIter 19305 19089 -1.1% 1.01x
DropFirstAnySeqCRangeIterLazy 19186 19258 +0.4% 1.00x (?)
DropFirstAnySeqCntRange 94 94 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 94 94 +0.0% 1.00x
DropFirstAnySequence 5081 5000 -1.6% 1.02x
DropFirstAnySequenceLazy 5087 4992 -1.9% 1.02x
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 2698 2701 +0.1% 1.00x
DropFirstSequenceLazy 2792 2794 +0.1% 1.00x (?)
DropLastAnyCollection 37 37 +0.0% 1.00x
DropLastAnyCollectionLazy 22535 22524 -0.0% 1.00x (?)
DropLastAnySeqCRangeIter 3910 3876 -0.9% 1.01x
DropLastAnySeqCRangeIterLazy 3880 3870 -0.3% 1.00x (?)
DropLastAnySeqCntRange 29 29 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 30 29 -3.3% 1.03x
DropLastAnySequence 5241 5220 -0.4% 1.00x
DropLastAnySequenceLazy 5348 5372 +0.4% 1.00x
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastCountableRangeLazy 12 12 +0.0% 1.00x
DropLastSequence 630 629 -0.2% 1.00x (?)
DropLastSequenceLazy 633 630 -0.5% 1.00x
DropWhileAnyCollection 125 125 +0.0% 1.00x
DropWhileAnyCollectionLazy 166 166 +0.0% 1.00x
DropWhileAnySeqCRangeIter 15550 15563 +0.1% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 166 166 +0.0% 1.00x
DropWhileAnySeqCntRange 117 117 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 166 166 +0.0% 1.00x
DropWhileAnySequence 5654 5563 -1.6% 1.02x
DropWhileAnySequenceLazy 1860 1856 -0.2% 1.00x (?)
DropWhileArrayLazy 129 129 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 111 111 +0.0% 1.00x
DropWhileSequence 1344 1344 +0.0% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 48 48 +0.0% 1.00x
EqualSubstringString 49 49 +0.0% 1.00x
EqualSubstringSubstring 48 48 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 48 48 +0.0% 1.00x
ErrorHandling 2283 2320 +1.6% 0.98x
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1326 1329 +0.2% 1.00x (?)
FilterEvenUsingReduceInto 151 150 -0.7% 1.01x
FrequenciesUsingReduce 6513 6512 -0.0% 1.00x (?)
FrequenciesUsingReduceInto 3099 3103 +0.1% 1.00x (?)
Hanoi 3604 3613 +0.2% 1.00x (?)
HashTest 1740 1741 +0.1% 1.00x (?)
Histogram 322 324 +0.6% 0.99x
Integrate 341 342 +0.3% 1.00x (?)
IterateData 1313 1309 -0.3% 1.00x
Join 373 373 +0.0% 1.00x
LazilyFilteredArrayContains 36688 36661 -0.1% 1.00x (?)
LazilyFilteredArrays 67419 65201 -3.3% 1.03x (?)
LazilyFilteredRange 3827 3824 -0.1% 1.00x (?)
LessSubstringSubstring 48 48 +0.0% 1.00x
LessSubstringSubstringGenericComparable 48 48 +0.0% 1.00x
LinkedList 7561 7553 -0.1% 1.00x (?)
LuhnAlgoEager 571 570 -0.2% 1.00x (?)
LuhnAlgoLazy 571 570 -0.2% 1.00x (?)
MapReduce 400 398 -0.5% 1.01x (?)
MapReduceAnyCollection 429 430 +0.2% 1.00x
MapReduceAnyCollectionShort 2252 2262 +0.4% 1.00x (?)
MapReduceClass 3045 3056 +0.4% 1.00x
MapReduceClassShort 4591 4615 +0.5% 0.99x
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 34 34 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 462 466 +0.9% 0.99x (?)
MapReduceShort 2028 2028 +0.0% 1.00x
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 81 84 +3.7% 0.96x
Memset 224 216 -3.6% 1.04x
MonteCarloE 10284 10404 +1.2% 0.99x
MonteCarloPi 42712 43016 +0.7% 0.99x
NSDictionaryCastToSwift 5517 5281 -4.3% 1.04x
NSError 304 301 -1.0% 1.01x
NSStringConversion 293 292 -0.3% 1.00x (?)
NibbleSort 3710 3713 +0.1% 1.00x
NopDeinit 21587 21577 -0.0% 1.00x (?)
ObjectAllocation 183 184 +0.5% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObject 20450 19807 -3.1% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 39482 39630 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 120990 120818 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 61718 62875 +1.9% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 70272 69977 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSString 1262 1266 +0.3% 1.00x
ObjectiveCBridgeFromNSStringForced 2426 2430 +0.2% 1.00x (?)
ObjectiveCBridgeStubDateMutation 257 257 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 4077 4074 -0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 850 851 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 164 164 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2634 2555 -3.0% 1.03x (?)
ObjectiveCBridgeStubNSDateMutationRef 13229 13601 +2.8% 0.97x (?)
ObjectiveCBridgeStubToArrayOfNSString 29937 28659 -4.3% 1.04x (?)
ObjectiveCBridgeStubToNSDate 15255 15108 -1.0% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3450 3410 -1.2% 1.01x (?)
ObjectiveCBridgeStubToNSString 1529 1528 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 118 118 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 332290 331356 -0.3% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 323681 324864 +0.4% 1.00x (?)
ObjectiveCBridgeToNSArray 28868 29372 +1.7% 0.98x (?)
ObjectiveCBridgeToNSDictionary 52239 49889 -4.5% 1.05x (?)
ObjectiveCBridgeToNSSet 40829 42185 +3.3% 0.97x
ObjectiveCBridgeToNSString 1295 1295 +0.0% 1.00x
ObserverClosure 2173 2176 +0.1% 1.00x (?)
ObserverForwarderStruct 1004 1002 -0.2% 1.00x (?)
ObserverPartiallyAppliedMethod 3766 3745 -0.6% 1.01x (?)
ObserverUnappliedMethod 2423 2425 +0.1% 1.00x (?)
OpenClose 126 128 +1.6% 0.98x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 3915 3918 +0.1% 1.00x
PointerArithmetics 34372 34396 +0.1% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1857 1856 -0.1% 1.00x (?)
PopFrontArrayGeneric 1956 1964 +0.4% 1.00x (?)
PopFrontUnsafePointer 9444 9544 +1.1% 0.99x (?)
PrefixAnyCollection 102 101 -1.0% 1.01x
PrefixAnyCollectionLazy 67078 67115 +0.1% 1.00x (?)
PrefixAnySeqCRangeIter 14882 14849 -0.2% 1.00x (?)
PrefixAnySeqCRangeIterLazy 14860 14849 -0.1% 1.00x (?)
PrefixAnySeqCntRange 94 94 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 94 94 +0.0% 1.00x
PrefixAnySequence 4387 4333 -1.2% 1.01x
PrefixAnySequenceLazy 4372 4356 -0.4% 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 1326 1326 +0.0% 1.00x
PrefixSequenceLazy 1414 1414 +0.0% 1.00x
PrefixWhileAnyCollection 172 172 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 108 107 -0.9% 1.01x
PrefixWhileAnySeqCRangeIter 9919 9622 -3.0% 1.03x (?)
PrefixWhileAnySeqCRangeIterLazy 90 90 +0.0% 1.00x
PrefixWhileAnySeqCntRange 164 164 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 108 108 +0.0% 1.00x
PrefixWhileAnySequence 10808 10726 -0.8% 1.01x
PrefixWhileAnySequenceLazy 1394 1393 -0.1% 1.00x (?)
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 46 46 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 379 379 +0.0% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 759 755 -0.5% 1.01x
PrimsSplit 755 765 +1.3% 0.99x (?)
QueueConcrete 1311 1308 -0.2% 1.00x
QueueGeneric 1122 1120 -0.2% 1.00x (?)
RC4 171 171 +0.0% 1.00x
RGBHistogram 2207 2208 +0.0% 1.00x (?)
RGBHistogramOfObjects 23595 23589 -0.0% 1.00x (?)
RangeAssignment 351 353 +0.6% 0.99x (?)
RangeIterationSigned 171 171 +0.0% 1.00x
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 989 986 -0.3% 1.00x (?)
RecursiveOwnedParameter 2374 2376 +0.1% 1.00x (?)
RemoveWhereFilterInts 43 43 +0.0% 1.00x
RemoveWhereFilterString 300 300 +0.0% 1.00x
RemoveWhereFilterStrings 433 432 -0.2% 1.00x
RemoveWhereMoveInts 17 17 +0.0% 1.00x
RemoveWhereMoveStrings 521 520 -0.2% 1.00x
RemoveWhereQuadraticInts 1288 1288 +0.0% 1.00x
RemoveWhereQuadraticString 208 206 -1.0% 1.01x (?)
RemoveWhereQuadraticStrings 2760 2756 -0.1% 1.00x (?)
RemoveWhereSwapInts 22 22 +0.0% 1.00x
RemoveWhereSwapStrings 852 848 -0.5% 1.00x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 18074 17407 -3.7% 1.04x
ReversedDictionary 133 131 -1.5% 1.02x (?)
RomanNumbers 110027 110613 +0.5% 0.99x (?)
SequenceAlgosAnySequence 10446 10320 -1.2% 1.01x (?)
SequenceAlgosArray 1576 1592 +1.0% 0.99x (?)
SequenceAlgosContiguousArray 1577 1577 +0.0% 1.00x
SequenceAlgosList 1356 1354 -0.1% 1.00x
SequenceAlgosRange 4301 4297 -0.1% 1.00x
SequenceAlgosUnfoldSequence 1080 1079 -0.1% 1.00x (?)
SetExclusiveOr 3452 3557 +3.0% 0.97x (?)
SetExclusiveOr_OfObjects 8739 8774 +0.4% 1.00x (?)
SetIntersect 318 322 +1.3% 0.99x
SetIntersect_OfObjects 1767 1767 +0.0% 1.00x
SetIsSubsetOf 299 299 +0.0% 1.00x
SetIsSubsetOf_OfObjects 364 363 -0.3% 1.00x
SetUnion 3247 3287 +1.2% 0.99x
SetUnion_OfObjects 7303 7257 -0.6% 1.01x (?)
SevenBoom 1494 1529 +2.3% 0.98x (?)
Sim2DArray 608 603 -0.8% 1.01x (?)
SortLargeExistentials 6735 6771 +0.5% 0.99x
SortLettersInPlace 1125 1127 +0.2% 1.00x (?)
SortSortedStrings 1052 1053 +0.1% 1.00x
SortStrings 1885 1886 +0.1% 1.00x (?)
SortStringsUnicode 2654 2642 -0.5% 1.00x
StackPromo 22044 22045 +0.0% 1.00x (?)
StrComplexWalk 1559 1559 +0.0% 1.00x
StrToInt 2192 2149 -2.0% 1.02x
StringAdder 4203 4220 +0.4% 1.00x
StringBuilder 1384 1398 +1.0% 0.99x
StringComparison_abnormal 744 757 +1.7% 0.98x
StringComparison_ascii 1012 1012 +0.0% 1.00x
StringComparison_emoji 787 791 +0.5% 0.99x
StringComparison_fastPrenormal 772 768 -0.5% 1.01x (?)
StringComparison_latin1 584 583 -0.2% 1.00x (?)
StringComparison_longSharedPrefix 906 908 +0.2% 1.00x
StringComparison_nonBMPSlowestPrenormal 1536 1553 +1.1% 0.99x
StringComparison_slowerPrenormal 1632 1669 +2.3% 0.98x
StringComparison_zalgo 114302 114604 +0.3% 1.00x (?)
StringEdits 117509 118710 +1.0% 0.99x (?)
StringEnumRawValueInitialization 988 988 +0.0% 1.00x
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 10 10 +0.0% 1.00x
StringHasPrefixAscii 1317 1318 +0.1% 1.00x
StringHasPrefixUnicode 27578 27647 +0.3% 1.00x
StringHasSuffixAscii 1460 1460 +0.0% 1.00x
StringHasSuffixUnicode 84729 84801 +0.1% 1.00x (?)
StringInterpolation 11130 11015 -1.0% 1.01x (?)
StringInterpolationManySmallSegments 17185 16936 -1.4% 1.01x (?)
StringInterpolationSmall 8717 8639 -0.9% 1.01x (?)
StringMatch 7567 7551 -0.2% 1.00x (?)
StringRemoveDupes 1195 1193 -0.2% 1.00x (?)
StringUTF16Builder 2415 2396 -0.8% 1.01x (?)
StringWalk 1578 1581 +0.2% 1.00x
StringWithCString 43057 43019 -0.1% 1.00x (?)
StringWordBuilder 1893 1894 +0.1% 1.00x (?)
StringWordBuilderReservingCapacity 1413 1420 +0.5% 1.00x
SubstringComparable 48 48 +0.0% 1.00x
SubstringEqualString 536 530 -1.1% 1.01x
SubstringEquatable 1368 1353 -1.1% 1.01x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 69 69 +0.0% 1.00x
SuffixAnyCollection 43 43 +0.0% 1.00x
SuffixAnyCollectionLazy 22415 22578 +0.7% 0.99x
SuffixAnySeqCRangeIter 4124 4112 -0.3% 1.00x
SuffixAnySeqCRangeIterLazy 4104 4112 +0.2% 1.00x (?)
SuffixAnySeqCntRange 35 35 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 35 35 +0.0% 1.00x
SuffixAnySequence 5208 5189 -0.4% 1.00x (?)
SuffixAnySequenceLazy 5288 5258 -0.6% 1.01x
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3771 3772 +0.0% 1.00x (?)
SuffixSequenceLazy 3763 3768 +0.1% 1.00x (?)
SumUsingReduce 96 96 +0.0% 1.00x
SumUsingReduceInto 96 96 +0.0% 1.00x
SuperChars 42465 41506 -2.3% 1.02x
TwoSum 1002 993 -0.9% 1.01x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 316 316 +0.0% 1.00x
Walsh 420 420 +0.0% 1.00x
WordCountHistogramASCII 7445 7457 +0.2% 1.00x (?)
WordCountHistogramUTF16 25608 25282 -1.3% 1.01x (?)
WordCountUniqueASCII 1837 1845 +0.4% 1.00x (?)
WordCountUniqueUTF16 16669 16670 +0.0% 1.00x (?)
WordSplitASCII 21663 21671 +0.0% 1.00x (?)
WordSplitUTF16 24023 23753 -1.1% 1.01x (?)
XorLoop 394 394 +0.0% 1.00x

Unoptimized (Onone)

Regression (10)
TEST OLD NEW DELTA SPEEDUP
ArrayPlusEqualFiveElementCollection 236057 266744 +13.0% 0.88x (?)
CharIteration_utf16_unicodeScalars_Backwards 257340 288156 +12.0% 0.89x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 54738 60659 +10.8% 0.90x
ObjectiveCBridgeFromNSSetAnyObjectForced 6700 7393 +10.3% 0.91x (?)
StringInterpolation 13814 15003 +8.6% 0.92x
CharacterLiteralsLarge 5906 6356 +7.6% 0.93x
ObjectiveCBridgeStubFromArrayOfNSString 26743 28712 +7.4% 0.93x (?)
DictionaryLiteral 8723 9330 +7.0% 0.93x
LuhnAlgoEager 4846 5121 +5.7% 0.95x (?)
SetUnion 12163 12818 +5.4% 0.95x
Improvement (12)
TEST OLD NEW DELTA SPEEDUP
CharIteration_utf16_unicodeScalars 159017 132060 -17.0% 1.20x
CharIteration_punctuated_unicodeScalars_Backwards 75994 66657 -12.3% 1.14x (?)
CharIteration_tweet_unicodeScalars_Backwards 683754 602299 -11.9% 1.14x
StackPromo 96487 89298 -7.5% 1.08x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 9603 8957 -6.7% 1.07x
MapReduceShortString 245 230 -6.1% 1.07x (?)
CharIndexing_korean_unicodeScalars_Backwards 471033 443129 -5.9% 1.06x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 82068 77879 -5.1% 1.05x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37149 35297 -5.0% 1.05x (?)
ArrayPlusEqualThreeElements 9732 9253 -4.9% 1.05x (?)
NSDictionaryCastToSwift 7042 6697 -4.9% 1.05x (?)
PopFrontUnsafePointer 11198 10663 -4.8% 1.05x
No Changes (363)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5126 5161 +0.7% 0.99x (?)
AnyHashableWithAClass 89618 89863 +0.3% 1.00x
Array2D 631273 630699 -0.1% 1.00x (?)
ArrayAppend 4556 4557 +0.0% 1.00x (?)
ArrayAppendArrayOfInt 865 861 -0.5% 1.00x (?)
ArrayAppendAscii 40922 40900 -0.1% 1.00x (?)
ArrayAppendFromGeneric 873 869 -0.5% 1.00x (?)
ArrayAppendGenericStructs 1507 1508 +0.1% 1.00x (?)
ArrayAppendLatin1 64226 64191 -0.1% 1.00x (?)
ArrayAppendLazyMap 173629 175872 +1.3% 0.99x
ArrayAppendOptionals 1511 1506 -0.3% 1.00x (?)
ArrayAppendRepeatCol 174117 171630 -1.4% 1.01x
ArrayAppendReserved 4169 4166 -0.1% 1.00x (?)
ArrayAppendSequence 152432 153464 +0.7% 0.99x
ArrayAppendStrings 15481 15440 -0.3% 1.00x
ArrayAppendToFromGeneric 874 867 -0.8% 1.01x
ArrayAppendToGeneric 875 871 -0.5% 1.00x (?)
ArrayAppendUTF16 63159 63343 +0.3% 1.00x (?)
ArrayInClass 6285 6282 -0.0% 1.00x (?)
ArrayLiteral 1834 1795 -2.1% 1.02x
ArrayOfGenericPOD2 1128 1128 +0.0% 1.00x
ArrayOfGenericRef 10305 10152 -1.5% 1.02x (?)
ArrayOfPOD 757 756 -0.1% 1.00x
ArrayOfRef 9362 9328 -0.4% 1.00x
ArrayPlusEqualArrayOfInt 865 868 +0.3% 1.00x (?)
ArrayPlusEqualSingleElementCollection 232260 232532 +0.1% 1.00x (?)
ArraySubscript 116526 116026 -0.4% 1.00x (?)
ArrayValueProp 3658 3663 +0.1% 1.00x (?)
ArrayValueProp2 16592 16462 -0.8% 1.01x
ArrayValueProp3 4218 4163 -1.3% 1.01x (?)
ArrayValueProp4 4076 4100 +0.6% 0.99x (?)
BinaryFloatingPointConversionFromBinaryInteger 6048 6101 +0.9% 0.99x (?)
BinaryFloatingPointPropertiesBinade 89 89 +0.0% 1.00x
BinaryFloatingPointPropertiesNextUp 135 135 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 134 134 +0.0% 1.00x
BitCount 7876 7879 +0.0% 1.00x (?)
ByteSwap 9222 9213 -0.1% 1.00x (?)
COWTree 11408 11341 -0.6% 1.01x (?)
CSVParsing 2501070 2535370 +1.4% 0.99x (?)
CSVParsingAlt 1297573 1321523 +1.8% 0.98x (?)
CSVParsingAltIndices 2187923 2247585 +2.7% 0.97x
CStringLongAscii 4759 4764 +0.1% 1.00x (?)
CStringLongNonAscii 2152 2149 -0.1% 1.00x (?)
CStringShortAscii 8388 8046 -4.1% 1.04x
Calculator 1540 1541 +0.1% 1.00x (?)
CaptureProp 267529 266062 -0.5% 1.01x
CharIndexing_ascii_unicodeScalars 396458 396609 +0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 465356 471553 +1.3% 0.99x (?)
CharIndexing_chinese_unicodeScalars 301838 300361 -0.5% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 345044 344335 -0.2% 1.00x (?)
CharIndexing_japanese_unicodeScalars 476086 476782 +0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 546767 543782 -0.5% 1.01x (?)
CharIndexing_korean_unicodeScalars 387107 382301 -1.2% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 70073 70552 +0.7% 0.99x (?)
CharIndexing_punctuated_unicodeScalars 87935 92263 +4.9% 0.95x
CharIndexing_punctuated_unicodeScalars_Backwards 104225 100375 -3.7% 1.04x (?)
CharIndexing_russian_unicodeScalars 334132 345582 +3.4% 0.97x
CharIndexing_russian_unicodeScalars_Backwards 379516 382069 +0.7% 0.99x (?)
CharIndexing_tweet_unicodeScalars 792888 820047 +3.4% 0.97x (?)
CharIndexing_tweet_unicodeScalars_Backwards 905110 901108 -0.4% 1.00x (?)
CharIndexing_utf16_unicodeScalars 330337 346866 +5.0% 0.95x (?)
CharIndexing_utf16_unicodeScalars_Backwards 370293 373191 +0.8% 0.99x (?)
CharIteration_ascii_unicodeScalars 156499 155076 -0.9% 1.01x (?)
CharIteration_ascii_unicodeScalars_Backwards 320836 305606 -4.7% 1.05x (?)
CharIteration_chinese_unicodeScalars 117830 117380 -0.4% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 231151 230501 -0.3% 1.00x (?)
CharIteration_japanese_unicodeScalars 185997 187095 +0.6% 0.99x (?)
CharIteration_japanese_unicodeScalars_Backwards 367976 363481 -1.2% 1.01x (?)
CharIteration_korean_unicodeScalars 151218 150442 -0.5% 1.01x (?)
CharIteration_korean_unicodeScalars_Backwards 328171 329982 +0.6% 0.99x (?)
CharIteration_punctuatedJapanese_unicodeScalars 27996 28941 +3.4% 0.97x
CharIteration_punctuated_unicodeScalars 35865 35166 -1.9% 1.02x (?)
CharIteration_russian_unicodeScalars 129538 129339 -0.2% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 283298 280483 -1.0% 1.01x (?)
CharIteration_tweet_unicodeScalars 306375 306182 -0.1% 1.00x (?)
CharacterLiteralsSmall 684 684 +0.0% 1.00x
CharacterPropertiesFetch 5716 5707 -0.2% 1.00x (?)
CharacterPropertiesPrecomputed 4398 4328 -1.6% 1.02x (?)
CharacterPropertiesStashed 2355 2349 -0.3% 1.00x (?)
CharacterPropertiesStashedMemo 5205 5176 -0.6% 1.01x (?)
Chars 40430 40436 +0.0% 1.00x (?)
ClassArrayGetter 987 987 +0.0% 1.00x
Combos 2233 2179 -2.4% 1.02x (?)
DictOfArraysToArrayOfDicts 3355 3435 +2.4% 0.98x (?)
Dictionary 2819 2732 -3.1% 1.03x (?)
Dictionary2 3084 3057 -0.9% 1.01x (?)
Dictionary2OfObjects 5793 5707 -1.5% 1.02x (?)
Dictionary3 1361 1364 +0.2% 1.00x (?)
Dictionary3OfObjects 2349 2365 +0.7% 0.99x (?)
Dictionary4 1259 1260 +0.1% 1.00x (?)
Dictionary4OfObjects 1854 1863 +0.5% 1.00x
DictionaryBridge 2193 2169 -1.1% 1.01x (?)
DictionaryGroup 4152 4163 +0.3% 1.00x (?)
DictionaryGroupOfObjects 7527 7440 -1.2% 1.01x (?)
DictionaryOfObjects 6287 6493 +3.3% 0.97x (?)
DictionaryRemove 19063 19097 +0.2% 1.00x (?)
DictionaryRemoveOfObjects 51692 50810 -1.7% 1.02x (?)
DictionarySubscriptDefaultMutation 2042 2064 +1.1% 0.99x (?)
DictionarySubscriptDefaultMutationArray 2290 2304 +0.6% 0.99x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9289 9138 -1.6% 1.02x
DictionarySubscriptDefaultMutationOfObjects 5755 5600 -2.7% 1.03x (?)
DictionarySwap 5625 5581 -0.8% 1.01x
DictionarySwapOfObjects 22769 22789 +0.1% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 13815 13601 -1.5% 1.02x
DropFirstAnyCollectionLazy 99656 101378 +1.7% 0.98x (?)
DropFirstAnySeqCRangeIter 21133 21033 -0.5% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21008 20959 -0.2% 1.00x (?)
DropFirstAnySeqCntRange 13706 13583 -0.9% 1.01x
DropFirstAnySeqCntRangeLazy 13643 13608 -0.3% 1.00x
DropFirstAnySequence 11449 11455 +0.1% 1.00x (?)
DropFirstAnySequenceLazy 11443 11494 +0.4% 1.00x (?)
DropFirstArray 3987 4026 +1.0% 0.99x
DropFirstArrayLazy 26522 26775 +1.0% 0.99x
DropFirstCountableRange 325 326 +0.3% 1.00x
DropFirstCountableRangeLazy 26037 26698 +2.5% 0.98x (?)
DropFirstSequence 10965 10923 -0.4% 1.00x (?)
DropFirstSequenceLazy 10877 10883 +0.1% 1.00x (?)
DropLastAnyCollection 4608 4551 -1.2% 1.01x
DropLastAnyCollectionLazy 33641 33928 +0.9% 0.99x (?)
DropLastAnySeqCRangeIter 37807 37936 +0.3% 1.00x
DropLastAnySeqCRangeIterLazy 37710 37559 -0.4% 1.00x (?)
DropLastAnySeqCntRange 4576 4632 +1.2% 0.99x
DropLastAnySeqCntRangeLazy 4565 4540 -0.5% 1.01x
DropLastAnySequence 29425 29564 +0.5% 1.00x
DropLastAnySequenceLazy 29485 29425 -0.2% 1.00x (?)
DropLastCountableRange 112 112 +0.0% 1.00x
DropLastCountableRangeLazy 8719 8901 +2.1% 0.98x
DropLastSequence 29603 29258 -1.2% 1.01x
DropLastSequenceLazy 29302 30227 +3.2% 0.97x (?)
DropWhileAnyCollection 17223 17166 -0.3% 1.00x
DropWhileAnyCollectionLazy 19798 19890 +0.5% 1.00x
DropWhileAnySeqCRangeIter 22353 22403 +0.2% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 19811 20277 +2.4% 0.98x
DropWhileAnySeqCntRange 17405 17113 -1.7% 1.02x
DropWhileAnySeqCntRangeLazy 19721 19823 +0.5% 0.99x
DropWhileAnySequence 13044 13043 -0.0% 1.00x (?)
DropWhileAnySequenceLazy 11382 11293 -0.8% 1.01x
DropWhileArrayLazy 15432 15476 +0.3% 1.00x (?)
DropWhileCountableRange 3921 3908 -0.3% 1.00x (?)
DropWhileCountableRangeLazy 19207 19185 -0.1% 1.00x
DropWhileSequence 12996 12544 -3.5% 1.04x
DropWhileSequenceLazy 10861 10870 +0.1% 1.00x (?)
EqualStringSubstring 91 91 +0.0% 1.00x
EqualSubstringString 92 92 +0.0% 1.00x
EqualSubstringSubstring 93 92 -1.1% 1.01x
EqualSubstringSubstringGenericEquatable 100 99 -1.0% 1.01x
ErrorHandling 7375 7094 -3.8% 1.04x (?)
ExclusivityGlobal 185 185 +0.0% 1.00x
ExclusivityIndependent 68 68 +0.0% 1.00x
FilterEvenUsingReduce 3696 3689 -0.2% 1.00x (?)
FilterEvenUsingReduceInto 1940 1971 +1.6% 0.98x (?)
FrequenciesUsingReduce 10464 10476 +0.1% 1.00x (?)
FrequenciesUsingReduceInto 5289 5266 -0.4% 1.00x (?)
Hanoi 20065 20037 -0.1% 1.00x (?)
HashTest 21825 21888 +0.3% 1.00x (?)
Histogram 6770 6729 -0.6% 1.01x (?)
Integrate 846 847 +0.1% 1.00x (?)
IterateData 6031 6055 +0.4% 1.00x
Join 1114 1112 -0.2% 1.00x (?)
LazilyFilteredArrayContains 787888 791371 +0.4% 1.00x
LazilyFilteredArrays 1450631 1456394 +0.4% 1.00x (?)
LazilyFilteredRange 482564 477769 -1.0% 1.01x
LessSubstringSubstring 93 92 -1.1% 1.01x
LessSubstringSubstringGenericComparable 98 98 +0.0% 1.00x
LinkedList 32061 31927 -0.4% 1.00x
LuhnAlgoLazy 5044 5259 +4.3% 0.96x (?)
MapReduce 26814 25894 -3.4% 1.04x (?)
MapReduceAnyCollection 26487 26267 -0.8% 1.01x (?)
MapReduceAnyCollectionShort 37463 37470 +0.0% 1.00x (?)
MapReduceClass 30274 30359 +0.3% 1.00x (?)
MapReduceClassShort 42740 41995 -1.7% 1.02x
MapReduceLazyCollection 23245 23267 +0.1% 1.00x (?)
MapReduceLazyCollectionShort 34023 33877 -0.4% 1.00x (?)
MapReduceLazySequence 18674 18708 +0.2% 1.00x (?)
MapReduceSequence 30227 30199 -0.1% 1.00x
MapReduceShort 38174 38744 +1.5% 0.99x
MapReduceString 1835 1829 -0.3% 1.00x (?)
Memset 44753 44754 +0.0% 1.00x (?)
MonteCarloE 1239065 1236765 -0.2% 1.00x (?)
MonteCarloPi 5586621 5622790 +0.6% 0.99x
NSError 720 720 +0.0% 1.00x
NSStringConversion 335 335 +0.0% 1.00x
NibbleSort 434669 433081 -0.4% 1.00x
NopDeinit 166374 166527 +0.1% 1.00x (?)
ObjectAllocation 1364 1377 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObject 24136 23724 -1.7% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 41604 42567 +2.3% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 131760 127026 -3.6% 1.04x
ObjectiveCBridgeFromNSSetAnyObject 65354 67724 +3.6% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 77257 73616 -4.7% 1.05x (?)
ObjectiveCBridgeFromNSString 3416 3290 -3.7% 1.04x (?)
ObjectiveCBridgeFromNSStringForced 2758 2761 +0.1% 1.00x (?)
ObjectiveCBridgeStubDataAppend 4545 4527 -0.4% 1.00x (?)
ObjectiveCBridgeStubDateMutation 606 605 -0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 4824 4826 +0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSString 893 895 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 205 205 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 3003 2928 -2.5% 1.03x (?)
ObjectiveCBridgeStubNSDateMutationRef 16447 15838 -3.7% 1.04x
ObjectiveCBridgeStubToArrayOfNSString 28887 28825 -0.2% 1.00x (?)
ObjectiveCBridgeStubToNSDate 15814 16079 +1.7% 0.98x (?)
ObjectiveCBridgeStubToNSDateRef 3483 3471 -0.3% 1.00x (?)
ObjectiveCBridgeStubToNSString 1584 1583 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 153 153 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 326101 333807 +2.4% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 331714 337219 +1.7% 0.98x (?)
ObjectiveCBridgeToNSArray 29455 29382 -0.2% 1.00x (?)
ObjectiveCBridgeToNSDictionary 54469 52731 -3.2% 1.03x (?)
ObjectiveCBridgeToNSSet 42341 42808 +1.1% 0.99x (?)
ObjectiveCBridgeToNSString 1351 1345 -0.4% 1.00x (?)
ObserverClosure 6303 6354 +0.8% 0.99x (?)
ObserverForwarderStruct 4455 4465 +0.2% 1.00x (?)
ObserverPartiallyAppliedMethod 7909 7912 +0.0% 1.00x (?)
ObserverUnappliedMethod 8019 8076 +0.7% 0.99x (?)
OpenClose 538 540 +0.4% 1.00x
PartialApplyDynamicType 42226 41174 -2.5% 1.03x
Phonebook 20024 20041 +0.1% 1.00x (?)
PointerArithmetics 117414 117490 +0.1% 1.00x (?)
PolymorphicCalls 5943 5998 +0.9% 0.99x (?)
PopFrontArray 4692 4698 +0.1% 1.00x (?)
PopFrontArrayGeneric 5698 5693 -0.1% 1.00x (?)
PrefixAnyCollection 13765 13521 -1.8% 1.02x
PrefixAnyCollectionLazy 102653 102843 +0.2% 1.00x (?)
PrefixAnySeqCRangeIter 16819 16884 +0.4% 1.00x (?)
PrefixAnySeqCRangeIterLazy 16948 16959 +0.1% 1.00x (?)
PrefixAnySeqCntRange 13694 13650 -0.3% 1.00x (?)
PrefixAnySeqCntRangeLazy 13679 13660 -0.1% 1.00x (?)
PrefixAnySequence 9515 9552 +0.4% 1.00x (?)
PrefixAnySequenceLazy 9569 9582 +0.1% 1.00x (?)
PrefixArray 3977 4035 +1.5% 0.99x
PrefixArrayLazy 26477 25762 -2.7% 1.03x (?)
PrefixCountableRange 326 325 -0.3% 1.00x
PrefixCountableRangeLazy 25991 26671 +2.6% 0.97x
PrefixSequence 8958 9007 +0.5% 0.99x
PrefixSequenceLazy 8960 8963 +0.0% 1.00x
PrefixWhileAnyCollection 24350 24463 +0.5% 1.00x
PrefixWhileAnyCollectionLazy 16490 16544 +0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIter 33184 33282 +0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 16522 16909 +2.3% 0.98x
PrefixWhileAnySeqCntRange 24403 24442 +0.2% 1.00x
PrefixWhileAnySeqCntRangeLazy 16402 16493 +0.6% 0.99x (?)
PrefixWhileAnySequence 26837 26607 -0.9% 1.01x
PrefixWhileAnySequenceLazy 10140 10177 +0.4% 1.00x (?)
PrefixWhileArray 11768 11667 -0.9% 1.01x
PrefixWhileArrayLazy 13862 13858 -0.0% 1.00x (?)
PrefixWhileCountableRange 10997 11037 +0.4% 1.00x (?)
PrefixWhileCountableRangeLazy 16518 16657 +0.8% 0.99x
PrefixWhileSequence 26189 26205 +0.1% 1.00x (?)
PrefixWhileSequenceLazy 9917 9874 -0.4% 1.00x
Prims 9780 9817 +0.4% 1.00x (?)
PrimsSplit 9860 9715 -1.5% 1.01x (?)
QueueConcrete 14837 14682 -1.0% 1.01x
QueueGeneric 18907 18737 -0.9% 1.01x
RC4 16700 16679 -0.1% 1.00x (?)
RGBHistogram 26574 26298 -1.0% 1.01x (?)
RGBHistogramOfObjects 95582 95504 -0.1% 1.00x (?)
RangeAssignment 2248 2270 +1.0% 0.99x (?)
RangeIterationSigned 16542 16754 +1.3% 0.99x (?)
RangeIterationSigned64 39183 39269 +0.2% 1.00x (?)
RangeIterationUnsigned 35984 35059 -2.6% 1.03x (?)
RangeReplaceableCollectionPlusDefault 7960 8107 +1.8% 0.98x (?)
RecursiveOwnedParameter 8580 8505 -0.9% 1.01x
RemoveWhereFilterInts 2091 2120 +1.4% 0.99x
RemoveWhereFilterString 1497 1504 +0.5% 1.00x
RemoveWhereFilterStrings 2980 3003 +0.8% 0.99x
RemoveWhereMoveInts 3331 3330 -0.0% 1.00x (?)
RemoveWhereMoveStrings 4034 4035 +0.0% 1.00x (?)
RemoveWhereQuadraticInts 7707 7667 -0.5% 1.01x
RemoveWhereQuadraticString 2299 2305 +0.3% 1.00x (?)
RemoveWhereQuadraticStrings 9357 9339 -0.2% 1.00x
RemoveWhereSwapInts 5938 5961 +0.4% 1.00x
RemoveWhereSwapStrings 6654 6669 +0.2% 1.00x
ReversedArray 13665 13587 -0.6% 1.01x
ReversedBidirectional 43158 43225 +0.2% 1.00x (?)
ReversedDictionary 23463 23454 -0.0% 1.00x (?)
RomanNumbers 1192805 1166117 -2.2% 1.02x (?)
SequenceAlgosAnySequence 11263 11107 -1.4% 1.01x
SequenceAlgosArray 792200 795498 +0.4% 1.00x
SequenceAlgosContiguousArray 346463 348169 +0.5% 1.00x (?)
SequenceAlgosList 8319 8322 +0.0% 1.00x (?)
SequenceAlgosRange 1090513 1082118 -0.8% 1.01x (?)
SequenceAlgosUnfoldSequence 5834 5918 +1.4% 0.99x
SetExclusiveOr 17935 17875 -0.3% 1.00x (?)
SetExclusiveOr_OfObjects 42435 42399 -0.1% 1.00x (?)
SetIntersect 8964 8891 -0.8% 1.01x (?)
SetIntersect_OfObjects 12636 12583 -0.4% 1.00x
SetIsSubsetOf 1427 1417 -0.7% 1.01x (?)
SetIsSubsetOf_OfObjects 1628 1634 +0.4% 1.00x
SetUnion_OfObjects 29474 29559 +0.3% 1.00x (?)
SevenBoom 1648 1672 +1.5% 0.99x (?)
Sim2DArray 43809 43793 -0.0% 1.00x (?)
SortLargeExistentials 15304 15336 +0.2% 1.00x
SortLettersInPlace 2650 2657 +0.3% 1.00x (?)
SortSortedStrings 1071 1079 +0.7% 0.99x
SortStrings 2082 2115 +1.6% 0.98x
SortStringsUnicode 2889 2891 +0.1% 1.00x (?)
StaticArray 2618 2609 -0.3% 1.00x (?)
StrComplexWalk 6225 6232 +0.1% 1.00x (?)
StrToInt 57677 57840 +0.3% 1.00x (?)
StringAdder 4715 4796 +1.7% 0.98x
StringBuilder 6794 6962 +2.5% 0.98x (?)
StringBuilderLong 2750 2734 -0.6% 1.01x (?)
StringBuilderWithLongSubstring 4439 4437 -0.0% 1.00x (?)
StringComparison_abnormal 1329 1372 +3.2% 0.97x
StringComparison_ascii 9758 9720 -0.4% 1.00x
StringComparison_emoji 2112 2125 +0.6% 0.99x (?)
StringComparison_fastPrenormal 5305 5315 +0.2% 1.00x (?)
StringComparison_latin1 4124 4134 +0.2% 1.00x
StringComparison_longSharedPrefix 2500 2558 +2.3% 0.98x (?)
StringComparison_nonBMPSlowestPrenormal 3869 3912 +1.1% 0.99x
StringComparison_slowerPrenormal 4360 4423 +1.4% 0.99x (?)
StringComparison_zalgo 116260 116055 -0.2% 1.00x (?)
StringEdits 337698 325304 -3.7% 1.04x (?)
StringEnumRawValueInitialization 18107 18030 -0.4% 1.00x (?)
StringEqualPointerComparison 3666 3665 -0.0% 1.00x (?)
StringFromLongWholeSubstring 22 22 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 200 201 +0.5% 1.00x (?)
StringHasPrefixAscii 3151 3153 +0.1% 1.00x (?)
StringHasPrefixUnicode 29270 29433 +0.6% 0.99x (?)
StringHasSuffixAscii 3202 3202 +0.0% 1.00x
StringHasSuffixUnicode 86542 86758 +0.2% 1.00x (?)
StringInterpolationManySmallSegments 19921 19943 +0.1% 1.00x (?)
StringInterpolationSmall 11564 12170 +5.2% 0.95x (?)
StringMatch 33348 32837 -1.5% 1.02x (?)
StringRemoveDupes 1425 1423 -0.1% 1.00x (?)
StringUTF16Builder 7599 7738 +1.8% 0.98x
StringUTF16SubstringBuilder 21071 20930 -0.7% 1.01x (?)
StringWalk 12624 12586 -0.3% 1.00x (?)
StringWithCString 39481 39445 -0.1% 1.00x
StringWordBuilder 2512 2508 -0.2% 1.00x (?)
StringWordBuilderReservingCapacity 2176 2175 -0.0% 1.00x (?)
SubstringComparable 2071 2097 +1.3% 0.99x (?)
SubstringEqualString 1928 1930 +0.1% 1.00x (?)
SubstringEquatable 6094 6046 -0.8% 1.01x (?)
SubstringFromLongString 24 25 +4.2% 0.96x
SubstringFromLongStringGeneric 104 103 -1.0% 1.01x
SuffixAnyCollection 4608 4546 -1.3% 1.01x
SuffixAnyCollectionLazy 34969 33803 -3.3% 1.03x (?)
SuffixAnySeqCRangeIter 33599 33640 +0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 33406 33442 +0.1% 1.00x
SuffixAnySeqCntRange 4567 4548 -0.4% 1.00x (?)
SuffixAnySeqCntRangeLazy 4564 4552 -0.3% 1.00x
SuffixAnySequence 25422 25284 -0.5% 1.01x
SuffixAnySequenceLazy 25197 25248 +0.2% 1.00x (?)
SuffixCountableRange 112 112 +0.0% 1.00x
SuffixCountableRangeLazy 8714 8937 +2.6% 0.98x
SuffixSequence 25106 25019 -0.3% 1.00x
SuffixSequenceLazy 25438 25112 -1.3% 1.01x (?)
SumUsingReduce 173234 173500 +0.2% 1.00x (?)
SumUsingReduceInto 161643 163155 +0.9% 0.99x (?)
SuperChars 126536 125790 -0.6% 1.01x (?)
TwoSum 4176 4170 -0.1% 1.00x (?)
TypeFlood 183 180 -1.6% 1.02x (?)
UTF8Decode 30796 30824 +0.1% 1.00x
Walsh 12003 12014 +0.1% 1.00x (?)
WordCountHistogramASCII 47704 47909 +0.4% 1.00x (?)
WordCountHistogramUTF16 74045 72511 -2.1% 1.02x (?)
WordCountUniqueASCII 8157 8141 -0.2% 1.00x
WordCountUniqueUTF16 27325 27059 -1.0% 1.01x (?)
WordSplitASCII 26413 26377 -0.1% 1.00x (?)
WordSplitUTF16 28591 27722 -3.0% 1.03x
XorLoop 23405 23383 -0.1% 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

@milseman
Copy link
Member

milseman commented Mar 9, 2018

(I suspect the string builders are noisy)

@swift-ci please benchmark

@milseman
Copy link
Member

@swift-ci please smoke benchmark

@milseman
Copy link
Member

@swift-ci please smoke test

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (7)
TEST OLD NEW DELTA SPEEDUP
BinaryFloatingPointPropertiesBinade 25 31 +24.0% 0.81x
WordSplitUTF16 9556 11299 +18.2% 0.85x (?)
StringBuilderWithLongSubstring 1255 1394 +11.1% 0.90x (?)
ObjectiveCBridgeStubFromArrayOfNSString 27976 29653 +6.0% 0.94x (?)
DictionaryGroup 268 284 +6.0% 0.94x
Chars 969 1026 +5.9% 0.94x
BinaryFloatingPointPropertiesUlp 35 37 +5.7% 0.95x
Improvement (12)
TEST OLD NEW DELTA SPEEDUP
WordSplitASCII 20676 17223 -16.7% 1.20x (?)
WordCountUniqueUTF16 21281 18149 -14.7% 1.17x (?)
ObjectiveCBridgeFromNSSetAnyObject 60564 51984 -14.2% 1.17x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37621 34160 -9.2% 1.10x (?)
BinaryFloatingPointConversionFromBinaryInteger 40 37 -7.5% 1.08x
DropLastAnySeqCntRangeLazy 14 13 -7.1% 1.08x
SubstringComparable 43 40 -7.0% 1.07x
ObjectiveCBridgeToNSDictionary 53927 50368 -6.6% 1.07x
DropWhileAnySeqCRangeIter 17889 16832 -5.9% 1.06x
ObjectiveCBridgeStubURLAppendPath 346246 328590 -5.1% 1.05x
DictionarySwapOfObjects 9754 9262 -5.0% 1.05x (?)
COWTree 5490 5224 -4.8% 1.05x (?)
No Changes (366)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3633 3685 +1.4% 0.99x (?)
AnyHashableWithAClass 73343 72916 -0.6% 1.01x (?)
Array2D 2558 2552 -0.2% 1.00x (?)
ArrayAppend 1077 1075 -0.2% 1.00x (?)
ArrayAppendArrayOfInt 800 800 +0.0% 1.00x
ArrayAppendAscii 13200 13156 -0.3% 1.00x
ArrayAppendFromGeneric 799 800 +0.1% 1.00x (?)
ArrayAppendGenericStructs 1428 1428 +0.0% 1.00x
ArrayAppendLatin1 37655 37618 -0.1% 1.00x (?)
ArrayAppendLazyMap 1347 1348 +0.1% 1.00x (?)
ArrayAppendOptionals 1429 1432 +0.2% 1.00x
ArrayAppendRepeatCol 1338 1340 +0.1% 1.00x (?)
ArrayAppendReserved 811 810 -0.1% 1.00x (?)
ArrayAppendSequence 1122 1123 +0.1% 1.00x (?)
ArrayAppendStrings 15180 15230 +0.3% 1.00x
ArrayAppendToFromGeneric 798 799 +0.1% 1.00x (?)
ArrayAppendToGeneric 801 801 +0.0% 1.00x
ArrayAppendUTF16 36389 36820 +1.2% 0.99x (?)
ArrayInClass 85 86 +1.2% 0.99x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 151 151 +0.0% 1.00x
ArrayOfGenericRef 4365 4388 +0.5% 0.99x (?)
ArrayOfPOD 183 183 +0.0% 1.00x
ArrayOfRef 4377 4387 +0.2% 1.00x
ArrayPlusEqualArrayOfInt 799 803 +0.5% 1.00x
ArrayPlusEqualFiveElementCollection 5372 5467 +1.8% 0.98x
ArrayPlusEqualSingleElementCollection 1067 1078 +1.0% 0.99x (?)
ArrayPlusEqualThreeElements 1658 1650 -0.5% 1.00x (?)
ArraySubscript 1533 1527 -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
BinaryFloatingPointPropertiesNextUp 28 28 +0.0% 1.00x
BitCount 211 202 -4.3% 1.04x
ByteSwap 104 101 -2.9% 1.03x
CSVParsing 759810 756966 -0.4% 1.00x (?)
CSVParsingAlt 726867 724645 -0.3% 1.00x (?)
CSVParsingAltIndices 359644 358108 -0.4% 1.00x (?)
CStringLongAscii 4609 4773 +3.6% 0.97x
CStringLongNonAscii 2135 2173 +1.8% 0.98x (?)
CStringShortAscii 4695 4707 +0.3% 1.00x (?)
Calculator 643 662 +3.0% 0.97x
CaptureProp 3933 3928 -0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars 15930 15944 +0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 15153 15134 -0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars 12068 12068 +0.0% 1.00x
CharIndexing_chinese_unicodeScalars_Backwards 11474 11465 -0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars 19055 19051 -0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 18120 18122 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars 15450 15456 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 14694 14679 -0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2905 2904 -0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2753 2747 -0.2% 1.00x
CharIndexing_punctuated_unicodeScalars 3629 3625 -0.1% 1.00x
CharIndexing_punctuated_unicodeScalars_Backwards 3443 3439 -0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars 13265 13274 +0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 12624 12628 +0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 31391 31417 +0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 29784 29780 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars 21356 21354 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 21291 21275 -0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars 21763 21578 -0.9% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 15400 15409 +0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars 16486 16335 -0.9% 1.01x
CharIteration_chinese_unicodeScalars_Backwards 11668 11674 +0.1% 1.00x
CharIteration_japanese_unicodeScalars 26106 25851 -1.0% 1.01x
CharIteration_japanese_unicodeScalars_Backwards 18430 18434 +0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 21113 20919 -0.9% 1.01x
CharIteration_korean_unicodeScalars_Backwards 14929 14941 +0.1% 1.00x
CharIteration_punctuatedJapanese_unicodeScalars 3876 3844 -0.8% 1.01x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2789 2788 -0.0% 1.00x (?)
CharIteration_punctuated_unicodeScalars 4869 4836 -0.7% 1.01x
CharIteration_punctuated_unicodeScalars_Backwards 3491 3488 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars 18130 17968 -0.9% 1.01x
CharIteration_russian_unicodeScalars_Backwards 12829 12832 +0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars 43171 42634 -1.2% 1.01x (?)
CharIteration_tweet_unicodeScalars_Backwards 31068 31077 +0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars 28018 27929 -0.3% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 19016 18975 -0.2% 1.00x
CharacterLiteralsLarge 6019 6045 +0.4% 1.00x (?)
CharacterLiteralsSmall 412 410 -0.5% 1.00x (?)
CharacterPropertiesFetch 4635 4560 -1.6% 1.02x
CharacterPropertiesPrecomputed 1313 1288 -1.9% 1.02x
CharacterPropertiesStashed 1560 1551 -0.6% 1.01x (?)
CharacterPropertiesStashedMemo 1767 1747 -1.1% 1.01x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 470 467 -0.6% 1.01x
DictOfArraysToArrayOfDicts 826 820 -0.7% 1.01x (?)
Dictionary 606 606 +0.0% 1.00x
Dictionary2 1743 1745 +0.1% 1.00x (?)
Dictionary2OfObjects 3090 3084 -0.2% 1.00x (?)
Dictionary3 302 310 +2.6% 0.97x (?)
Dictionary3OfObjects 741 759 +2.4% 0.98x (?)
Dictionary4 803 815 +1.5% 0.99x (?)
Dictionary4OfObjects 878 867 -1.3% 1.01x (?)
DictionaryBridge 2159 2111 -2.2% 1.02x (?)
DictionaryGroupOfObjects 2093 2070 -1.1% 1.01x (?)
DictionaryLiteral 2021 2066 +2.2% 0.98x (?)
DictionaryOfObjects 2256 2267 +0.5% 1.00x (?)
DictionaryRemove 4870 5024 +3.2% 0.97x (?)
DictionaryRemoveOfObjects 28133 27785 -1.2% 1.01x (?)
DictionarySubscriptDefaultMutation 312 317 +1.6% 0.98x (?)
DictionarySubscriptDefaultMutationArray 658 658 +0.0% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 4189 4204 +0.4% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1703 1706 +0.2% 1.00x (?)
DictionarySwap 1349 1343 -0.4% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 84 84 +0.0% 1.00x
DropFirstAnyCollectionLazy 68959 68504 -0.7% 1.01x (?)
DropFirstAnySeqCRangeIter 21785 20945 -3.9% 1.04x
DropFirstAnySeqCRangeIterLazy 21851 21023 -3.8% 1.04x
DropFirstAnySeqCntRange 28 28 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 28 28 +0.0% 1.00x
DropFirstAnySequence 4976 4891 -1.7% 1.02x
DropFirstAnySequenceLazy 4978 4893 -1.7% 1.02x
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 2683 +0.1% 1.00x
DropFirstSequenceLazy 2767 2767 +0.0% 1.00x
DropLastAnyCollection 31 31 +0.0% 1.00x
DropLastAnyCollectionLazy 23042 22811 -1.0% 1.01x (?)
DropLastAnySeqCRangeIter 3866 3867 +0.0% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3870 3862 -0.2% 1.00x
DropLastAnySeqCntRange 13 13 +0.0% 1.00x
DropLastAnySequence 5236 5219 -0.3% 1.00x (?)
DropLastAnySequenceLazy 5331 5324 -0.1% 1.00x
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropLastSequence 631 631 +0.0% 1.00x
DropLastSequenceLazy 632 630 -0.3% 1.00x
DropWhileAnyCollection 107 107 +0.0% 1.00x
DropWhileAnyCollectionLazy 125 125 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 90 90 +0.0% 1.00x
DropWhileAnySeqCntRange 37 36 -2.7% 1.03x
DropWhileAnySeqCntRangeLazy 90 90 +0.0% 1.00x
DropWhileAnySequence 5497 5442 -1.0% 1.01x
DropWhileAnySequenceLazy 1857 1858 +0.1% 1.00x (?)
DropWhileArrayLazy 88 88 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 105 105 +0.0% 1.00x
DropWhileSequence 1326 1326 +0.0% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 50 48 -4.0% 1.04x
EqualSubstringString 49 48 -2.0% 1.02x
EqualSubstringSubstring 48 48 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 48 48 +0.0% 1.00x
ErrorHandling 2332 2337 +0.2% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1314 1329 +1.1% 0.99x
FilterEvenUsingReduceInto 150 150 +0.0% 1.00x
FrequenciesUsingReduce 6845 6793 -0.8% 1.01x (?)
FrequenciesUsingReduceInto 3419 3344 -2.2% 1.02x (?)
Hanoi 3591 3598 +0.2% 1.00x (?)
HashTest 1747 1738 -0.5% 1.01x (?)
Histogram 898 899 +0.1% 1.00x (?)
Integrate 334 335 +0.3% 1.00x
IterateData 1272 1269 -0.2% 1.00x (?)
Join 373 371 -0.5% 1.01x
LazilyFilteredArrayContains 36293 36293 +0.0% 1.00x
LazilyFilteredArrays 64793 65006 +0.3% 1.00x (?)
LazilyFilteredRange 3864 3874 +0.3% 1.00x (?)
LessSubstringSubstring 48 48 +0.0% 1.00x
LessSubstringSubstringGenericComparable 47 48 +2.1% 0.98x
LinkedList 7521 7525 +0.1% 1.00x (?)
LuhnAlgoEager 574 574 +0.0% 1.00x
LuhnAlgoLazy 573 574 +0.2% 1.00x (?)
MapReduce 371 372 +0.3% 1.00x (?)
MapReduceAnyCollection 429 430 +0.2% 1.00x (?)
MapReduceAnyCollectionShort 2267 2254 -0.6% 1.01x
MapReduceClass 3027 3017 -0.3% 1.00x
MapReduceClassShort 4583 4565 -0.4% 1.00x
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 34 34 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 467 469 +0.4% 1.00x (?)
MapReduceShort 2017 1981 -1.8% 1.02x
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 81 81 +0.0% 1.00x
Memset 216 222 +2.8% 0.97x
MonteCarloE 10437 10229 -2.0% 1.02x
MonteCarloPi 42786 42685 -0.2% 1.00x
NSDictionaryCastToSwift 5519 5551 +0.6% 0.99x (?)
NSError 303 302 -0.3% 1.00x (?)
NSStringConversion 283 283 +0.0% 1.00x
NibbleSort 3666 3669 +0.1% 1.00x (?)
NopDeinit 27300 26825 -1.7% 1.02x
ObjectAllocation 184 183 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 20126 21111 +4.9% 0.95x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4900 4726 -3.6% 1.04x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 40437 39909 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 127496 130619 +2.4% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4443 4405 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 81260 82222 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSString 1304 1288 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2453 2515 +2.5% 0.98x (?)
ObjectiveCBridgeStubDataAppend 4074 4043 -0.8% 1.01x (?)
ObjectiveCBridgeStubDateMutation 258 257 -0.4% 1.00x
ObjectiveCBridgeStubFromNSDate 4076 4080 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 857 863 +0.7% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 164 164 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2625 2537 -3.4% 1.03x (?)
ObjectiveCBridgeStubNSDateMutationRef 13729 13829 +0.7% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 29221 29404 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSDate 16271 16150 -0.7% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3442 3473 +0.9% 0.99x (?)
ObjectiveCBridgeStubToNSString 1520 1521 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 115 115 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPathRef 330526 332218 +0.5% 0.99x (?)
ObjectiveCBridgeToNSArray 29408 29490 +0.3% 1.00x (?)
ObjectiveCBridgeToNSSet 43837 42330 -3.4% 1.04x
ObjectiveCBridgeToNSString 1293 1294 +0.1% 1.00x (?)
ObserverClosure 2183 2187 +0.2% 1.00x (?)
ObserverForwarderStruct 1001 997 -0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3754 3747 -0.2% 1.00x (?)
ObserverUnappliedMethod 2416 2379 -1.5% 1.02x
OpenClose 128 131 +2.3% 0.98x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 3857 3861 +0.1% 1.00x (?)
PointerArithmetics 31518 31495 -0.1% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1937 1940 +0.2% 1.00x (?)
PopFrontArrayGeneric 1971 1964 -0.4% 1.00x (?)
PopFrontUnsafePointer 8992 9409 +4.6% 0.96x (?)
PrefixAnyCollection 84 84 +0.0% 1.00x
PrefixAnyCollectionLazy 68684 69139 +0.7% 0.99x (?)
PrefixAnySeqCRangeIter 16821 16327 -2.9% 1.03x
PrefixAnySeqCRangeIterLazy 16814 16305 -3.0% 1.03x
PrefixAnySeqCntRange 28 28 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 29 28 -3.4% 1.04x
PrefixAnySequence 4324 4276 -1.1% 1.01x
PrefixAnySequenceLazy 4321 4290 -0.7% 1.01x (?)
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 1326 1325 -0.1% 1.00x (?)
PrefixSequenceLazy 1414 1414 +0.0% 1.00x
PrefixWhileAnyCollection 154 155 +0.6% 0.99x
PrefixWhileAnyCollectionLazy 90 90 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 9702 9677 -0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 24 24 +0.0% 1.00x
PrefixWhileAnySeqCntRange 60 60 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 24 24 +0.0% 1.00x
PrefixWhileAnySequence 10870 10805 -0.6% 1.01x
PrefixWhileAnySequenceLazy 1390 1390 +0.0% 1.00x
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 362 362 +0.0% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 1108 1120 +1.1% 0.99x
PrimsSplit 1099 1136 +3.4% 0.97x
QueueConcrete 1299 1300 +0.1% 1.00x
QueueGeneric 1116 1118 +0.2% 1.00x
RC4 162 162 +0.0% 1.00x
RGBHistogram 3488 3480 -0.2% 1.00x (?)
RGBHistogramOfObjects 26905 27081 +0.7% 0.99x (?)
RangeAssignment 340 337 -0.9% 1.01x
RangeIterationSigned 200 200 +0.0% 1.00x
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 992 986 -0.6% 1.01x (?)
RecursiveOwnedParameter 2348 2347 -0.0% 1.00x (?)
RemoveWhereFilterInts 46 45 -2.2% 1.02x
RemoveWhereFilterString 298 296 -0.7% 1.01x (?)
RemoveWhereFilterStrings 429 429 +0.0% 1.00x
RemoveWhereMoveInts 14 14 +0.0% 1.00x
RemoveWhereMoveStrings 521 521 +0.0% 1.00x
RemoveWhereQuadraticInts 1292 1286 -0.5% 1.00x
RemoveWhereQuadraticString 220 213 -3.2% 1.03x
RemoveWhereQuadraticStrings 2756 2752 -0.1% 1.00x (?)
RemoveWhereSwapInts 19 19 +0.0% 1.00x
RemoveWhereSwapStrings 847 847 +0.0% 1.00x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 17452 17400 -0.3% 1.00x
ReversedDictionary 266 267 +0.4% 1.00x (?)
RomanNumbers 112874 111262 -1.4% 1.01x (?)
SequenceAlgosAnySequence 11678 11656 -0.2% 1.00x
SequenceAlgosArray 1582 1586 +0.3% 1.00x (?)
SequenceAlgosContiguousArray 1582 1579 -0.2% 1.00x (?)
SequenceAlgosList 1351 1351 +0.0% 1.00x
SequenceAlgosRange 2577 2576 -0.0% 1.00x (?)
SequenceAlgosUnfoldSequence 1080 1079 -0.1% 1.00x (?)
SetExclusiveOr 5789 5952 +2.8% 0.97x (?)
SetExclusiveOr_OfObjects 13036 13063 +0.2% 1.00x (?)
SetIntersect 928 924 -0.4% 1.00x (?)
SetIntersect_OfObjects 2903 2907 +0.1% 1.00x (?)
SetIsSubsetOf 365 359 -1.6% 1.02x (?)
SetIsSubsetOf_OfObjects 488 488 +0.0% 1.00x
SetUnion 4895 4825 -1.4% 1.01x (?)
SetUnion_OfObjects 10553 10552 -0.0% 1.00x (?)
SevenBoom 1520 1530 +0.7% 0.99x (?)
Sim2DArray 418 417 -0.2% 1.00x
SortLargeExistentials 6767 6725 -0.6% 1.01x
SortLettersInPlace 1125 1122 -0.3% 1.00x
SortSortedStrings 1044 1044 +0.0% 1.00x
SortStrings 1876 1878 +0.1% 1.00x (?)
SortStringsUnicode 2695 2665 -1.1% 1.01x
StackPromo 21938 21945 +0.0% 1.00x (?)
StaticArray 9 9 +0.0% 1.00x
StrComplexWalk 1563 1563 +0.0% 1.00x
StrToInt 2173 2150 -1.1% 1.01x
StringAdder 4213 4334 +2.9% 0.97x
StringBuilder 1369 1383 +1.0% 0.99x
StringBuilderLong 1174 1128 -3.9% 1.04x (?)
StringComparison_abnormal 781 789 +1.0% 0.99x
StringComparison_ascii 1021 1020 -0.1% 1.00x (?)
StringComparison_emoji 775 761 -1.8% 1.02x
StringComparison_fastPrenormal 757 757 +0.0% 1.00x
StringComparison_latin1 589 589 +0.0% 1.00x
StringComparison_longSharedPrefix 903 899 -0.4% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 1518 1504 -0.9% 1.01x
StringComparison_slowerPrenormal 1630 1616 -0.9% 1.01x
StringComparison_zalgo 114989 115001 +0.0% 1.00x (?)
StringEdits 122802 122686 -0.1% 1.00x (?)
StringEnumRawValueInitialization 831 821 -1.2% 1.01x (?)
StringEqualPointerComparison 315 315 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 10 10 +0.0% 1.00x
StringHasPrefixAscii 1346 1345 -0.1% 1.00x (?)
StringHasPrefixUnicode 27643 27534 -0.4% 1.00x (?)
StringHasSuffixAscii 1489 1488 -0.1% 1.00x (?)
StringHasSuffixUnicode 84818 84659 -0.2% 1.00x (?)
StringInterpolation 11098 11053 -0.4% 1.00x (?)
StringInterpolationManySmallSegments 16841 16910 +0.4% 1.00x (?)
StringInterpolationSmall 8615 8592 -0.3% 1.00x (?)
StringMatch 7656 7646 -0.1% 1.00x (?)
StringRemoveDupes 1270 1237 -2.6% 1.03x (?)
StringUTF16Builder 2449 2411 -1.6% 1.02x (?)
StringUTF16SubstringBuilder 5027 5130 +2.0% 0.98x (?)
StringWalk 1494 1484 -0.7% 1.01x
StringWithCString 41369 43194 +4.4% 0.96x
StringWordBuilder 1774 1758 -0.9% 1.01x (?)
StringWordBuilderReservingCapacity 1325 1312 -1.0% 1.01x
SubstringEqualString 520 526 +1.2% 0.99x
SubstringEquatable 1350 1345 -0.4% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 69 69 +0.0% 1.00x
SuffixAnyCollection 31 31 +0.0% 1.00x
SuffixAnyCollectionLazy 22692 22453 -1.1% 1.01x (?)
SuffixAnySeqCRangeIter 4047 4050 +0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4047 4049 +0.0% 1.00x (?)
SuffixAnySeqCntRange 21 21 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 21 21 +0.0% 1.00x
SuffixAnySequence 5213 5206 -0.1% 1.00x (?)
SuffixAnySequenceLazy 5285 5270 -0.3% 1.00x (?)
SuffixCountableRange 12 12 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3809 3806 -0.1% 1.00x (?)
SuffixSequenceLazy 3794 3805 +0.3% 1.00x (?)
SumUsingReduce 102 102 +0.0% 1.00x
SumUsingReduceInto 97 97 +0.0% 1.00x
SuperChars 39980 41115 +2.8% 0.97x
TwoSum 1551 1541 -0.6% 1.01x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 271 271 +0.0% 1.00x
Walsh 405 405 +0.0% 1.00x
WordCountHistogramASCII 7500 7622 +1.6% 0.98x
WordCountHistogramUTF16 27302 28128 +3.0% 0.97x
WordCountUniqueASCII 2179 2190 +0.5% 0.99x (?)
XorLoop 401 407 +1.5% 0.99x

Unoptimized (Onone)

Regression (9)
TEST OLD NEW DELTA SPEEDUP
WordSplitASCII 11493 13118 +14.1% 0.88x (?)
CharacterPropertiesStashed 2349 2606 +10.9% 0.90x
NSError 710 785 +10.6% 0.90x (?)
ObjectiveCBridgeFromNSStringForced 2755 2989 +8.5% 0.92x
ObjectiveCBridgeStubFromArrayOfNSString 27908 30238 +8.3% 0.92x
WordCountUniqueUTF16 28217 30304 +7.4% 0.93x (?)
ObjectiveCBridgeFromNSArrayAnyObject 23256 24881 +7.0% 0.93x (?)
StringComparison_abnormal 1400 1494 +6.7% 0.94x (?)
Dictionary3OfObjects 2349 2504 +6.6% 0.94x (?)
Improvement (7)
TEST OLD NEW DELTA SPEEDUP
DictionarySwapOfObjects 23364 21229 -9.1% 1.10x
WordSplitUTF16 16422 15078 -8.2% 1.09x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 133013 123284 -7.3% 1.08x (?)
ArrayPlusEqualThreeElements 10038 9317 -7.2% 1.08x (?)
CharIndexing_korean_unicodeScalars_Backwards 414614 389217 -6.1% 1.07x (?)
MapReduceShortString 235 222 -5.5% 1.06x
ObjectiveCBridgeFromNSSetAnyObject 57206 54395 -4.9% 1.05x (?)
No Changes (369)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5159 5185 +0.5% 0.99x (?)
AnyHashableWithAClass 89463 89405 -0.1% 1.00x (?)
Array2D 633678 632287 -0.2% 1.00x
ArrayAppend 4558 4561 +0.1% 1.00x (?)
ArrayAppendArrayOfInt 871 867 -0.5% 1.00x (?)
ArrayAppendAscii 39267 39240 -0.1% 1.00x (?)
ArrayAppendFromGeneric 869 869 +0.0% 1.00x
ArrayAppendGenericStructs 1507 1505 -0.1% 1.00x (?)
ArrayAppendLatin1 64594 64064 -0.8% 1.01x (?)
ArrayAppendLazyMap 173651 173629 -0.0% 1.00x (?)
ArrayAppendOptionals 1502 1503 +0.1% 1.00x (?)
ArrayAppendRepeatCol 200985 196638 -2.2% 1.02x
ArrayAppendReserved 4279 4280 +0.0% 1.00x (?)
ArrayAppendSequence 147435 148983 +1.0% 0.99x
ArrayAppendStrings 15285 15333 +0.3% 1.00x
ArrayAppendToFromGeneric 872 874 +0.2% 1.00x (?)
ArrayAppendToGeneric 873 876 +0.3% 1.00x
ArrayAppendUTF16 63257 63226 -0.0% 1.00x (?)
ArrayInClass 6143 6147 +0.1% 1.00x (?)
ArrayLiteral 1795 1821 +1.4% 0.99x (?)
ArrayOfGenericPOD2 1071 1071 +0.0% 1.00x
ArrayOfGenericRef 10165 10483 +3.1% 0.97x
ArrayOfPOD 759 759 +0.0% 1.00x
ArrayOfRef 9344 9356 +0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 865 868 +0.3% 1.00x (?)
ArrayPlusEqualFiveElementCollection 242772 235121 -3.2% 1.03x (?)
ArrayPlusEqualSingleElementCollection 233277 232379 -0.4% 1.00x (?)
ArraySubscript 107061 106794 -0.2% 1.00x (?)
ArrayValueProp 3717 3671 -1.2% 1.01x
ArrayValueProp2 16622 16554 -0.4% 1.00x (?)
ArrayValueProp3 4172 4154 -0.4% 1.00x (?)
ArrayValueProp4 4115 4117 +0.0% 1.00x (?)
BinaryFloatingPointConversionFromBinaryInteger 5736 5510 -3.9% 1.04x
BinaryFloatingPointPropertiesBinade 85 86 +1.2% 0.99x
BinaryFloatingPointPropertiesNextUp 125 125 +0.0% 1.00x
BinaryFloatingPointPropertiesUlp 124 127 +2.4% 0.98x
BitCount 7711 7716 +0.1% 1.00x (?)
ByteSwap 8957 8976 +0.2% 1.00x (?)
COWTree 11808 12310 +4.3% 0.96x (?)
CSVParsing 2586395 2569153 -0.7% 1.01x
CSVParsingAlt 1323932 1342544 +1.4% 0.99x (?)
CSVParsingAltIndices 2258388 2270418 +0.5% 0.99x (?)
CStringLongAscii 4508 4564 +1.2% 0.99x
CStringLongNonAscii 2191 2188 -0.1% 1.00x (?)
CStringShortAscii 7507 7587 +1.1% 0.99x (?)
Calculator 1519 1513 -0.4% 1.00x
CaptureProp 252141 248642 -1.4% 1.01x
CharIndexing_ascii_unicodeScalars 366988 368632 +0.4% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 393594 394195 +0.2% 1.00x (?)
CharIndexing_chinese_unicodeScalars 277300 290000 +4.6% 0.96x (?)
CharIndexing_chinese_unicodeScalars_Backwards 297731 300736 +1.0% 0.99x (?)
CharIndexing_japanese_unicodeScalars 443616 439407 -0.9% 1.01x (?)
CharIndexing_japanese_unicodeScalars_Backwards 473974 483765 +2.1% 0.98x (?)
CharIndexing_korean_unicodeScalars 360599 352478 -2.3% 1.02x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 64359 66765 +3.7% 0.96x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 69497 69057 -0.6% 1.01x (?)
CharIndexing_punctuated_unicodeScalars 81646 82134 +0.6% 0.99x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 86132 86849 +0.8% 0.99x (?)
CharIndexing_russian_unicodeScalars 305698 312072 +2.1% 0.98x (?)
CharIndexing_russian_unicodeScalars_Backwards 330766 329592 -0.4% 1.00x (?)
CharIndexing_tweet_unicodeScalars 740885 719004 -3.0% 1.03x
CharIndexing_tweet_unicodeScalars_Backwards 784296 789336 +0.6% 0.99x (?)
CharIndexing_utf16_unicodeScalars 317782 305454 -3.9% 1.04x
CharIndexing_utf16_unicodeScalars_Backwards 325960 329348 +1.0% 0.99x (?)
CharIteration_ascii_unicodeScalars 156783 155856 -0.6% 1.01x (?)
CharIteration_ascii_unicodeScalars_Backwards 309213 308900 -0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars 120536 119363 -1.0% 1.01x
CharIteration_chinese_unicodeScalars_Backwards 231488 230735 -0.3% 1.00x (?)
CharIteration_japanese_unicodeScalars 188960 187893 -0.6% 1.01x (?)
CharIteration_japanese_unicodeScalars_Backwards 368392 366406 -0.5% 1.01x (?)
CharIteration_korean_unicodeScalars 154593 151897 -1.7% 1.02x (?)
CharIteration_korean_unicodeScalars_Backwards 300265 297302 -1.0% 1.01x (?)
CharIteration_punctuatedJapanese_unicodeScalars 28807 28080 -2.5% 1.03x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 54985 54599 -0.7% 1.01x (?)
CharIteration_punctuated_unicodeScalars 35535 35317 -0.6% 1.01x (?)
CharIteration_punctuated_unicodeScalars_Backwards 68938 67655 -1.9% 1.02x (?)
CharIteration_russian_unicodeScalars 133819 130972 -2.1% 1.02x (?)
CharIteration_russian_unicodeScalars_Backwards 259596 259044 -0.2% 1.00x (?)
CharIteration_tweet_unicodeScalars 310878 307596 -1.1% 1.01x (?)
CharIteration_tweet_unicodeScalars_Backwards 620996 608508 -2.0% 1.02x
CharIteration_utf16_unicodeScalars 132554 133101 +0.4% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 258705 255468 -1.3% 1.01x (?)
CharacterLiteralsLarge 5853 5880 +0.5% 1.00x (?)
CharacterLiteralsSmall 641 640 -0.2% 1.00x
CharacterPropertiesFetch 5551 5467 -1.5% 1.02x (?)
CharacterPropertiesPrecomputed 4627 4667 +0.9% 0.99x (?)
CharacterPropertiesStashedMemo 5426 5482 +1.0% 0.99x (?)
Chars 40547 40086 -1.1% 1.01x
ClassArrayGetter 982 984 +0.2% 1.00x
Combos 2367 2354 -0.5% 1.01x (?)
DictOfArraysToArrayOfDicts 3489 3512 +0.7% 0.99x (?)
Dictionary 2830 2874 +1.6% 0.98x (?)
Dictionary2 3060 3045 -0.5% 1.00x (?)
Dictionary2OfObjects 5964 5932 -0.5% 1.01x (?)
Dictionary3 1408 1414 +0.4% 1.00x (?)
Dictionary4 1717 1725 +0.5% 1.00x (?)
Dictionary4OfObjects 2261 2307 +2.0% 0.98x (?)
DictionaryBridge 2201 2268 +3.0% 0.97x (?)
DictionaryGroup 4696 4627 -1.5% 1.01x (?)
DictionaryGroupOfObjects 7601 7576 -0.3% 1.00x (?)
DictionaryLiteral 8944 8869 -0.8% 1.01x (?)
DictionaryOfObjects 6196 6206 +0.2% 1.00x (?)
DictionaryRemove 22465 21838 -2.8% 1.03x (?)
DictionaryRemoveOfObjects 56511 55271 -2.2% 1.02x (?)
DictionarySubscriptDefaultMutation 2228 2230 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutationArray 2479 2521 +1.7% 0.98x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9848 9778 -0.7% 1.01x (?)
DictionarySubscriptDefaultMutationOfObjects 6046 6122 +1.3% 0.99x (?)
DictionarySwap 6332 6302 -0.5% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 15199 15446 +1.6% 0.98x
DropFirstAnyCollectionLazy 109043 109420 +0.3% 1.00x (?)
DropFirstAnySeqCRangeIter 23666 23863 +0.8% 0.99x (?)
DropFirstAnySeqCRangeIterLazy 23753 23898 +0.6% 0.99x
DropFirstAnySeqCntRange 15087 15325 +1.6% 0.98x
DropFirstAnySeqCntRangeLazy 15199 15131 -0.4% 1.00x (?)
DropFirstAnySequence 11266 11078 -1.7% 1.02x
DropFirstAnySequenceLazy 11363 11071 -2.6% 1.03x
DropFirstArray 3982 3962 -0.5% 1.01x (?)
DropFirstArrayLazy 29020 29013 -0.0% 1.00x (?)
DropFirstCountableRange 311 312 +0.3% 1.00x
DropFirstCountableRangeLazy 30235 30261 +0.1% 1.00x (?)
DropFirstSequence 10491 10443 -0.5% 1.00x (?)
DropFirstSequenceLazy 10747 10439 -2.9% 1.03x
DropLastAnyCollection 5099 5153 +1.1% 0.99x (?)
DropLastAnyCollectionLazy 36783 37917 +3.1% 0.97x (?)
DropLastAnySeqCRangeIter 40765 40776 +0.0% 1.00x (?)
DropLastAnySeqCRangeIterLazy 40418 40330 -0.2% 1.00x (?)
DropLastAnySeqCntRange 5060 5096 +0.7% 0.99x (?)
DropLastAnySeqCntRangeLazy 5062 5069 +0.1% 1.00x (?)
DropLastAnySequence 29166 29138 -0.1% 1.00x (?)
DropLastAnySequenceLazy 29127 28998 -0.4% 1.00x
DropLastCountableRange 109 108 -0.9% 1.01x
DropLastCountableRangeLazy 10132 10441 +3.0% 0.97x
DropLastSequence 29033 28866 -0.6% 1.01x
DropLastSequenceLazy 29103 29923 +2.8% 0.97x (?)
DropWhileAnyCollection 19460 19429 -0.2% 1.00x (?)
DropWhileAnyCollectionLazy 22151 22317 +0.7% 0.99x
DropWhileAnySeqCRangeIter 24737 25366 +2.5% 0.98x
DropWhileAnySeqCRangeIterLazy 22662 22493 -0.7% 1.01x (?)
DropWhileAnySeqCntRange 19343 19401 +0.3% 1.00x
DropWhileAnySeqCntRangeLazy 22230 22162 -0.3% 1.00x (?)
DropWhileAnySequence 12805 12565 -1.9% 1.02x
DropWhileAnySequenceLazy 10985 10934 -0.5% 1.00x
DropWhileArrayLazy 15579 15519 -0.4% 1.00x
DropWhileCountableRange 4563 4656 +2.0% 0.98x
DropWhileCountableRangeLazy 21782 21751 -0.1% 1.00x (?)
DropWhileSequence 11958 11966 +0.1% 1.00x (?)
DropWhileSequenceLazy 10814 10403 -3.8% 1.04x
EqualStringSubstring 91 92 +1.1% 0.99x
EqualSubstringString 92 92 +0.0% 1.00x
EqualSubstringSubstring 96 93 -3.1% 1.03x
EqualSubstringSubstringGenericEquatable 97 98 +1.0% 0.99x
ErrorHandling 7392 7224 -2.3% 1.02x (?)
ExclusivityGlobal 189 188 -0.5% 1.01x
ExclusivityIndependent 71 71 +0.0% 1.00x
FilterEvenUsingReduce 3678 3663 -0.4% 1.00x (?)
FilterEvenUsingReduceInto 1946 1945 -0.1% 1.00x (?)
FrequenciesUsingReduce 11218 11195 -0.2% 1.00x (?)
FrequenciesUsingReduceInto 5626 5914 +5.1% 0.95x (?)
Hanoi 19997 20074 +0.4% 1.00x (?)
HashTest 22002 21981 -0.1% 1.00x (?)
Histogram 7401 7288 -1.5% 1.02x (?)
Integrate 841 839 -0.2% 1.00x
IterateData 5761 5699 -1.1% 1.01x (?)
Join 1123 1121 -0.2% 1.00x (?)
LazilyFilteredArrayContains 795555 798406 +0.4% 1.00x
LazilyFilteredArrays 1517344 1516246 -0.1% 1.00x (?)
LazilyFilteredRange 536978 541038 +0.8% 0.99x
LessSubstringSubstring 93 93 +0.0% 1.00x
LessSubstringSubstringGenericComparable 96 96 +0.0% 1.00x
LinkedList 32092 32126 +0.1% 1.00x
LuhnAlgoEager 4686 4719 +0.7% 0.99x (?)
LuhnAlgoLazy 4970 4974 +0.1% 1.00x (?)
MapReduce 26162 26224 +0.2% 1.00x (?)
MapReduceAnyCollection 26538 26652 +0.4% 1.00x (?)
MapReduceAnyCollectionShort 38361 37459 -2.4% 1.02x (?)
MapReduceClass 30850 30721 -0.4% 1.00x (?)
MapReduceClassShort 41588 41365 -0.5% 1.01x (?)
MapReduceLazyCollection 23443 23501 +0.2% 1.00x (?)
MapReduceLazyCollectionShort 34142 34208 +0.2% 1.00x (?)
MapReduceLazySequence 18531 18571 +0.2% 1.00x (?)
MapReduceSequence 30433 30287 -0.5% 1.00x
MapReduceShort 37779 37134 -1.7% 1.02x (?)
MapReduceString 1828 1828 +0.0% 1.00x
Memset 44146 44131 -0.0% 1.00x (?)
MonteCarloE 1148896 1146416 -0.2% 1.00x (?)
MonteCarloPi 5189698 5183962 -0.1% 1.00x
NSDictionaryCastToSwift 7140 6991 -2.1% 1.02x (?)
NSStringConversion 329 329 +0.0% 1.00x
NibbleSort 467089 459444 -1.6% 1.02x
NopDeinit 170835 170894 +0.0% 1.00x (?)
ObjectAllocation 1387 1375 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8668 8645 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 42389 42786 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38042 37584 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7894 7789 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 79767 81199 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSString 3073 3074 +0.0% 1.00x (?)
ObjectiveCBridgeStubDataAppend 4487 4460 -0.6% 1.01x (?)
ObjectiveCBridgeStubDateMutation 602 601 -0.2% 1.00x
ObjectiveCBridgeStubFromNSDate 4762 4763 +0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSString 889 885 -0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 193 193 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2962 2931 -1.0% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 15912 16353 +2.8% 0.97x (?)
ObjectiveCBridgeStubToArrayOfNSString 28823 29283 +1.6% 0.98x (?)
ObjectiveCBridgeStubToNSDate 15663 16142 +3.1% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3492 3501 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSString 1571 1569 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 150 150 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 340453 342319 +0.5% 0.99x (?)
ObjectiveCBridgeStubURLAppendPathRef 333495 350259 +5.0% 0.95x (?)
ObjectiveCBridgeToNSArray 29469 29789 +1.1% 0.99x (?)
ObjectiveCBridgeToNSDictionary 53769 51549 -4.1% 1.04x (?)
ObjectiveCBridgeToNSSet 42341 41650 -1.6% 1.02x (?)
ObjectiveCBridgeToNSString 1354 1345 -0.7% 1.01x
ObserverClosure 6376 6351 -0.4% 1.00x (?)
ObserverForwarderStruct 4343 4377 +0.8% 0.99x (?)
ObserverPartiallyAppliedMethod 7870 7893 +0.3% 1.00x (?)
ObserverUnappliedMethod 7995 7999 +0.1% 1.00x (?)
OpenClose 572 568 -0.7% 1.01x
PartialApplyDynamicType 42353 42185 -0.4% 1.00x (?)
Phonebook 20546 20587 +0.2% 1.00x (?)
PointerArithmetics 123146 123197 +0.0% 1.00x (?)
PolymorphicCalls 6035 6006 -0.5% 1.00x (?)
PopFrontArray 4696 4723 +0.6% 0.99x (?)
PopFrontArrayGeneric 5820 5742 -1.3% 1.01x
PopFrontUnsafePointer 10652 11074 +4.0% 0.96x (?)
PrefixAnyCollection 15490 15467 -0.1% 1.00x (?)
PrefixAnyCollectionLazy 111836 109322 -2.2% 1.02x (?)
PrefixAnySeqCRangeIter 19017 19147 +0.7% 0.99x (?)
PrefixAnySeqCRangeIterLazy 19091 19117 +0.1% 1.00x (?)
PrefixAnySeqCntRange 15104 15214 +0.7% 0.99x (?)
PrefixAnySeqCntRangeLazy 15192 15281 +0.6% 0.99x
PrefixAnySequence 9249 9279 +0.3% 1.00x (?)
PrefixAnySequenceLazy 9283 9326 +0.5% 1.00x (?)
PrefixArray 3971 3971 +0.0% 1.00x
PrefixArrayLazy 29184 29021 -0.6% 1.01x (?)
PrefixCountableRange 311 311 +0.0% 1.00x
PrefixCountableRangeLazy 30322 30426 +0.3% 1.00x (?)
PrefixSequence 8770 8738 -0.4% 1.00x
PrefixSequenceLazy 8657 8669 +0.1% 1.00x (?)
PrefixWhileAnyCollection 27979 28116 +0.5% 1.00x (?)
PrefixWhileAnyCollectionLazy 18172 18481 +1.7% 0.98x
PrefixWhileAnySeqCRangeIter 35213 35063 -0.4% 1.00x
PrefixWhileAnySeqCRangeIterLazy 18303 18165 -0.8% 1.01x (?)
PrefixWhileAnySeqCntRange 28060 27999 -0.2% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 18074 18435 +2.0% 0.98x (?)
PrefixWhileAnySequence 26631 26654 +0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 10073 10112 +0.4% 1.00x (?)
PrefixWhileArray 11617 11579 -0.3% 1.00x
PrefixWhileArrayLazy 13849 13836 -0.1% 1.00x (?)
PrefixWhileCountableRange 12799 13145 +2.7% 0.97x
PrefixWhileCountableRangeLazy 18066 18431 +2.0% 0.98x
PrefixWhileSequence 25967 25904 -0.2% 1.00x
PrefixWhileSequenceLazy 9765 9729 -0.4% 1.00x
Prims 10114 10205 +0.9% 0.99x (?)
PrimsSplit 10185 10178 -0.1% 1.00x (?)
QueueConcrete 14823 14858 +0.2% 1.00x
QueueGeneric 18909 19045 +0.7% 0.99x
RC4 17914 17848 -0.4% 1.00x
RGBHistogram 29804 28862 -3.2% 1.03x (?)
RGBHistogramOfObjects 103041 104129 +1.1% 0.99x (?)
RangeAssignment 2363 2323 -1.7% 1.02x (?)
RangeIterationSigned 15252 15224 -0.2% 1.00x
RangeIterationSigned64 39532 39736 +0.5% 0.99x (?)
RangeIterationUnsigned 36122 36025 -0.3% 1.00x (?)
RangeReplaceableCollectionPlusDefault 8037 7805 -2.9% 1.03x (?)
RecursiveOwnedParameter 7968 7964 -0.1% 1.00x (?)
RemoveWhereFilterInts 2174 2204 +1.4% 0.99x
RemoveWhereFilterString 1512 1511 -0.1% 1.00x (?)
RemoveWhereFilterStrings 3007 3029 +0.7% 0.99x
RemoveWhereMoveInts 3404 3400 -0.1% 1.00x
RemoveWhereMoveStrings 4050 4051 +0.0% 1.00x (?)
RemoveWhereQuadraticInts 8080 8122 +0.5% 0.99x
RemoveWhereQuadraticString 2325 2331 +0.3% 1.00x (?)
RemoveWhereQuadraticStrings 9683 9747 +0.7% 0.99x (?)
RemoveWhereSwapInts 6034 6032 -0.0% 1.00x (?)
RemoveWhereSwapStrings 6725 6720 -0.1% 1.00x (?)
ReversedArray 13694 13681 -0.1% 1.00x (?)
ReversedBidirectional 44401 44557 +0.4% 1.00x (?)
ReversedDictionary 24489 24461 -0.1% 1.00x (?)
RomanNumbers 1254436 1229700 -2.0% 1.02x
SequenceAlgosAnySequence 12928 12888 -0.3% 1.00x (?)
SequenceAlgosArray 817864 810185 -0.9% 1.01x
SequenceAlgosContiguousArray 349106 345930 -0.9% 1.01x
SequenceAlgosList 8229 8259 +0.4% 1.00x
SequenceAlgosRange 1292310 1276442 -1.2% 1.01x
SequenceAlgosUnfoldSequence 5769 5838 +1.2% 0.99x (?)
SetExclusiveOr 20633 21027 +1.9% 0.98x (?)
SetExclusiveOr_OfObjects 48408 46457 -4.0% 1.04x (?)
SetIntersect 9672 9732 +0.6% 0.99x
SetIntersect_OfObjects 14031 14063 +0.2% 1.00x (?)
SetIsSubsetOf 1469 1475 +0.4% 1.00x (?)
SetIsSubsetOf_OfObjects 1780 1778 -0.1% 1.00x (?)
SetUnion 14927 14238 -4.6% 1.05x (?)
SetUnion_OfObjects 34398 33068 -3.9% 1.04x (?)
SevenBoom 1644 1622 -1.3% 1.01x (?)
Sim2DArray 43418 43421 +0.0% 1.00x (?)
SortLargeExistentials 15793 15781 -0.1% 1.00x (?)
SortLettersInPlace 2774 2739 -1.3% 1.01x (?)
SortSortedStrings 1081 1081 +0.0% 1.00x
SortStrings 2119 2125 +0.3% 1.00x
SortStringsUnicode 2964 2889 -2.5% 1.03x
StackPromo 90437 88848 -1.8% 1.02x (?)
StaticArray 2676 2673 -0.1% 1.00x (?)
StrComplexWalk 6237 6227 -0.2% 1.00x (?)
StrToInt 54280 54255 -0.0% 1.00x (?)
StringAdder 4781 4715 -1.4% 1.01x (?)
StringBuilder 6792 6822 +0.4% 1.00x (?)
StringBuilderLong 2751 2758 +0.3% 1.00x (?)
StringBuilderWithLongSubstring 4735 4710 -0.5% 1.01x (?)
StringComparison_ascii 9900 9835 -0.7% 1.01x
StringComparison_emoji 2110 2111 +0.0% 1.00x (?)
StringComparison_fastPrenormal 5354 5333 -0.4% 1.00x
StringComparison_latin1 4173 4138 -0.8% 1.01x
StringComparison_longSharedPrefix 2526 2593 +2.7% 0.97x (?)
StringComparison_nonBMPSlowestPrenormal 3871 3899 +0.7% 0.99x (?)
StringComparison_slowerPrenormal 4389 4373 -0.4% 1.00x (?)
StringComparison_zalgo 117129 117430 +0.3% 1.00x (?)
StringEdits 345883 351160 +1.5% 0.98x (?)
StringEnumRawValueInitialization 17843 17809 -0.2% 1.00x (?)
StringEqualPointerComparison 3746 3895 +4.0% 0.96x (?)
StringFromLongWholeSubstring 22 23 +4.5% 0.96x
StringFromLongWholeSubstringGeneric 202 206 +2.0% 0.98x (?)
StringHasPrefixAscii 3086 3090 +0.1% 1.00x
StringHasPrefixUnicode 29161 29037 -0.4% 1.00x
StringHasSuffixAscii 3174 3175 +0.0% 1.00x
StringHasSuffixUnicode 86403 86300 -0.1% 1.00x (?)
StringInterpolation 13854 14420 +4.1% 0.96x (?)
StringInterpolationManySmallSegments 20361 20274 -0.4% 1.00x (?)
StringInterpolationSmall 12386 12001 -3.1% 1.03x (?)
StringMatch 32988 33881 +2.7% 0.97x (?)
StringRemoveDupes 1466 1460 -0.4% 1.00x (?)
StringUTF16Builder 7657 7769 +1.5% 0.99x (?)
StringUTF16SubstringBuilder 21776 21513 -1.2% 1.01x (?)
StringWalk 13177 13175 -0.0% 1.00x (?)
StringWithCString 37670 37702 +0.1% 1.00x (?)
StringWordBuilder 2631 2598 -1.3% 1.01x (?)
StringWordBuilderReservingCapacity 2278 2255 -1.0% 1.01x
SubstringComparable 2092 2092 +0.0% 1.00x
SubstringEqualString 2097 2100 +0.1% 1.00x (?)
SubstringEquatable 6593 6610 +0.3% 1.00x (?)
SubstringFromLongString 24 24 +0.0% 1.00x
SubstringFromLongStringGeneric 103 106 +2.9% 0.97x
SuffixAnyCollection 5111 5152 +0.8% 0.99x
SuffixAnyCollectionLazy 36279 36427 +0.4% 1.00x (?)
SuffixAnySeqCRangeIter 36728 36635 -0.3% 1.00x
SuffixAnySeqCRangeIterLazy 35929 36337 +1.1% 0.99x
SuffixAnySeqCntRange 5076 5095 +0.4% 1.00x (?)
SuffixAnySeqCntRangeLazy 5049 5053 +0.1% 1.00x (?)
SuffixAnySequence 25289 25231 -0.2% 1.00x (?)
SuffixAnySequenceLazy 25259 25146 -0.4% 1.00x (?)
SuffixCountableRange 107 107 +0.0% 1.00x
SuffixCountableRangeLazy 10115 10247 +1.3% 0.99x
SuffixSequence 25039 25011 -0.1% 1.00x (?)
SuffixSequenceLazy 25164 25326 +0.6% 0.99x (?)
SumUsingReduce 171170 174781 +2.1% 0.98x (?)
SumUsingReduceInto 162966 163238 +0.2% 1.00x (?)
SuperChars 125348 125084 -0.2% 1.00x (?)
TwoSum 4996 5044 +1.0% 0.99x (?)
TypeFlood 190 198 +4.2% 0.96x (?)
UTF8Decode 31494 31495 +0.0% 1.00x (?)
Walsh 12059 12098 +0.3% 1.00x (?)
WordCountHistogramASCII 48838 47437 -2.9% 1.03x (?)
WordCountHistogramUTF16 76404 78141 +2.3% 0.98x (?)
WordCountUniqueASCII 8592 8654 +0.7% 0.99x (?)
XorLoop 23237 23231 -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

@milseman
Copy link
Member

@swift-ci please smoke test

2 similar comments
@milseman
Copy link
Member

@swift-ci please smoke test

@CodaFi
Copy link
Contributor

CodaFi commented Nov 18, 2019

@swift-ci please smoke test

@CodaFi
Copy link
Contributor

CodaFi commented Nov 18, 2019

@swift-ci please smoke benchmark

@jckarter
Copy link
Contributor

I suspect the primary benefit would be in startup time and memory usage, since this should make it so that print("...") doesn't warm up the conformance cache. I don't think our current benchmark suite measures that well, though.

@swift-ci
Copy link
Contributor

Performance: -O

Regression OLD NEW DELTA RATIO
NSStringConversion.MutableCopy.UTF8 799 914 +14.4% 0.87x (?)
NSStringConversion.MutableCopy.Rebridge.UTF8 708 792 +11.9% 0.89x (?)
StringUTF16Builder 350 380 +8.6% 0.92x (?)
InsertCharacterEndIndex 156 168 +7.7% 0.93x (?)

Code size: -O

Performance: -Osize

Regression OLD NEW DELTA RATIO
NSStringConversion.MutableCopy.Rebridge.UTF8 714 805 +12.7% 0.89x (?)

Code size: -Osize

Performance: -Onone

Regression OLD NEW DELTA RATIO
ArrayAppendAscii 24752 29988 +21.2% 0.83x (?)
ArrayAppendLatin1 24786 30022 +21.1% 0.83x (?)
ArrayAppendUTF16 24786 29988 +21.0% 0.83x (?)
StringBuilderWithLongSubstring 2510 3020 +20.3% 0.83x (?)
Histogram 7716 9227 +19.6% 0.84x (?)
FindString.Rec3.String 925 1048 +13.3% 0.88x
NSStringConversion.MutableCopy.Rebridge.UTF8 728 821 +12.8% 0.89x (?)
FlattenListFlatMap 282968 312570 +10.5% 0.91x (?)
FindString.Rec3.Substring 900 988 +9.8% 0.91x (?)
DictionaryGroup 6614 7217 +9.1% 0.92x (?)
StringUTF16SubstringBuilder 17060 18580 +8.9% 0.92x (?)
CharIteration_japanese_unicodeScalars_Backwards 435880 473720 +8.7% 0.92x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 62320 67600 +8.5% 0.92x (?)
CharIteration_ascii_unicodeScalars_Backwards 360600 389920 +8.1% 0.92x (?)
CharIteration_chinese_unicodeScalars_Backwards 275080 296840 +7.9% 0.93x (?)
CharIteration_russian_unicodeScalars_Backwards 303600 327560 +7.9% 0.93x (?)
CharIteration_tweet_unicodeScalars_Backwards 716400 771880 +7.7% 0.93x (?)
CharIteration_korean_unicodeScalars_Backwards 355920 383440 +7.7% 0.93x (?)

Code size: -swiftlibs

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 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

@CodaFi
Copy link
Contributor

CodaFi commented Nov 19, 2019

Hmph. Yeah, this looks like noise.

@milseman
Copy link
Member

Do we have a benchmark (or should we write one) that will demonstrate the improvement?

@jckarter
Copy link
Contributor

We might be able to rig something up that captures the warmup time aspect. We could definitely do with more memory usage benchmarks, but that might need more infrastructure.

@CodaFi
Copy link
Contributor

CodaFi commented Apr 10, 2020

I've filed https://bugs.swift.org/browse/SR-12572 about the benchmark infrastructure

@swift-ci test

@CodaFi
Copy link
Contributor

CodaFi commented Apr 12, 2020

@CodaFi CodaFi merged commit 763875a into swiftlang:master Apr 12, 2020
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.

5 participants