Skip to content

[sil-inliner] Do not perform early performance inlining for function with certain @_semantics attributes #10118

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 5, 2017

Conversation

swiftix
Copy link
Contributor

@swiftix swiftix commented Jun 5, 2017

Specifically, do not perform the early inlining for functions annotated with @_semantics("pair_no_escaping_closure") and @_semantics("self_no_escaping_closure")

Add new tests and cleanup some tests.

It recovers from the performance regression that was recently introduced.

Fixes rdar://32555803

… with certain @_semantics attributes

Specifically, do not perform the early inlining for functions annotated with @_semantics("pair_no_escaping_closure") and @_semantics("self_no_escaping_closure")

Add new tests and cleanup some tests.

It recovers from the performance regression that was recently introduced.

Fixes rdar://32555803
@swiftix
Copy link
Contributor Author

swiftix commented Jun 5, 2017

@swift-ci please smoke test

@swiftix
Copy link
Contributor Author

swiftix commented Jun 5, 2017

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Jun 5, 2017

Build comment file:

Optimized (O)

Improvement (1)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubToNSDate 15120 14169 -6.3% 1.07x (?)
No Changes (280)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2985 2968 -0.6% 1.01x (?)
AnyHashableWithAClass 66626 66676 +0.1% 1.00x (?)
Array2D 2029 2028 -0.0% 1.00x (?)
ArrayAppend 775 774 -0.1% 1.00x (?)
ArrayAppendArrayOfInt 596 597 +0.2% 1.00x
ArrayAppendAscii 22550 22596 +0.2% 1.00x (?)
ArrayAppendFromGeneric 597 597 +0.0% 1.00x
ArrayAppendGenericStructs 1232 1257 +2.0% 0.98x
ArrayAppendLatin1 43326 43299 -0.1% 1.00x (?)
ArrayAppendLazyMap 1002 1001 -0.1% 1.00x
ArrayAppendOptionals 1227 1219 -0.7% 1.01x (?)
ArrayAppendRepeatCol 838 837 -0.1% 1.00x (?)
ArrayAppendReserved 534 533 -0.2% 1.00x (?)
ArrayAppendSequence 947 949 +0.2% 1.00x
ArrayAppendStrings 13680 13726 +0.3% 1.00x (?)
ArrayAppendToFromGeneric 597 597 +0.0% 1.00x
ArrayAppendToGeneric 597 597 +0.0% 1.00x
ArrayAppendUTF16 41468 41461 -0.0% 1.00x (?)
ArrayInClass 61 61 +0.0% 1.00x
ArrayLiteral 1220 1220 +0.0% 1.00x
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 4019 4026 +0.2% 1.00x (?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayOfRef 3882 3897 +0.4% 1.00x (?)
ArrayPlusEqualArrayOfInt 597 597 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4682 4663 -0.4% 1.00x (?)
ArrayPlusEqualSingleElementCollection 775 775 +0.0% 1.00x
ArrayPlusEqualThreeElements 1591 1592 +0.1% 1.00x (?)
ArraySubscript 1496 1501 +0.3% 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 14 14 +0.0% 1.00x
ByteSwap 0 0 +0.0% 1.00x
CStringLongAscii 5412 5379 -0.6% 1.01x (?)
CStringLongNonAscii 2351 2349 -0.1% 1.00x (?)
CStringShortAscii 5661 5648 -0.2% 1.00x (?)
Calculator 35 35 +0.0% 1.00x
CaptureProp 4600 4600 +0.0% 1.00x
CharacterLiteralsLarge 5872 5865 -0.1% 1.00x (?)
CharacterLiteralsSmall 404 404 +0.0% 1.00x
Chars 945 945 +0.0% 1.00x
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 186 186 +0.0% 1.00x
Dictionary 556 555 -0.2% 1.00x (?)
Dictionary2 1805 1804 -0.1% 1.00x (?)
Dictionary2OfObjects 3333 3333 +0.0% 1.00x
Dictionary3 437 438 +0.2% 1.00x (?)
Dictionary3OfObjects 885 886 +0.1% 1.00x (?)
DictionaryBridge 3038 3024 -0.5% 1.00x (?)
DictionaryLiteral 1476 1476 +0.0% 1.00x
DictionaryOfObjects 2311 2315 +0.2% 1.00x (?)
DictionaryRemove 2440 2408 -1.3% 1.01x
DictionaryRemoveOfObjects 23421 23451 +0.1% 1.00x (?)
DictionarySwap 430 429 -0.2% 1.00x
DictionarySwapOfObjects 6987 6992 +0.1% 1.00x (?)
DropFirstAnyCollection 57 56 -1.8% 1.02x
DropFirstAnyCollectionLazy 44891 44873 -0.0% 1.00x
DropFirstAnySeqCRangeIter 26696 26696 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 26708 26705 -0.0% 1.00x (?)
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 5956 5957 +0.0% 1.00x (?)
DropFirstAnySequenceLazy 5963 5963 +0.0% 1.00x
DropFirstArray 24 24 +0.0% 1.00x
DropFirstArrayLazy 25 25 +0.0% 1.00x
DropFirstCountableRange 32 32 +0.0% 1.00x
DropFirstCountableRangeLazy 32 32 +0.0% 1.00x
DropFirstSequence 2044 2044 +0.0% 1.00x
DropFirstSequenceLazy 2410 2405 -0.2% 1.00x (?)
DropLastAnyCollection 22 22 +0.0% 1.00x
DropLastAnyCollectionLazy 15007 15007 +0.0% 1.00x
DropLastAnySeqCRangeIter 4593 4596 +0.1% 1.00x
DropLastAnySeqCRangeIterLazy 4587 4588 +0.0% 1.00x (?)
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6674 6674 +0.0% 1.00x
DropLastAnySequenceLazy 6518 6517 -0.0% 1.00x (?)
DropLastArray 8 8 +0.0% 1.00x
DropLastArrayLazy 8 8 +0.0% 1.00x
DropLastCountableRange 10 10 +0.0% 1.00x
DropLastCountableRangeLazy 10 10 +0.0% 1.00x
DropLastSequence 590 589 -0.2% 1.00x (?)
DropLastSequenceLazy 589 589 +0.0% 1.00x
DropWhileAnyCollection 70 70 +0.0% 1.00x
DropWhileAnyCollectionLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCRangeIter 21591 21572 -0.1% 1.00x
DropWhileAnySeqCRangeIterLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCntRange 64 64 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 103 103 +0.0% 1.00x
DropWhileAnySequence 6738 6730 -0.1% 1.00x (?)
DropWhileAnySequenceLazy 2032 2032 +0.0% 1.00x
DropWhileArray 37 37 +0.0% 1.00x
DropWhileArrayLazy 78 78 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 68 68 +0.0% 1.00x
DropWhileSequence 1548 1548 +0.0% 1.00x
DropWhileSequenceLazy 65 65 +0.0% 1.00x
EqualStringSubstring 521 522 +0.2% 1.00x (?)
EqualSubstringString 521 522 +0.2% 1.00x (?)
EqualSubstringSubstring 521 521 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 528 527 -0.2% 1.00x
ErrorHandling 2810 2931 +4.3% 0.96x
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3412 3421 +0.3% 1.00x
HashTest 1684 1682 -0.1% 1.00x (?)
Histogram 299 300 +0.3% 1.00x
Integrate 262 262 +0.0% 1.00x
IterateData 756 756 +0.0% 1.00x
Join 378 377 -0.3% 1.00x (?)
LazilyFilteredArrays 64772 64674 -0.2% 1.00x (?)
LazilyFilteredRange 3887 3886 -0.0% 1.00x (?)
LessSubstringSubstring 522 522 +0.0% 1.00x
LessSubstringSubstringGenericComparable 521 521 +0.0% 1.00x
LinkedList 7043 7045 +0.0% 1.00x
MapReduce 303 303 +0.0% 1.00x
MapReduceAnyCollection 303 302 -0.3% 1.00x (?)
MapReduceAnyCollectionShort 2025 2041 +0.8% 0.99x
MapReduceClass 3058 3060 +0.1% 1.00x (?)
MapReduceClassShort 4585 4581 -0.1% 1.00x (?)
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 45 45 +0.0% 1.00x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 462 470 +1.7% 0.98x
MapReduceShort 1917 1914 -0.2% 1.00x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 114 114 +0.0% 1.00x
Memset 234 234 +0.0% 1.00x
MonteCarloE 10335 10325 -0.1% 1.00x (?)
MonteCarloPi 44003 44005 +0.0% 1.00x (?)
NSDictionaryCastToSwift 5491 5547 +1.0% 0.99x (?)
NSError 288 290 +0.7% 0.99x
NSStringConversion 749 744 -0.7% 1.01x (?)
NopDeinit 30455 30389 -0.2% 1.00x
ObjectAllocation 179 180 +0.6% 0.99x
ObjectiveCBridgeFromNSArrayAnyObject 23801 24050 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4524 4520 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43736 43839 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38162 38426 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 117973 118786 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5292 5472 +3.4% 0.97x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 101186 101619 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 95663 93410 -2.4% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 63934 64575 +1.0% 0.99x
ObjectiveCBridgeFromNSSetAnyObjectForced 4185 4184 -0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 73343 73353 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62847 63133 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSString 1433 1432 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2363 2366 +0.1% 1.00x
ObjectiveCBridgeStubDataAppend 3686 3700 +0.4% 1.00x (?)
ObjectiveCBridgeStubDateAccess 182 182 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 272 273 +0.4% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 28727 29070 +1.2% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 3699 3700 +0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSDateRef 3725 3785 +1.6% 0.98x
ObjectiveCBridgeStubFromNSString 946 944 -0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 174 174 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2284 2282 -0.1% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 12456 12764 +2.5% 0.98x (?)
ObjectiveCBridgeStubNSDateRefAccess 316 317 +0.3% 1.00x
ObjectiveCBridgeStubToArrayOfNSString 28497 28598 +0.4% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3411 3446 +1.0% 0.99x (?)
ObjectiveCBridgeStubToNSString 1514 1514 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 110 110 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 226778 231554 +2.1% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 223410 223592 +0.1% 1.00x (?)
ObjectiveCBridgeToNSArray 29082 29076 -0.0% 1.00x (?)
ObjectiveCBridgeToNSDictionary 49574 49144 -0.9% 1.01x (?)
ObjectiveCBridgeToNSSet 42753 42261 -1.2% 1.01x (?)
ObjectiveCBridgeToNSString 1251 1270 +1.5% 0.99x (?)
ObserverClosure 2292 2295 +0.1% 1.00x (?)
ObserverForwarderStruct 1126 1122 -0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3812 3810 -0.1% 1.00x (?)
ObserverUnappliedMethod 2644 2637 -0.3% 1.00x (?)
OpenClose 48 48 +0.0% 1.00x
Phonebook 6280 6281 +0.0% 1.00x (?)
PolymorphicCalls 22 22 +0.0% 1.00x
PopFrontArray 1062 1064 +0.2% 1.00x (?)
PopFrontArrayGeneric 1067 1071 +0.4% 1.00x (?)
PopFrontUnsafePointer 8858 8846 -0.1% 1.00x (?)
PrefixAnyCollection 56 56 +0.0% 1.00x
PrefixAnyCollectionLazy 45131 45145 +0.0% 1.00x (?)
PrefixAnySeqCRangeIter 20945 20949 +0.0% 1.00x (?)
PrefixAnySeqCRangeIterLazy 20950 20944 -0.0% 1.00x (?)
PrefixAnySeqCntRange 50 50 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 50 50 +0.0% 1.00x
PrefixAnySequence 5291 5291 +0.0% 1.00x
PrefixAnySequenceLazy 5269 5269 +0.0% 1.00x
PrefixArray 25 25 +0.0% 1.00x
PrefixArrayLazy 24 24 +0.0% 1.00x
PrefixCountableRange 32 32 +0.0% 1.00x
PrefixCountableRangeLazy 32 32 +0.0% 1.00x
PrefixSequence 1534 1534 +0.0% 1.00x
PrefixSequenceLazy 1608 1608 +0.0% 1.00x
PrefixWhileAnyCollection 96 96 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12453 12449 -0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCntRange 90 90 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 75 75 +0.0% 1.00x
PrefixWhileAnySequence 13954 13951 -0.0% 1.00x (?)
PrefixWhileAnySequenceLazy 1492 1492 +0.0% 1.00x
PrefixWhileArray 62 62 +0.0% 1.00x
PrefixWhileArrayLazy 49 49 +0.0% 1.00x
PrefixWhileCountableRange 36 36 +0.0% 1.00x
PrefixWhileCountableRangeLazy 32 32 +0.0% 1.00x
PrefixWhileSequence 301 301 +0.0% 1.00x
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 776 789 +1.7% 0.98x (?)
ProtocolDispatch 2728 2727 -0.0% 1.00x
ProtocolDispatch2 160 160 +0.0% 1.00x
RC4 159 159 +0.0% 1.00x
RGBHistogram 2375 2357 -0.8% 1.01x
RGBHistogramOfObjects 24490 24505 +0.1% 1.00x (?)
RangeAssignment 292 291 -0.3% 1.00x
RecursiveOwnedParameter 2326 2325 -0.0% 1.00x
ReversedArray 49 49 +0.0% 1.00x
ReversedBidirectional 29085 29085 +0.0% 1.00x
ReversedDictionary 113 113 +0.0% 1.00x
SetExclusiveOr 3000 2995 -0.2% 1.00x
SetExclusiveOr_OfObjects 9574 9559 -0.2% 1.00x (?)
SetIntersect 283 283 +0.0% 1.00x
SetIntersect_OfObjects 1721 1722 +0.1% 1.00x (?)
SetIsSubsetOf 292 292 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 359 +0.0% 1.00x
SetUnion 2711 2673 -1.4% 1.01x (?)
SetUnion_OfObjects 8175 8153 -0.3% 1.00x
SevenBoom 1464 1465 +0.1% 1.00x (?)
Sim2DArray 276 276 +0.0% 1.00x
SortLargeExistentials 7880 7877 -0.0% 1.00x (?)
SortLettersInPlace 1145 1145 +0.0% 1.00x
SortSortedStrings 887 887 +0.0% 1.00x
SortStrings 1698 1698 +0.0% 1.00x
SortStringsUnicode 22218 22248 +0.1% 1.00x (?)
StackPromo 22201 22206 +0.0% 1.00x
StaticArray 18 18 +0.0% 1.00x
StrComplexWalk 714 715 +0.1% 1.00x
StrToInt 2009 2008 -0.0% 1.00x (?)
StringAdder 0 0 +0.0% 1.00x
StringBuilder 1014 1000 -1.4% 1.01x (?)
StringBuilderLong 931 928 -0.3% 1.00x (?)
StringEdits 105616 105554 -0.1% 1.00x (?)
StringEqualPointerComparison 333 333 +0.0% 1.00x
StringFromLongWholeSubstring 10106 10124 +0.2% 1.00x (?)
StringFromLongWholeSubstringGeneric 22 22 +0.0% 1.00x
StringHasPrefix 33 33 +0.0% 1.00x
StringHasPrefixUnicode 41384 41393 +0.0% 1.00x (?)
StringHasSuffix 33 33 +0.0% 1.00x
StringHasSuffixUnicode 89545 89542 -0.0% 1.00x (?)
StringInterpolation 10700 10695 -0.0% 1.00x (?)
StringMatch 7371 7387 +0.2% 1.00x (?)
StringUTF16Builder 1857 1872 +0.8% 0.99x (?)
StringWalk 1258 1234 -1.9% 1.02x (?)
StringWithCString 71449 71778 +0.5% 1.00x
SubstringComparable 3715 3700 -0.4% 1.00x
SubstringEqualString 3428 3429 +0.0% 1.00x (?)
SubstringEquatable 7395 7398 +0.0% 1.00x (?)
SubstringFromLongString 108 108 +0.0% 1.00x
SubstringFromLongStringGeneric 174 174 +0.0% 1.00x
SuffixAnyCollection 22 22 +0.0% 1.00x
SuffixAnyCollectionLazy 15006 15002 -0.0% 1.00x (?)
SuffixAnySeqCRangeIter 4913 4918 +0.1% 1.00x
SuffixAnySeqCRangeIterLazy 4918 4918 +0.0% 1.00x
SuffixAnySeqCntRange 16 16 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 16 16 +0.0% 1.00x
SuffixAnySequence 6675 6682 +0.1% 1.00x (?)
SuffixAnySequenceLazy 6629 6632 +0.0% 1.00x (?)
SuffixArray 8 8 +0.0% 1.00x
SuffixArrayLazy 8 8 +0.0% 1.00x
SuffixCountableRange 10 10 +0.0% 1.00x
SuffixCountableRangeLazy 10 10 +0.0% 1.00x
SuffixSequence 4435 4434 -0.0% 1.00x (?)
SuffixSequenceLazy 4433 4434 +0.0% 1.00x (?)
SuperChars 158033 155347 -1.7% 1.02x
TwoSum 971 968 -0.3% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 257 257 +0.0% 1.00x
Walsh 355 356 +0.3% 1.00x
XorLoop 347 347 +0.0% 1.00x

Unoptimized (Onone)

Improvement (1)
TEST OLD NEW DELTA SPEEDUP
StringBuilder 7581 7063 -6.8% 1.07x
No Changes (280)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4919 4902 -0.3% 1.00x (?)
AnyHashableWithAClass 84349 84348 -0.0% 1.00x (?)
Array2D 609654 609516 -0.0% 1.00x (?)
ArrayAppend 3679 3680 +0.0% 1.00x (?)
ArrayAppendArrayOfInt 648 648 +0.0% 1.00x
ArrayAppendAscii 60474 60494 +0.0% 1.00x (?)
ArrayAppendFromGeneric 652 652 +0.0% 1.00x
ArrayAppendGenericStructs 1280 1291 +0.9% 0.99x (?)
ArrayAppendLatin1 82010 81986 -0.0% 1.00x (?)
ArrayAppendLazyMap 209190 209121 -0.0% 1.00x
ArrayAppendOptionals 1296 1311 +1.2% 0.99x (?)
ArrayAppendRepeatCol 221455 221463 +0.0% 1.00x (?)
ArrayAppendReserved 3420 3422 +0.1% 1.00x (?)
ArrayAppendSequence 75375 75398 +0.0% 1.00x (?)
ArrayAppendStrings 13748 13747 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 651 651 +0.0% 1.00x
ArrayAppendToGeneric 654 653 -0.2% 1.00x (?)
ArrayAppendUTF16 80851 80951 +0.1% 1.00x (?)
ArrayInClass 6876 6877 +0.0% 1.00x (?)
ArrayLiteral 1734 1736 +0.1% 1.00x (?)
ArrayOfGenericPOD 3002 3002 +0.0% 1.00x
ArrayOfGenericRef 10224 10227 +0.0% 1.00x (?)
ArrayOfPOD 1891 1892 +0.1% 1.00x
ArrayOfRef 9176 9206 +0.3% 1.00x (?)
ArrayPlusEqualArrayOfInt 650 650 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 293855 297600 +1.3% 0.99x (?)
ArrayPlusEqualSingleElementCollection 291247 291122 -0.0% 1.00x (?)
ArrayPlusEqualThreeElements 10287 10263 -0.2% 1.00x (?)
ArraySubscript 4154 4152 -0.0% 1.00x (?)
ArrayValueProp 3542 3535 -0.2% 1.00x (?)
ArrayValueProp2 18524 18344 -1.0% 1.01x
ArrayValueProp3 3980 3977 -0.1% 1.00x (?)
ArrayValueProp4 3920 3836 -2.1% 1.02x (?)
BitCount 160 160 +0.0% 1.00x
ByteSwap 26 27 +3.8% 0.96x (?)
CStringLongAscii 5485 5481 -0.1% 1.00x (?)
CStringLongNonAscii 2526 2529 +0.1% 1.00x (?)
CStringShortAscii 9429 9451 +0.2% 1.00x (?)
Calculator 1161 1163 +0.2% 1.00x (?)
CaptureProp 112561 111339 -1.1% 1.01x (?)
CharacterLiteralsLarge 6086 6091 +0.1% 1.00x (?)
CharacterLiteralsSmall 721 721 +0.0% 1.00x
Chars 50159 50160 +0.0% 1.00x (?)
ClassArrayGetter 1012 1012 +0.0% 1.00x
DeadArray 116049 113877 -1.9% 1.02x (?)
Dictionary 3007 3014 +0.2% 1.00x (?)
Dictionary2 3479 3480 +0.0% 1.00x (?)
Dictionary2OfObjects 6215 6191 -0.4% 1.00x (?)
Dictionary3 1308 1304 -0.3% 1.00x (?)
Dictionary3OfObjects 2369 2370 +0.0% 1.00x (?)
DictionaryBridge 3109 3146 +1.2% 0.99x (?)
DictionaryLiteral 8180 8165 -0.2% 1.00x (?)
DictionaryOfObjects 6635 6672 +0.6% 0.99x (?)
DictionaryRemove 21742 21267 -2.2% 1.02x
DictionaryRemoveOfObjects 60222 60437 +0.4% 1.00x (?)
DictionarySwap 5652 5620 -0.6% 1.01x (?)
DictionarySwapOfObjects 23723 23652 -0.3% 1.00x (?)
DropFirstAnyCollection 19130 19128 -0.0% 1.00x (?)
DropFirstAnyCollectionLazy 139564 139559 -0.0% 1.00x (?)
DropFirstAnySeqCRangeIter 29328 29336 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 29317 29318 +0.0% 1.00x (?)
DropFirstAnySeqCntRange 19100 19101 +0.0% 1.00x (?)
DropFirstAnySeqCntRangeLazy 19370 19380 +0.1% 1.00x (?)
DropFirstAnySequence 12964 12967 +0.0% 1.00x (?)
DropFirstAnySequenceLazy 13240 13246 +0.0% 1.00x (?)
DropFirstArray 6299 6311 +0.2% 1.00x (?)
DropFirstArrayLazy 44458 44442 -0.0% 1.00x (?)
DropFirstCountableRange 339 339 +0.0% 1.00x
DropFirstCountableRangeLazy 38313 38325 +0.0% 1.00x (?)
DropFirstSequence 11950 12019 +0.6% 0.99x (?)
DropFirstSequenceLazy 12124 11857 -2.2% 1.02x (?)
DropLastAnyCollection 6406 6406 +0.0% 1.00x
DropLastAnyCollectionLazy 46113 45945 -0.4% 1.00x (?)
DropLastAnySeqCRangeIter 45402 45391 -0.0% 1.00x (?)
DropLastAnySeqCRangeIterLazy 45019 44989 -0.1% 1.00x (?)
DropLastAnySeqCntRange 6383 6382 -0.0% 1.00x (?)
DropLastAnySeqCntRangeLazy 6503 6503 +0.0% 1.00x
DropLastAnySequence 28963 28941 -0.1% 1.00x (?)
DropLastAnySequenceLazy 29031 29055 +0.1% 1.00x (?)
DropLastArray 2132 2134 +0.1% 1.00x (?)
DropLastArrayLazy 14782 14771 -0.1% 1.00x (?)
DropLastCountableRange 118 118 +0.0% 1.00x
DropLastCountableRangeLazy 12843 12852 +0.1% 1.00x (?)
DropLastSequence 28987 28968 -0.1% 1.00x (?)
DropLastSequenceLazy 28670 28696 +0.1% 1.00x (?)
DropWhileAnyCollection 24965 24925 -0.2% 1.00x (?)
DropWhileAnyCollectionLazy 27466 27469 +0.0% 1.00x (?)
DropWhileAnySeqCRangeIter 31336 31334 -0.0% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 27318 27330 +0.0% 1.00x (?)
DropWhileAnySeqCntRange 24869 24893 +0.1% 1.00x (?)
DropWhileAnySeqCntRangeLazy 27683 27687 +0.0% 1.00x (?)
DropWhileAnySequence 15509 15507 -0.0% 1.00x (?)
DropWhileAnySequenceLazy 12477 12483 +0.0% 1.00x (?)
DropWhileArray 9907 9832 -0.8% 1.01x (?)
DropWhileArrayLazy 16852 16853 +0.0% 1.00x (?)
DropWhileCountableRange 6184 6146 -0.6% 1.01x (?)
DropWhileCountableRangeLazy 26539 26541 +0.0% 1.00x (?)
DropWhileSequence 14428 14424 -0.0% 1.00x (?)
DropWhileSequenceLazy 11272 11266 -0.1% 1.00x (?)
EqualStringSubstring 843 847 +0.5% 1.00x (?)
EqualSubstringString 846 845 -0.1% 1.00x (?)
EqualSubstringSubstring 946 945 -0.1% 1.00x (?)
EqualSubstringSubstringGenericEquatable 563 564 +0.2% 1.00x (?)
ErrorHandling 6733 6789 +0.8% 0.99x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 18497 18523 +0.1% 1.00x (?)
HashTest 18261 18228 -0.2% 1.00x (?)
Histogram 8639 8707 +0.8% 0.99x (?)
Integrate 734 740 +0.8% 0.99x
IterateData 12814 12813 -0.0% 1.00x (?)
Join 1186 1186 +0.0% 1.00x
LazilyFilteredArrays 1691397 1693961 +0.2% 1.00x (?)
LazilyFilteredRange 673745 673953 +0.0% 1.00x (?)
LessSubstringSubstring 949 946 -0.3% 1.00x (?)
LessSubstringSubstringGenericComparable 576 576 +0.0% 1.00x
LinkedList 43848 43867 +0.0% 1.00x (?)
MapReduce 37648 37664 +0.0% 1.00x (?)
MapReduceAnyCollection 37602 37634 +0.1% 1.00x (?)
MapReduceAnyCollectionShort 49974 50042 +0.1% 1.00x (?)
MapReduceClass 42943 42966 +0.1% 1.00x (?)
MapReduceClassShort 54621 54474 -0.3% 1.00x (?)
MapReduceLazyCollection 32317 32318 +0.0% 1.00x (?)
MapReduceLazyCollectionShort 43613 43602 -0.0% 1.00x (?)
MapReduceLazySequence 26245 26244 -0.0% 1.00x (?)
MapReduceSequence 41461 41493 +0.1% 1.00x (?)
MapReduceShort 50034 50298 +0.5% 0.99x (?)
MapReduceShortString 276 281 +1.8% 0.98x (?)
MapReduceString 2596 2594 -0.1% 1.00x (?)
Memset 44016 44004 -0.0% 1.00x (?)
MonteCarloE 132563 132551 -0.0% 1.00x (?)
MonteCarloPi 52490 52475 -0.0% 1.00x (?)
NSDictionaryCastToSwift 6675 6739 +1.0% 0.99x (?)
NSError 705 700 -0.7% 1.01x (?)
NSStringConversion 1285 1287 +0.2% 1.00x (?)
NopDeinit 187255 187182 -0.0% 1.00x (?)
ObjectAllocation 1464 1466 +0.1% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 25188 25707 +2.1% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7820 7901 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45124 45039 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38762 38882 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 124073 123221 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7770 7873 +1.3% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 101298 102868 +1.5% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 97844 95770 -2.1% 1.02x
ObjectiveCBridgeFromNSSetAnyObject 67156 66916 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7145 7148 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 76743 76819 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 66883 66322 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSString 4040 4037 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2731 2731 +0.0% 1.00x
ObjectiveCBridgeStubDataAppend 3707 3793 +2.3% 0.98x (?)
ObjectiveCBridgeStubDateAccess 1027 1028 +0.1% 1.00x (?)
ObjectiveCBridgeStubDateMutation 516 517 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromArrayOfNSString 29301 29403 +0.3% 1.00x
ObjectiveCBridgeStubFromNSDate 4070 4073 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSDateRef 4095 4094 -0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSString 980 977 -0.3% 1.00x
ObjectiveCBridgeStubFromNSStringRef 208 208 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2750 2663 -3.2% 1.03x
ObjectiveCBridgeStubNSDateMutationRef 15859 15879 +0.1% 1.00x (?)
ObjectiveCBridgeStubNSDateRefAccess 1219 1218 -0.1% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 28337 28980 +2.3% 0.98x (?)
ObjectiveCBridgeStubToNSDate 14678 14847 +1.2% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3391 3396 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1566 1566 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 149 149 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 216204 224231 +3.7% 0.96x (?)
ObjectiveCBridgeStubURLAppendPathRef 225853 228923 +1.4% 0.99x (?)
ObjectiveCBridgeToNSArray 29165 29184 +0.1% 1.00x (?)
ObjectiveCBridgeToNSDictionary 50171 49652 -1.0% 1.01x (?)
ObjectiveCBridgeToNSSet 43519 43364 -0.4% 1.00x (?)
ObjectiveCBridgeToNSString 1312 1314 +0.2% 1.00x (?)
ObserverClosure 6870 6872 +0.0% 1.00x (?)
ObserverForwarderStruct 4806 4801 -0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 8288 8322 +0.4% 1.00x
ObserverUnappliedMethod 8566 8601 +0.4% 1.00x (?)
OpenClose 395 395 +0.0% 1.00x
Phonebook 21678 21725 +0.2% 1.00x (?)
PolymorphicCalls 5399 5404 +0.1% 1.00x (?)
PopFrontArray 7503 7497 -0.1% 1.00x (?)
PopFrontArrayGeneric 6547 6552 +0.1% 1.00x (?)
PopFrontUnsafePointer 97561 97162 -0.4% 1.00x
PrefixAnyCollection 19122 19123 +0.0% 1.00x (?)
PrefixAnyCollectionLazy 138485 137445 -0.8% 1.01x (?)
PrefixAnySeqCRangeIter 23300 23303 +0.0% 1.00x (?)
PrefixAnySeqCRangeIterLazy 23288 23348 +0.3% 1.00x (?)
PrefixAnySeqCntRange 19223 19228 +0.0% 1.00x (?)
PrefixAnySeqCntRangeLazy 19412 19415 +0.0% 1.00x (?)
PrefixAnySequence 10917 10916 -0.0% 1.00x (?)
PrefixAnySequenceLazy 11084 11084 +0.0% 1.00x
PrefixArray 6410 6412 +0.0% 1.00x (?)
PrefixArrayLazy 44454 44460 +0.0% 1.00x (?)
PrefixCountableRange 339 339 +0.0% 1.00x
PrefixCountableRangeLazy 38365 38374 +0.0% 1.00x (?)
PrefixSequence 9783 10149 +3.7% 0.96x (?)
PrefixSequenceLazy 9685 9681 -0.0% 1.00x (?)
PrefixWhileAnyCollection 36566 36673 +0.3% 1.00x
PrefixWhileAnyCollectionLazy 23705 23701 -0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIter 41607 41614 +0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 22778 22757 -0.1% 1.00x (?)
PrefixWhileAnySeqCntRange 36400 36401 +0.0% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 23936 23934 -0.0% 1.00x (?)
PrefixWhileAnySequence 29537 29499 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 11736 11731 -0.0% 1.00x (?)
PrefixWhileArray 16726 16718 -0.0% 1.00x (?)
PrefixWhileArrayLazy 14635 14652 +0.1% 1.00x (?)
PrefixWhileCountableRange 17795 17876 +0.5% 1.00x (?)
PrefixWhileCountableRangeLazy 22500 22419 -0.4% 1.00x (?)
PrefixWhileSequence 28821 28533 -1.0% 1.01x (?)
PrefixWhileSequenceLazy 10579 10580 +0.0% 1.00x (?)
Prims 10192 10188 -0.0% 1.00x (?)
ProtocolDispatch 7002 7003 +0.0% 1.00x (?)
ProtocolDispatch2 489 489 +0.0% 1.00x
RC4 19167 19184 +0.1% 1.00x (?)
RGBHistogram 33913 34014 +0.3% 1.00x (?)
RGBHistogramOfObjects 110082 109447 -0.6% 1.01x (?)
RangeAssignment 5683 5689 +0.1% 1.00x (?)
RecursiveOwnedParameter 11733 11721 -0.1% 1.00x
ReversedArray 44122 44132 +0.0% 1.00x (?)
ReversedBidirectional 77977 77972 -0.0% 1.00x (?)
ReversedDictionary 28740 28737 -0.0% 1.00x (?)
SetExclusiveOr 20889 20847 -0.2% 1.00x (?)
SetExclusiveOr_OfObjects 48947 48996 +0.1% 1.00x (?)
SetIntersect 10376 10369 -0.1% 1.00x (?)
SetIntersect_OfObjects 12395 12390 -0.0% 1.00x (?)
SetIsSubsetOf 1607 1607 +0.0% 1.00x
SetIsSubsetOf_OfObjects 1533 1533 +0.0% 1.00x
SetUnion 11761 11772 +0.1% 1.00x (?)
SetUnion_OfObjects 34297 34160 -0.4% 1.00x
SevenBoom 1597 1612 +0.9% 0.99x (?)
Sim2DArray 30034 30028 -0.0% 1.00x (?)
SortLargeExistentials 17878 17881 +0.0% 1.00x (?)
SortLettersInPlace 3207 3235 +0.9% 0.99x (?)
SortSortedStrings 1429 1422 -0.5% 1.00x (?)
SortStrings 2460 2464 +0.2% 1.00x
SortStringsUnicode 23637 23496 -0.6% 1.01x (?)
StackPromo 100702 99567 -1.1% 1.01x (?)
StaticArray 4571 4575 +0.1% 1.00x (?)
StrComplexWalk 6879 6863 -0.2% 1.00x (?)
StrToInt 97843 97593 -0.3% 1.00x (?)
StringAdder 43 43 +0.0% 1.00x
StringBuilderLong 1091 1074 -1.6% 1.02x
StringEdits 372698 376175 +0.9% 0.99x (?)
StringEqualPointerComparison 2587 2593 +0.2% 1.00x (?)
StringFromLongWholeSubstring 9980 9988 +0.1% 1.00x (?)
StringFromLongWholeSubstringGeneric 210 210 +0.0% 1.00x
StringHasPrefix 1821 1821 +0.0% 1.00x
StringHasPrefixUnicode 42945 42866 -0.2% 1.00x (?)
StringHasSuffix 1912 1912 +0.0% 1.00x
StringHasSuffixUnicode 91541 91456 -0.1% 1.00x (?)
StringInterpolation 13649 13748 +0.7% 0.99x (?)
StringMatch 29134 29125 -0.0% 1.00x (?)
StringUTF16Builder 7775 7775 +0.0% 1.00x
StringWalk 12584 12587 +0.0% 1.00x (?)
StringWithCString 71964 71447 -0.7% 1.01x
SubstringComparable 6270 6265 -0.1% 1.00x (?)
SubstringEqualString 9205 9168 -0.4% 1.00x (?)
SubstringEquatable 12008 12028 +0.2% 1.00x (?)
SubstringFromLongString 114 114 +0.0% 1.00x
SubstringFromLongStringGeneric 220 220 +0.0% 1.00x
SuffixAnyCollection 6399 6400 +0.0% 1.00x (?)
SuffixAnyCollectionLazy 46624 46429 -0.4% 1.00x (?)
SuffixAnySeqCRangeIter 41288 41352 +0.2% 1.00x (?)
SuffixAnySeqCRangeIterLazy 41778 41810 +0.1% 1.00x (?)
SuffixAnySeqCntRange 6395 6400 +0.1% 1.00x (?)
SuffixAnySeqCntRangeLazy 6496 6497 +0.0% 1.00x (?)
SuffixAnySequence 26851 26857 +0.0% 1.00x (?)
SuffixAnySequenceLazy 26890 26882 -0.0% 1.00x (?)
SuffixArray 2111 2112 +0.0% 1.00x (?)
SuffixArrayLazy 14760 14756 -0.0% 1.00x (?)
SuffixCountableRange 118 118 +0.0% 1.00x
SuffixCountableRangeLazy 12826 12827 +0.0% 1.00x (?)
SuffixSequence 26537 26526 -0.0% 1.00x (?)
SuffixSequenceLazy 26443 26474 +0.1% 1.00x (?)
SuperChars 296541 300405 +1.3% 0.99x (?)
TwoSum 4269 4269 +0.0% 1.00x
TypeFlood 159 167 +5.0% 0.95x (?)
UTF8Decode 37132 37043 -0.2% 1.00x
Walsh 11862 11859 -0.0% 1.00x (?)
XorLoop 23704 23713 +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

@swiftix swiftix merged commit 375c181 into swiftlang:master Jun 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants