Skip to content

[Callee analysis] Consider witness thunks when known. #12334

New issue

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

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

Already on GitHub? Sign in to your account

Merged

Conversation

DougGregor
Copy link
Member

Compute the callees of the witness thunks in a witness table more
accurately. Patch from rdar://problem/23382111, originally written by
Mark Lacey a while back, polished up/tested by me.

Compute the callees of the witness thunks in a witness table more
accurately. Patch from rdar://problem/23382111, originally written by
Mark Lacey a while back, polished up/tested by me.
@DougGregor DougGregor requested a review from rudkx October 8, 2017 06:22
@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@DougGregor
Copy link
Member Author

@swift-ci please clean smoke test Linux

@DougGregor
Copy link
Member Author

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Oct 9, 2017

Build comment file:

Optimized (O)

Regression (3)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubFromNSStringRef 151 230 +52.3% 0.66x
ProtocolDispatch 3038 3408 +12.2% 0.89x
Calculator 33 35 +6.1% 0.94x
Improvement (4)
TEST OLD NEW DELTA SPEEDUP
ProtocolDispatch2 170 143 -15.9% 1.19x
ArrayAppendAscii 20827 19003 -8.8% 1.10x
RangeAssignment 384 357 -7.0% 1.08x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 97277 92555 -4.9% 1.05x
No Changes (326)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2940 2949 +0.3% 1.00x (?)
AnyHashableWithAClass 66964 66896 -0.1% 1.00x (?)
Array2D 1946 1940 -0.3% 1.00x
ArrayAppend 1082 1083 +0.1% 1.00x (?)
ArrayAppendArrayOfInt 598 599 +0.2% 1.00x
ArrayAppendFromGeneric 599 599 +0.0% 1.00x
ArrayAppendGenericStructs 1233 1234 +0.1% 1.00x (?)
ArrayAppendLatin1 44586 45435 +1.9% 0.98x (?)
ArrayAppendLazyMap 990 989 -0.1% 1.00x (?)
ArrayAppendOptionals 1229 1236 +0.6% 0.99x (?)
ArrayAppendRepeatCol 999 999 +0.0% 1.00x
ArrayAppendReserved 847 847 +0.0% 1.00x
ArrayAppendSequence 911 911 +0.0% 1.00x
ArrayAppendStrings 15117 15129 +0.1% 1.00x (?)
ArrayAppendToFromGeneric 599 600 +0.2% 1.00x
ArrayAppendToGeneric 599 599 +0.0% 1.00x
ArrayAppendUTF16 42043 41083 -2.3% 1.02x
ArrayInClass 61 62 +1.6% 0.98x (?)
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 230 230 +0.0% 1.00x
ArrayOfGenericRef 3979 3974 -0.1% 1.00x (?)
ArrayOfPOD 176 176 +0.0% 1.00x
ArrayOfRef 3907 3903 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 598 599 +0.2% 1.00x (?)
ArrayPlusEqualFiveElementCollection 4782 4784 +0.0% 1.00x (?)
ArrayPlusEqualSingleElementCollection 1080 1082 +0.2% 1.00x (?)
ArrayPlusEqualThreeElements 1621 1622 +0.1% 1.00x (?)
ArraySetElement 431 443 +2.8% 0.97x (?)
ArraySubscript 1481 1478 -0.2% 1.00x (?)
ArrayValueProp 6 6 +0.0% 1.00x
ArrayValueProp2 6 6 +0.0% 1.00x
ArrayValueProp3 6 6 +0.0% 1.00x
ArrayValueProp4 6 6 +0.0% 1.00x
BitCount 144 144 +0.0% 1.00x
ByteSwap 113 113 +0.0% 1.00x
CStringLongAscii 4875 4696 -3.7% 1.04x (?)
CStringLongNonAscii 2209 2170 -1.8% 1.02x
CStringShortAscii 4849 4847 -0.0% 1.00x (?)
CaptureProp 4151 4255 +2.5% 0.98x
CharIndexing_ascii_unicodeScalars 13447 13465 +0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 11267 11268 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 10196 10199 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 8555 8544 -0.1% 1.00x
CharIndexing_japanese_unicodeScalars 16093 16091 -0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 13480 13477 -0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars 13061 13070 +0.1% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 10935 10932 -0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2507 2507 +0.0% 1.00x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2097 2096 -0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 3076 3079 +0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 2607 2608 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars 11202 11202 +0.0% 1.00x
CharIndexing_russian_unicodeScalars_Backwards 9399 9398 -0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 26507 26503 -0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 22165 22160 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars 81002 80980 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 60751 60756 +0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars 15612 15222 -2.5% 1.03x
CharIteration_ascii_unicodeScalars_Backwards 16565 16564 -0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars 11817 11518 -2.5% 1.03x
CharIteration_chinese_unicodeScalars_Backwards 12541 12541 +0.0% 1.00x
CharIteration_japanese_unicodeScalars 18677 18223 -2.4% 1.02x (?)
CharIteration_japanese_unicodeScalars_Backwards 19841 19834 -0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 15134 14747 -2.6% 1.03x
CharIteration_korean_unicodeScalars_Backwards 16060 16064 +0.0% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 2833 2769 -2.3% 1.02x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2980 2980 +0.0% 1.00x
CharIteration_punctuated_unicodeScalars 3538 3451 -2.5% 1.03x
CharIteration_punctuated_unicodeScalars_Backwards 3736 3736 +0.0% 1.00x
CharIteration_russian_unicodeScalars 12995 12669 -2.5% 1.03x
CharIteration_russian_unicodeScalars_Backwards 13797 13796 -0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars 30843 29999 -2.7% 1.03x
CharIteration_tweet_unicodeScalars_Backwards 32756 32753 -0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars 79623 78415 -1.5% 1.02x
CharIteration_utf16_unicodeScalars_Backwards 98016 98046 +0.0% 1.00x (?)
CharacterLiteralsLarge 5954 5959 +0.1% 1.00x (?)
CharacterLiteralsSmall 404 404 +0.0% 1.00x
Chars 427 427 +0.0% 1.00x
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 184 184 +0.0% 1.00x
Dictionary 572 560 -2.1% 1.02x
Dictionary2 1888 1892 +0.2% 1.00x (?)
Dictionary2OfObjects 3295 3310 +0.5% 1.00x
Dictionary3 468 470 +0.4% 1.00x
Dictionary3OfObjects 842 841 -0.1% 1.00x
DictionaryBridge 2544 2505 -1.5% 1.02x (?)
DictionaryGroup 276 278 +0.7% 0.99x (?)
DictionaryGroupOfObjects 1798 1797 -0.1% 1.00x (?)
DictionaryLiteral 1485 1483 -0.1% 1.00x (?)
DictionaryOfObjects 2273 2269 -0.2% 1.00x (?)
DictionaryRemove 2499 2511 +0.5% 1.00x (?)
DictionaryRemoveOfObjects 24247 24050 -0.8% 1.01x (?)
DictionarySwap 422 414 -1.9% 1.02x
DictionarySwapOfObjects 7420 7473 +0.7% 0.99x (?)
DropFirstAnyCollection 55 55 +0.0% 1.00x
DropFirstAnyCollectionLazy 76386 75795 -0.8% 1.01x
DropFirstAnySeqCRangeIter 27823 27776 -0.2% 1.00x
DropFirstAnySeqCRangeIterLazy 27784 27801 +0.1% 1.00x (?)
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 6238 6249 +0.2% 1.00x (?)
DropFirstAnySequenceLazy 6237 6263 +0.4% 1.00x
DropFirstArray 30 30 +0.0% 1.00x
DropFirstArrayLazy 30 30 +0.0% 1.00x
DropFirstCountableRange 18 18 +0.0% 1.00x
DropFirstCountableRangeLazy 19 19 +0.0% 1.00x
DropFirstSequence 2019 2019 +0.0% 1.00x
DropFirstSequenceLazy 1944 1945 +0.1% 1.00x
DropLastAnyCollection 21 21 +0.0% 1.00x
DropLastAnyCollectionLazy 25345 25299 -0.2% 1.00x (?)
DropLastAnySeqCRangeIter 4703 4706 +0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4704 4707 +0.1% 1.00x (?)
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6724 6714 -0.1% 1.00x (?)
DropLastAnySequenceLazy 6678 6677 -0.0% 1.00x
DropLastArray 10 10 +0.0% 1.00x
DropLastArrayLazy 10 10 +0.0% 1.00x
DropLastCountableRange 6 6 +0.0% 1.00x
DropLastCountableRangeLazy 6 6 +0.0% 1.00x
DropLastSequence 608 602 -1.0% 1.01x
DropLastSequenceLazy 608 603 -0.8% 1.01x
DropWhileAnyCollection 68 68 +0.0% 1.00x
DropWhileAnyCollectionLazy 89 89 +0.0% 1.00x
DropWhileAnySeqCRangeIter 22443 22320 -0.5% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 90 90 +0.0% 1.00x
DropWhileAnySeqCntRange 63 63 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 90 90 +0.0% 1.00x
DropWhileAnySequence 7299 7308 +0.1% 1.00x (?)
DropWhileAnySequenceLazy 1933 1933 +0.0% 1.00x
DropWhileArray 43 43 +0.0% 1.00x
DropWhileArrayLazy 82 82 +0.0% 1.00x
DropWhileCountableRange 19 19 +0.0% 1.00x
DropWhileCountableRangeLazy 70 70 +0.0% 1.00x
DropWhileSequence 1622 1611 -0.7% 1.01x (?)
DropWhileSequenceLazy 47 47 +0.0% 1.00x
EqualStringSubstring 388 390 +0.5% 0.99x
EqualSubstringString 387 390 +0.8% 0.99x
EqualSubstringSubstring 388 391 +0.8% 0.99x
EqualSubstringSubstringGenericEquatable 391 392 +0.3% 1.00x
ErrorHandling 2074 2039 -1.7% 1.02x (?)
ExclusivityGlobal 3 3 +0.0% 1.00x
ExclusivityInMatSet 18 18 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1297 1306 +0.7% 0.99x (?)
FilterEvenUsingReduceInto 147 146 -0.7% 1.01x (?)
FrequenciesUsingReduce 7432 7456 +0.3% 1.00x
FrequenciesUsingReduceInto 4154 4138 -0.4% 1.00x
Hanoi 3505 3529 +0.7% 0.99x
HashTest 1644 1640 -0.2% 1.00x (?)
Histogram 276 277 +0.4% 1.00x
Integrate 267 267 +0.0% 1.00x
IterateData 1378 1382 +0.3% 1.00x
Join 387 390 +0.8% 0.99x
LazilyFilteredArrays 65545 65649 +0.2% 1.00x (?)
LazilyFilteredRange 3630 3629 -0.0% 1.00x (?)
LessSubstringSubstring 389 391 +0.5% 0.99x
LessSubstringSubstringGenericComparable 390 392 +0.5% 0.99x
LinkedList 7030 7030 +0.0% 1.00x
MapReduce 360 361 +0.3% 1.00x (?)
MapReduceAnyCollection 362 362 +0.0% 1.00x
MapReduceAnyCollectionShort 2105 2113 +0.4% 1.00x
MapReduceClass 3072 3066 -0.2% 1.00x
MapReduceClassShort 4542 4540 -0.0% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 36 36 +0.0% 1.00x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 443 441 -0.5% 1.00x (?)
MapReduceShort 1987 1992 +0.3% 1.00x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 104 100 -3.8% 1.04x
Memset 235 235 +0.0% 1.00x
MonteCarloE 10367 10363 -0.0% 1.00x (?)
MonteCarloPi 44013 44003 -0.0% 1.00x (?)
NSDictionaryCastToSwift 5435 5368 -1.2% 1.01x (?)
NSError 315 303 -3.8% 1.04x (?)
NSStringConversion 371 372 +0.3% 1.00x (?)
NopDeinit 21395 21387 -0.0% 1.00x (?)
ObjectAllocation 179 179 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 23250 23072 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3492 3493 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 39724 40763 +2.6% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 33591 33688 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 123775 123854 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5310 5306 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 101597 99526 -2.0% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 65500 65000 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4261 4234 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 67851 67526 -0.5% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 68024 67794 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSString 987 987 +0.0% 1.00x
ObjectiveCBridgeFromNSStringForced 1838 1855 +0.9% 0.99x (?)
ObjectiveCBridgeStubDataAppend 3990 3864 -3.2% 1.03x (?)
ObjectiveCBridgeStubDateAccess 182 181 -0.5% 1.01x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 24928 25490 +2.3% 0.98x (?)
ObjectiveCBridgeStubFromNSDate 3596 3553 -1.2% 1.01x
ObjectiveCBridgeStubFromNSDateRef 4129 4158 +0.7% 0.99x
ObjectiveCBridgeStubFromNSString 559 560 +0.2% 1.00x (?)
ObjectiveCBridgeStubNSDataAppend 2482 2425 -2.3% 1.02x (?)
ObjectiveCBridgeStubNSDateMutationRef 12916 12974 +0.4% 1.00x (?)
ObjectiveCBridgeStubNSDateRefAccess 313 312 -0.3% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 29733 30070 +1.1% 0.99x
ObjectiveCBridgeStubToNSDate 14737 15193 +3.1% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3317 3239 -2.4% 1.02x (?)
ObjectiveCBridgeStubToNSString 1503 1501 -0.1% 1.00x
ObjectiveCBridgeStubToNSStringRef 116 116 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 220593 215100 -2.5% 1.03x
ObjectiveCBridgeStubURLAppendPathRef 221838 221210 -0.3% 1.00x (?)
ObjectiveCBridgeToNSArray 29535 29875 +1.2% 0.99x
ObjectiveCBridgeToNSDictionary 47723 47217 -1.1% 1.01x (?)
ObjectiveCBridgeToNSSet 40450 40324 -0.3% 1.00x (?)
ObjectiveCBridgeToNSString 1267 1269 +0.2% 1.00x
ObserverClosure 2322 2322 +0.0% 1.00x
ObserverForwarderStruct 1134 1141 +0.6% 0.99x (?)
ObserverPartiallyAppliedMethod 3792 3789 -0.1% 1.00x (?)
ObserverUnappliedMethod 2686 2688 +0.1% 1.00x (?)
OpenClose 3 3 +0.0% 1.00x
Phonebook 5947 5929 -0.3% 1.00x
PolymorphicCalls 17 17 +0.0% 1.00x
PopFrontArray 1278 1280 +0.2% 1.00x (?)
PopFrontArrayGeneric 1278 1279 +0.1% 1.00x
PopFrontUnsafePointer 6094 6093 -0.0% 1.00x (?)
PrefixAnyCollection 55 55 +0.0% 1.00x
PrefixAnyCollectionLazy 75983 76222 +0.3% 1.00x (?)
PrefixAnySeqCRangeIter 21809 21730 -0.4% 1.00x
PrefixAnySeqCRangeIterLazy 21808 21749 -0.3% 1.00x
PrefixAnySeqCntRange 50 50 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 50 50 +0.0% 1.00x
PrefixAnySequence 5417 5439 +0.4% 1.00x (?)
PrefixAnySequenceLazy 5462 5417 -0.8% 1.01x
PrefixArray 30 30 +0.0% 1.00x
PrefixArrayLazy 30 30 +0.0% 1.00x
PrefixCountableRange 19 19 +0.0% 1.00x
PrefixCountableRangeLazy 18 18 +0.0% 1.00x
PrefixSequence 1515 1515 +0.0% 1.00x
PrefixSequenceLazy 1459 1460 +0.1% 1.00x
PrefixWhileAnyCollection 93 93 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 66 66 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 13197 13031 -1.3% 1.01x (?)
PrefixWhileAnySeqCRangeIterLazy 66 66 +0.0% 1.00x
PrefixWhileAnySeqCntRange 88 88 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 66 66 +0.0% 1.00x
PrefixWhileAnySequence 15123 15086 -0.2% 1.00x (?)
PrefixWhileAnySequenceLazy 1436 1436 +0.0% 1.00x
PrefixWhileArray 68 68 +0.0% 1.00x
PrefixWhileArrayLazy 37 37 +0.0% 1.00x
PrefixWhileCountableRange 29 29 +0.0% 1.00x
PrefixWhileCountableRangeLazy 18 18 +0.0% 1.00x
PrefixWhileSequence 363 356 -1.9% 1.02x
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 766 766 +0.0% 1.00x
PrimsSplit 785 785 +0.0% 1.00x
RC4 158 158 +0.0% 1.00x
RGBHistogram 2179 2184 +0.2% 1.00x
RGBHistogramOfObjects 23321 23336 +0.1% 1.00x (?)
RangeIterationSigned 151 151 +0.0% 1.00x
RangeIterationSigned64 151 151 +0.0% 1.00x
RangeIterationUnsigned 135 136 +0.7% 0.99x (?)
RecursiveOwnedParameter 2307 2305 -0.1% 1.00x (?)
ReversedArray 45 45 +0.0% 1.00x
ReversedBidirectional 29281 29247 -0.1% 1.00x (?)
ReversedDictionary 106 106 +0.0% 1.00x
SetExclusiveOr 2827 2822 -0.2% 1.00x (?)
SetExclusiveOr_OfObjects 8517 8325 -2.3% 1.02x (?)
SetIntersect 271 273 +0.7% 0.99x
SetIntersect_OfObjects 1708 1706 -0.1% 1.00x (?)
SetIsSubsetOf 294 294 +0.0% 1.00x
SetIsSubsetOf_OfObjects 366 366 +0.0% 1.00x
SetUnion 2534 2551 +0.7% 0.99x (?)
SetUnion_OfObjects 7075 6903 -2.4% 1.02x
SevenBoom 1572 1582 +0.6% 0.99x (?)
Sim2DArray 450 450 +0.0% 1.00x
SortLargeExistentials 8349 8382 +0.4% 1.00x
SortLettersInPlace 1140 1139 -0.1% 1.00x (?)
SortSortedStrings 844 840 -0.5% 1.00x (?)
SortStrings 1630 1625 -0.3% 1.00x
SortStringsUnicode 7973 7967 -0.1% 1.00x (?)
StackPromo 22493 22534 +0.2% 1.00x
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1648 1648 +0.0% 1.00x
StrToInt 1843 1842 -0.1% 1.00x (?)
StringAdder 3526 3496 -0.9% 1.01x (?)
StringBuilder 992 1001 +0.9% 0.99x
StringBuilderLong 933 943 +1.1% 0.99x
StringEdits 152371 152525 +0.1% 1.00x (?)
StringEnumRawValueInitialization 808 795 -1.6% 1.02x (?)
StringEqualPointerComparison 394 394 +0.0% 1.00x
StringFromLongWholeSubstring 182 179 -1.6% 1.02x
StringFromLongWholeSubstringGeneric 23 23 +0.0% 1.00x
StringHasPrefix 9 9 +0.0% 1.00x
StringHasPrefixUnicode 14958 14614 -2.3% 1.02x
StringHasSuffix 9 9 +0.0% 1.00x
StringHasSuffixUnicode 61415 61296 -0.2% 1.00x
StringInterpolation 10968 11019 +0.5% 1.00x (?)
StringMatch 7442 7415 -0.4% 1.00x
StringUTF16Builder 1890 1903 +0.7% 0.99x (?)
StringWalk 1493 1493 +0.0% 1.00x
StringWithCString 61520 60095 -2.3% 1.02x (?)
SubstringComparable 1606 1616 +0.6% 0.99x
SubstringEqualString 1428 1405 -1.6% 1.02x
SubstringEquatable 3695 3696 +0.0% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 62 62 +0.0% 1.00x
SuffixAnyCollection 21 21 +0.0% 1.00x
SuffixAnyCollectionLazy 25448 25379 -0.3% 1.00x
SuffixAnySeqCRangeIter 5033 5025 -0.2% 1.00x
SuffixAnySeqCRangeIterLazy 5033 5032 -0.0% 1.00x (?)
SuffixAnySeqCntRange 16 16 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 16 16 +0.0% 1.00x
SuffixAnySequence 6725 6717 -0.1% 1.00x (?)
SuffixAnySequenceLazy 6739 6732 -0.1% 1.00x (?)
SuffixArray 10 10 +0.0% 1.00x
SuffixArrayLazy 10 10 +0.0% 1.00x
SuffixCountableRange 6 6 +0.0% 1.00x
SuffixCountableRangeLazy 6 6 +0.0% 1.00x
SuffixSequence 4630 4629 -0.0% 1.00x (?)
SuffixSequenceLazy 4608 4620 +0.3% 1.00x (?)
SumUsingReduce 97 97 +0.0% 1.00x
SumUsingReduceInto 97 97 +0.0% 1.00x
SuperChars 84689 84698 +0.0% 1.00x (?)
TwoSum 945 946 +0.1% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 254 254 +0.0% 1.00x
Walsh 384 376 -2.1% 1.02x
XorLoop 347 347 +0.0% 1.00x

Unoptimized (Onone)

Regression (1)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubDateMutation 515 555 +7.8% 0.93x
Improvement (2)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubNSDateMutationRef 16113 15233 -5.5% 1.06x
ObjectiveCBridgeStubToNSDate 15913 15055 -5.4% 1.06x (?)
No Changes (330)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4951 4943 -0.2% 1.00x (?)
AnyHashableWithAClass 86020 83925 -2.4% 1.02x
Array2D 637403 635988 -0.2% 1.00x
ArrayAppend 4022 4026 +0.1% 1.00x (?)
ArrayAppendArrayOfInt 655 656 +0.2% 1.00x
ArrayAppendAscii 52441 51640 -1.5% 1.02x
ArrayAppendFromGeneric 658 658 +0.0% 1.00x
ArrayAppendGenericStructs 1286 1327 +3.2% 0.97x
ArrayAppendLatin1 81226 80974 -0.3% 1.00x (?)
ArrayAppendLazyMap 227239 228635 +0.6% 0.99x
ArrayAppendOptionals 1296 1300 +0.3% 1.00x (?)
ArrayAppendRepeatCol 227975 229728 +0.8% 0.99x
ArrayAppendReserved 3778 3779 +0.0% 1.00x (?)
ArrayAppendSequence 75376 76150 +1.0% 0.99x
ArrayAppendStrings 15280 15273 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 658 658 +0.0% 1.00x
ArrayAppendToGeneric 659 658 -0.2% 1.00x
ArrayAppendUTF16 77565 77031 -0.7% 1.01x (?)
ArrayInClass 6310 6311 +0.0% 1.00x (?)
ArrayLiteral 1747 1744 -0.2% 1.00x (?)
ArrayOfGenericPOD 1383 1383 +0.0% 1.00x
ArrayOfGenericRef 10041 10055 +0.1% 1.00x (?)
ArrayOfPOD 793 793 +0.0% 1.00x
ArrayOfRef 9265 9261 -0.0% 1.00x (?)
ArrayPlusEqualArrayOfInt 658 656 -0.3% 1.00x
ArrayPlusEqualFiveElementCollection 307448 306904 -0.2% 1.00x (?)
ArrayPlusEqualSingleElementCollection 306062 308273 +0.7% 0.99x (?)
ArrayPlusEqualThreeElements 10993 11005 +0.1% 1.00x (?)
ArraySetElement 4581 4580 -0.0% 1.00x (?)
ArraySubscript 86174 86216 +0.0% 1.00x (?)
ArrayValueProp 3598 3590 -0.2% 1.00x (?)
ArrayValueProp2 18950 18932 -0.1% 1.00x (?)
ArrayValueProp3 4073 4074 +0.0% 1.00x (?)
ArrayValueProp4 4031 4024 -0.2% 1.00x (?)
BitCount 1580 1580 +0.0% 1.00x
ByteSwap 4005 4004 -0.0% 1.00x (?)
CStringLongAscii 4767 4925 +3.3% 0.97x
CStringLongNonAscii 2421 2458 +1.5% 0.98x
CStringShortAscii 8756 8776 +0.2% 1.00x (?)
Calculator 1153 1155 +0.2% 1.00x
CaptureProp 124013 124609 +0.5% 1.00x
CharIndexing_ascii_unicodeScalars 489414 493036 +0.7% 0.99x (?)
CharIndexing_ascii_unicodeScalars_Backwards 517010 517644 +0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars 365747 364370 -0.4% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 390391 392991 +0.7% 0.99x (?)
CharIndexing_japanese_unicodeScalars 575628 580249 +0.8% 0.99x (?)
CharIndexing_japanese_unicodeScalars_Backwards 626606 630846 +0.7% 0.99x
CharIndexing_korean_unicodeScalars 473393 479180 +1.2% 0.99x (?)
CharIndexing_korean_unicodeScalars_Backwards 500179 502197 +0.4% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 85500 85171 -0.4% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 90051 89445 -0.7% 1.01x (?)
CharIndexing_punctuated_unicodeScalars 109174 107905 -1.2% 1.01x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 113520 113439 -0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars 414836 410962 -0.9% 1.01x (?)
CharIndexing_russian_unicodeScalars_Backwards 429242 431346 +0.5% 1.00x (?)
CharIndexing_tweet_unicodeScalars 955101 958284 +0.3% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 1022593 1028813 +0.6% 0.99x (?)
CharIndexing_utf16_unicodeScalars 541340 538557 -0.5% 1.01x (?)
CharIndexing_utf16_unicodeScalars_Backwards 572824 575601 +0.5% 1.00x (?)
CharIteration_ascii_unicodeScalars 187074 187274 +0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 326540 325653 -0.3% 1.00x (?)
CharIteration_chinese_unicodeScalars 141569 141000 -0.4% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 246077 243429 -1.1% 1.01x (?)
CharIteration_japanese_unicodeScalars 224342 224125 -0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 396525 385375 -2.8% 1.03x (?)
CharIteration_korean_unicodeScalars 182096 181224 -0.5% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 316448 316709 +0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 34158 34070 -0.3% 1.00x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 56869 56484 -0.7% 1.01x (?)
CharIteration_punctuated_unicodeScalars 42531 42531 +0.0% 1.00x
CharIteration_punctuated_unicodeScalars_Backwards 72178 71545 -0.9% 1.01x (?)
CharIteration_russian_unicodeScalars 155943 155935 -0.0% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 271873 270089 -0.7% 1.01x (?)
CharIteration_tweet_unicodeScalars 372477 369252 -0.9% 1.01x
CharIteration_tweet_unicodeScalars_Backwards 641150 649213 +1.3% 0.99x (?)
CharIteration_utf16_unicodeScalars 206261 204656 -0.8% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 401740 399756 -0.5% 1.00x (?)
CharacterLiteralsLarge 6190 6173 -0.3% 1.00x
CharacterLiteralsSmall 733 718 -2.0% 1.02x
Chars 50496 50409 -0.2% 1.00x
ClassArrayGetter 1011 1011 +0.0% 1.00x
DeadArray 113646 113444 -0.2% 1.00x (?)
Dictionary 3125 3079 -1.5% 1.01x
Dictionary2 3471 3495 +0.7% 0.99x
Dictionary2OfObjects 6074 6070 -0.1% 1.00x (?)
Dictionary3 1318 1331 +1.0% 0.99x (?)
Dictionary3OfObjects 2306 2308 +0.1% 1.00x (?)
DictionaryBridge 2656 2663 +0.3% 1.00x (?)
DictionaryGroup 5390 5348 -0.8% 1.01x
DictionaryGroupOfObjects 8305 8310 +0.1% 1.00x (?)
DictionaryLiteral 8568 8595 +0.3% 1.00x (?)
DictionaryOfObjects 6732 6692 -0.6% 1.01x (?)
DictionaryRemove 21770 21984 +1.0% 0.99x
DictionaryRemoveOfObjects 59244 59370 +0.2% 1.00x (?)
DictionarySwap 5350 5344 -0.1% 1.00x (?)
DictionarySwapOfObjects 23257 23379 +0.5% 0.99x
DropFirstAnyCollection 20190 20030 -0.8% 1.01x (?)
DropFirstAnyCollectionLazy 143726 142081 -1.1% 1.01x (?)
DropFirstAnySeqCRangeIter 30607 30437 -0.6% 1.01x
DropFirstAnySeqCRangeIterLazy 30304 30203 -0.3% 1.00x
DropFirstAnySeqCntRange 20474 20359 -0.6% 1.01x
DropFirstAnySeqCntRangeLazy 20050 19933 -0.6% 1.01x
DropFirstAnySequence 15772 15718 -0.3% 1.00x (?)
DropFirstAnySequenceLazy 15822 15800 -0.1% 1.00x (?)
DropFirstArray 6327 6328 +0.0% 1.00x (?)
DropFirstArrayLazy 44731 44882 +0.3% 1.00x
DropFirstCountableRange 335 335 +0.0% 1.00x
DropFirstCountableRangeLazy 40206 39652 -1.4% 1.01x
DropFirstSequence 14645 14641 -0.0% 1.00x (?)
DropFirstSequenceLazy 14694 14657 -0.3% 1.00x
DropLastAnyCollection 6753 6720 -0.5% 1.00x
DropLastAnyCollectionLazy 47357 47406 +0.1% 1.00x (?)
DropLastAnySeqCRangeIter 47386 47517 +0.3% 1.00x
DropLastAnySeqCRangeIterLazy 46710 46603 -0.2% 1.00x (?)
DropLastAnySeqCntRange 6749 6688 -0.9% 1.01x (?)
DropLastAnySeqCntRangeLazy 6700 6671 -0.4% 1.00x (?)
DropLastAnySequence 33614 33559 -0.2% 1.00x (?)
DropLastAnySequenceLazy 33618 33582 -0.1% 1.00x (?)
DropLastArray 2118 2121 +0.1% 1.00x
DropLastArrayLazy 14917 14975 +0.4% 1.00x
DropLastCountableRange 118 118 +0.0% 1.00x
DropLastCountableRangeLazy 13402 13239 -1.2% 1.01x
DropLastSequence 34093 34157 +0.2% 1.00x (?)
DropLastSequenceLazy 33203 33197 -0.0% 1.00x (?)
DropWhileAnyCollection 26116 26002 -0.4% 1.00x (?)
DropWhileAnyCollectionLazy 28576 28380 -0.7% 1.01x (?)
DropWhileAnySeqCRangeIter 32730 32496 -0.7% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 28398 28166 -0.8% 1.01x
DropWhileAnySeqCntRange 26660 26249 -1.5% 1.02x (?)
DropWhileAnySeqCntRangeLazy 28362 28174 -0.7% 1.01x (?)
DropWhileAnySequence 18724 18738 +0.1% 1.00x
DropWhileAnySequenceLazy 15057 15064 +0.0% 1.00x
DropWhileArray 9999 9992 -0.1% 1.00x (?)
DropWhileArrayLazy 17364 17352 -0.1% 1.00x (?)
DropWhileCountableRange 6482 6451 -0.5% 1.00x
DropWhileCountableRangeLazy 27281 27250 -0.1% 1.00x (?)
DropWhileSequence 17647 17606 -0.2% 1.00x (?)
DropWhileSequenceLazy 13725 13723 -0.0% 1.00x (?)
EqualStringSubstring 681 680 -0.1% 1.00x (?)
EqualSubstringString 678 677 -0.1% 1.00x (?)
EqualSubstringSubstring 791 789 -0.3% 1.00x (?)
EqualSubstringSubstringGenericEquatable 423 424 +0.2% 1.00x
ErrorHandling 6908 6780 -1.9% 1.02x (?)
ExclusivityGlobal 172 172 +0.0% 1.00x
ExclusivityInMatSet 306 307 +0.3% 1.00x (?)
ExclusivityIndependent 141 141 +0.0% 1.00x
FilterEvenUsingReduce 4296 4289 -0.2% 1.00x (?)
FilterEvenUsingReduceInto 2497 2496 -0.0% 1.00x (?)
FrequenciesUsingReduce 15936 15951 +0.1% 1.00x (?)
FrequenciesUsingReduceInto 8833 8832 -0.0% 1.00x (?)
Hanoi 19277 19207 -0.4% 1.00x
HashTest 17369 17288 -0.5% 1.00x
Histogram 8969 8944 -0.3% 1.00x (?)
Integrate 677 677 +0.0% 1.00x
IterateData 13417 13410 -0.1% 1.00x (?)
Join 1513 1509 -0.3% 1.00x (?)
LazilyFilteredArrays 1742835 1744917 +0.1% 1.00x (?)
LazilyFilteredRange 700071 696765 -0.5% 1.00x
LessSubstringSubstring 790 789 -0.1% 1.00x (?)
LessSubstringSubstringGenericComparable 445 447 +0.4% 1.00x
LinkedList 40522 40185 -0.8% 1.01x (?)
MapReduce 38788 38882 +0.2% 1.00x (?)
MapReduceAnyCollection 38669 38684 +0.0% 1.00x (?)
MapReduceAnyCollectionShort 51467 52123 +1.3% 0.99x (?)
MapReduceClass 43373 44094 +1.7% 0.98x (?)
MapReduceClassShort 55719 54937 -1.4% 1.01x (?)
MapReduceLazyCollection 34612 34825 +0.6% 0.99x (?)
MapReduceLazyCollectionShort 45767 45785 +0.0% 1.00x (?)
MapReduceLazySequence 29835 30078 +0.8% 0.99x (?)
MapReduceSequence 45267 45303 +0.1% 1.00x (?)
MapReduceShort 51950 50863 -2.1% 1.02x (?)
MapReduceShortString 284 285 +0.4% 1.00x (?)
MapReduceString 2657 2637 -0.8% 1.01x (?)
Memset 45246 45243 -0.0% 1.00x (?)
MonteCarloE 945503 938199 -0.8% 1.01x (?)
MonteCarloPi 4286156 4211066 -1.8% 1.02x
NSDictionaryCastToSwift 6468 6448 -0.3% 1.00x (?)
NSError 750 741 -1.2% 1.01x (?)
NSStringConversion 409 406 -0.7% 1.01x (?)
NopDeinit 177743 177757 +0.0% 1.00x (?)
ObjectAllocation 1469 1470 +0.1% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 25334 25304 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7105 6890 -3.0% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 41295 41478 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 35400 34824 -1.6% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 128442 125366 -2.4% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7915 7682 -2.9% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 99536 96869 -2.7% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 107038 108483 +1.3% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObject 69428 69457 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7575 7450 -1.7% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 73077 72775 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 72260 73003 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSString 3976 4019 +1.1% 0.99x
ObjectiveCBridgeFromNSStringForced 2228 2244 +0.7% 0.99x
ObjectiveCBridgeStubDataAppend 4365 4333 -0.7% 1.01x (?)
ObjectiveCBridgeStubDateAccess 1005 1031 +2.6% 0.97x
ObjectiveCBridgeStubFromArrayOfNSString 25275 25536 +1.0% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 3674 3674 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDateRef 4281 4281 +0.0% 1.00x
ObjectiveCBridgeStubFromNSString 600 599 -0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 177 177 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2853 2872 +0.7% 0.99x (?)
ObjectiveCBridgeStubNSDateRefAccess 1214 1216 +0.2% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 29656 29480 -0.6% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3351 3332 -0.6% 1.01x (?)
ObjectiveCBridgeStubToNSString 1560 1559 -0.1% 1.00x
ObjectiveCBridgeStubToNSStringRef 149 148 -0.7% 1.01x (?)
ObjectiveCBridgeStubURLAppendPath 219549 218719 -0.4% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 223700 226803 +1.4% 0.99x (?)
ObjectiveCBridgeToNSArray 29710 30365 +2.2% 0.98x
ObjectiveCBridgeToNSDictionary 46972 47491 +1.1% 0.99x (?)
ObjectiveCBridgeToNSSet 41332 40819 -1.2% 1.01x (?)
ObjectiveCBridgeToNSString 1302 1299 -0.2% 1.00x
ObserverClosure 6931 6924 -0.1% 1.00x (?)
ObserverForwarderStruct 5086 5094 +0.2% 1.00x (?)
ObserverPartiallyAppliedMethod 8380 8391 +0.1% 1.00x (?)
ObserverUnappliedMethod 8823 8869 +0.5% 0.99x (?)
OpenClose 393 391 -0.5% 1.01x
Phonebook 21570 21635 +0.3% 1.00x (?)
PolymorphicCalls 5225 5380 +3.0% 0.97x
PopFrontArray 10267 10252 -0.1% 1.00x
PopFrontArrayGeneric 9212 9229 +0.2% 1.00x
PopFrontUnsafePointer 7618 7616 -0.0% 1.00x (?)
PrefixAnyCollection 20182 19988 -1.0% 1.01x
PrefixAnyCollectionLazy 142311 141523 -0.6% 1.01x (?)
PrefixAnySeqCRangeIter 24412 24185 -0.9% 1.01x
PrefixAnySeqCRangeIterLazy 24243 24071 -0.7% 1.01x
PrefixAnySeqCntRange 20476 20373 -0.5% 1.01x
PrefixAnySeqCntRangeLazy 20013 19888 -0.6% 1.01x
PrefixAnySequence 12895 12900 +0.0% 1.00x (?)
PrefixAnySequenceLazy 12913 12897 -0.1% 1.00x
PrefixArray 6335 6329 -0.1% 1.00x (?)
PrefixArrayLazy 44711 44883 +0.4% 1.00x (?)
PrefixCountableRange 339 340 +0.3% 1.00x
PrefixCountableRangeLazy 40172 39746 -1.1% 1.01x (?)
PrefixSequence 11760 11820 +0.5% 0.99x
PrefixSequenceLazy 11793 11824 +0.3% 1.00x
PrefixWhileAnyCollection 38461 38653 +0.5% 1.00x (?)
PrefixWhileAnyCollectionLazy 23197 23074 -0.5% 1.01x (?)
PrefixWhileAnySeqCRangeIter 43351 43070 -0.6% 1.01x (?)
PrefixWhileAnySeqCRangeIterLazy 23218 23109 -0.5% 1.00x
PrefixWhileAnySeqCntRange 38738 38452 -0.7% 1.01x
PrefixWhileAnySeqCntRangeLazy 23397 23249 -0.6% 1.01x (?)
PrefixWhileAnySequence 32960 32983 +0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 13339 13310 -0.2% 1.00x
PrefixWhileArray 17289 17335 +0.3% 1.00x
PrefixWhileArrayLazy 15227 15246 +0.1% 1.00x
PrefixWhileCountableRange 18737 18657 -0.4% 1.00x
PrefixWhileCountableRangeLazy 22506 22474 -0.1% 1.00x (?)
PrefixWhileSequence 31598 31601 +0.0% 1.00x (?)
PrefixWhileSequenceLazy 12406 12405 -0.0% 1.00x (?)
Prims 10546 10525 -0.2% 1.00x (?)
PrimsSplit 10567 10541 -0.2% 1.00x (?)
ProtocolDispatch 7880 7880 +0.0% 1.00x
ProtocolDispatch2 500 499 -0.2% 1.00x (?)
RC4 19302 19138 -0.8% 1.01x (?)
RGBHistogram 34432 34273 -0.5% 1.00x (?)
RGBHistogramOfObjects 106333 106301 -0.0% 1.00x (?)
RangeAssignment 5704 5706 +0.0% 1.00x (?)
RangeIterationSigned 17746 17784 +0.2% 1.00x
RangeIterationSigned64 51375 51200 -0.3% 1.00x (?)
RangeIterationUnsigned 46668 46887 +0.5% 1.00x (?)
RecursiveOwnedParameter 11104 11092 -0.1% 1.00x (?)
ReversedArray 43391 43637 +0.6% 0.99x (?)
ReversedBidirectional 75386 75315 -0.1% 1.00x (?)
ReversedDictionary 29391 29421 +0.1% 1.00x (?)
SetExclusiveOr 22938 22934 -0.0% 1.00x (?)
SetExclusiveOr_OfObjects 48181 48182 +0.0% 1.00x (?)
SetIntersect 12677 12680 +0.0% 1.00x (?)
SetIntersect_OfObjects 12620 12540 -0.6% 1.01x
SetIsSubsetOf 1911 1898 -0.7% 1.01x
SetIsSubsetOf_OfObjects 1551 1540 -0.7% 1.01x
SetUnion 12013 12067 +0.4% 1.00x (?)
SetUnion_OfObjects 33955 33980 +0.1% 1.00x (?)
SevenBoom 1799 1736 -3.5% 1.04x (?)
Sim2DArray 44047 44057 +0.0% 1.00x (?)
SortLargeExistentials 17568 17692 +0.7% 0.99x
SortLettersInPlace 3047 3050 +0.1% 1.00x (?)
SortSortedStrings 1457 1459 +0.1% 1.00x (?)
SortStrings 2669 2714 +1.7% 0.98x
SortStringsUnicode 9268 9239 -0.3% 1.00x
StackPromo 102926 103428 +0.5% 1.00x (?)
StaticArray 4708 4700 -0.2% 1.00x (?)
StrComplexWalk 6986 6973 -0.2% 1.00x (?)
StrToInt 126395 127420 +0.8% 0.99x
StringAdder 3776 3790 +0.4% 1.00x (?)
StringBuilder 7093 7075 -0.3% 1.00x (?)
StringBuilderLong 1086 1116 +2.8% 0.97x (?)
StringEdits 381533 377345 -1.1% 1.01x (?)
StringEnumRawValueInitialization 12578 12254 -2.6% 1.03x (?)
StringEqualPointerComparison 2726 2628 -3.6% 1.04x
StringFromLongWholeSubstring 210 209 -0.5% 1.00x
StringFromLongWholeSubstringGeneric 214 214 +0.0% 1.00x
StringHasPrefix 1887 1801 -4.6% 1.05x
StringHasPrefixUnicode 16339 16358 +0.1% 1.00x (?)
StringHasSuffix 1771 1831 +3.4% 0.97x
StringHasSuffixUnicode 63717 63593 -0.2% 1.00x
StringInterpolation 13964 13926 -0.3% 1.00x (?)
StringMatch 34705 34303 -1.2% 1.01x
StringUTF16Builder 7922 7907 -0.2% 1.00x
StringWalk 12047 12250 +1.7% 0.98x
StringWithCString 57625 59300 +2.9% 0.97x
SubstringComparable 4338 4323 -0.3% 1.00x (?)
SubstringEqualString 6616 6683 +1.0% 0.99x
SubstringEquatable 8402 8369 -0.4% 1.00x
SubstringFromLongString 17 17 +0.0% 1.00x
SubstringFromLongStringGeneric 111 111 +0.0% 1.00x
SuffixAnyCollection 6739 6688 -0.8% 1.01x
SuffixAnyCollectionLazy 47361 47247 -0.2% 1.00x (?)
SuffixAnySeqCRangeIter 44524 44246 -0.6% 1.01x (?)
SuffixAnySeqCRangeIterLazy 44121 43897 -0.5% 1.01x
SuffixAnySeqCntRange 6745 6704 -0.6% 1.01x
SuffixAnySeqCntRangeLazy 6700 6662 -0.6% 1.01x
SuffixAnySequence 31164 31178 +0.0% 1.00x (?)
SuffixAnySequenceLazy 31160 31187 +0.1% 1.00x
SuffixArray 2118 2118 +0.0% 1.00x
SuffixArrayLazy 14926 14982 +0.4% 1.00x (?)
SuffixCountableRange 119 119 +0.0% 1.00x
SuffixCountableRangeLazy 13445 13242 -1.5% 1.02x
SuffixSequence 30782 30811 +0.1% 1.00x
SuffixSequenceLazy 30781 30811 +0.1% 1.00x (?)
SumUsingReduce 229977 229934 -0.0% 1.00x (?)
SumUsingReduceInto 225660 225670 +0.0% 1.00x (?)
SuperChars 191561 191831 +0.1% 1.00x (?)
TwoSum 4330 4342 +0.3% 1.00x
TypeFlood 169 163 -3.6% 1.04x (?)
UTF8Decode 38906 38904 -0.0% 1.00x (?)
Walsh 12158 12159 +0.0% 1.00x (?)
XorLoop 23581 23582 +0.0% 1.00x (?)
Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini7,1
  Processor Name: Intel Core i5
  Processor Speed: 2.8 GHz
  Number of Processors: 1
  Total Number of Cores: 2
  L2 Cache (per Core): 256 KB
  L3 Cache: 3 MB
  Memory: 16 GB

Copy link
Contributor

@rudkx rudkx left a comment

Choose a reason for hiding this comment

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

LGTM!

@DougGregor DougGregor merged commit fa5852c into swiftlang:master Oct 10, 2017
@DougGregor DougGregor deleted the callee-analysis-witness-thunks branch October 10, 2017 00:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants