Skip to content

[DO NOT MERGE] Revert "[stdlib] Restore @inline(__always) on Collection.first" #9595

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

Closed
wants to merge 1 commit into from

Conversation

airspeedswift
Copy link
Member

Reverts #9593 for benchmarking purposes.

@airspeedswift
Copy link
Member Author

@swift-ci please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (2)
TEST OLD NEW DELTA SPEEDUP
StringMatch 8809 10079 +14.4% 0.87x
IterateData 706 757 +7.2% 0.93x
Improvement (1)
TEST OLD NEW DELTA SPEEDUP
StringHasPrefixUnicode 15178 14455 -4.8% 1.05x (?)
No Changes (270)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2921 2905 -0.5% 1.01x (?)
AnyHashableWithAClass 66466 66818 +0.5% 0.99x (?)
Array2D 2043 2022 -1.0% 1.01x (?)
ArrayAppend 770 769 -0.1% 1.00x (?)
ArrayAppendArrayOfInt 596 597 +0.2% 1.00x (?)
ArrayAppendAscii 22584 22691 +0.5% 1.00x (?)
ArrayAppendFromGeneric 596 596 +0.0% 1.00x
ArrayAppendGenericStructs 1220 1225 +0.4% 1.00x (?)
ArrayAppendLatin1 42791 43162 +0.9% 0.99x (?)
ArrayAppendLazyMap 935 935 +0.0% 1.00x
ArrayAppendOptionals 1222 1221 -0.1% 1.00x (?)
ArrayAppendRepeatCol 838 838 +0.0% 1.00x
ArrayAppendReserved 533 533 +0.0% 1.00x
ArrayAppendSequence 945 946 +0.1% 1.00x (?)
ArrayAppendStrings 13505 13533 +0.2% 1.00x (?)
ArrayAppendToFromGeneric 596 596 +0.0% 1.00x
ArrayAppendToGeneric 597 596 -0.2% 1.00x (?)
ArrayAppendUTF16 41030 41021 -0.0% 1.00x (?)
ArrayInClass 61 61 +0.0% 1.00x
ArrayLiteral 1221 1225 +0.3% 1.00x (?)
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 3995 3988 -0.2% 1.00x (?)
ArrayOfPOD 166 166 +0.0% 1.00x
ArrayOfRef 3875 3871 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 597 597 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 4698 4641 -1.2% 1.01x (?)
ArrayPlusEqualSingleElementCollection 769 769 +0.0% 1.00x
ArrayPlusEqualThreeElements 1589 1600 +0.7% 0.99x (?)
ArraySubscript 1476 1477 +0.1% 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 9 9 +0.0% 1.00x
ByteSwap 0 0 +0.0% 1.00x
CStringLongAscii 4948 4946 -0.0% 1.00x (?)
CStringLongNonAscii 2151 2156 +0.2% 1.00x (?)
CStringShortAscii 5475 5444 -0.6% 1.01x (?)
Calculator 31 31 +0.0% 1.00x
CaptureProp 4575 4538 -0.8% 1.01x (?)
CharacterLiteralsLarge 8637 8842 +2.4% 0.98x (?)
CharacterLiteralsSmall 311 311 +0.0% 1.00x
Chars 1714 1710 -0.2% 1.00x (?)
ClassArrayGetter 13 13 +0.0% 1.00x
DeadArray 181 181 +0.0% 1.00x
Dictionary 567 563 -0.7% 1.01x
Dictionary2 1802 1801 -0.1% 1.00x (?)
Dictionary2OfObjects 3309 3330 +0.6% 0.99x (?)
Dictionary3 454 454 +0.0% 1.00x
Dictionary3OfObjects 894 896 +0.2% 1.00x (?)
DictionaryBridge 2639 2616 -0.9% 1.01x (?)
DictionaryLiteral 1469 1481 +0.8% 0.99x (?)
DictionaryOfObjects 2339 2343 +0.2% 1.00x (?)
DictionaryRemove 3301 3300 -0.0% 1.00x (?)
DictionaryRemoveOfObjects 23378 23308 -0.3% 1.00x (?)
DictionarySwap 375 375 +0.0% 1.00x
DictionarySwapOfObjects 6940 6899 -0.6% 1.01x (?)
DropFirstAnyCollection 56 56 +0.0% 1.00x
DropFirstAnyCollectionLazy 44815 44889 +0.2% 1.00x (?)
DropFirstAnySeqCRangeIter 27441 27359 -0.3% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 27472 27357 -0.4% 1.00x (?)
DropFirstAnySeqCntRange 50 50 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 50 50 +0.0% 1.00x
DropFirstAnySequence 7111 7089 -0.3% 1.00x
DropFirstAnySequenceLazy 7140 7098 -0.6% 1.01x (?)
DropFirstArray 25 24 -4.0% 1.04x
DropFirstArrayLazy 25 25 +0.0% 1.00x
DropFirstCountableRange 32 32 +0.0% 1.00x
DropFirstCountableRangeLazy 32 32 +0.0% 1.00x
DropFirstSequence 3065 3064 -0.0% 1.00x (?)
DropFirstSequenceLazy 3028 3027 -0.0% 1.00x (?)
DropLastAnyCollection 22 22 +0.0% 1.00x
DropLastAnyCollectionLazy 14969 14886 -0.6% 1.01x (?)
DropLastAnySeqCRangeIter 4605 4603 -0.0% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4607 4602 -0.1% 1.00x (?)
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 16 16 +0.0% 1.00x
DropLastAnySequence 6681 6699 +0.3% 1.00x (?)
DropLastAnySequenceLazy 6538 6531 -0.1% 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 562 565 +0.5% 0.99x (?)
DropLastSequenceLazy 562 564 +0.4% 1.00x (?)
DropWhileAnyCollection 69 69 +0.0% 1.00x
DropWhileAnyCollectionLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCRangeIter 22166 22005 -0.7% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 103 103 +0.0% 1.00x
DropWhileAnySeqCntRange 64 64 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 103 103 +0.0% 1.00x
DropWhileAnySequence 7621 7617 -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 3039 3124 +2.8% 0.97x
DropWhileSequenceLazy 65 65 +0.0% 1.00x
ErrorHandling 2861 2863 +0.1% 1.00x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 3277 3292 +0.5% 1.00x (?)
HashQuadratic 6351764 6345565 -0.1% 1.00x (?)
HashTest 1706 1704 -0.1% 1.00x (?)
Histogram 248 248 +0.0% 1.00x
Integrate 262 262 +0.0% 1.00x
Join 445 441 -0.9% 1.01x (?)
LazilyFilteredArrays 64817 64804 -0.0% 1.00x (?)
LazilyFilteredRange 3889 3889 +0.0% 1.00x
LinkedList 7116 7116 +0.0% 1.00x
MapReduce 306 305 -0.3% 1.00x (?)
MapReduceAnyCollection 305 304 -0.3% 1.00x (?)
MapReduceAnyCollectionShort 2000 1993 -0.3% 1.00x (?)
MapReduceClass 3060 3053 -0.2% 1.00x (?)
MapReduceClassShort 4527 4581 +1.2% 0.99x (?)
MapReduceLazyCollection 15 15 +0.0% 1.00x
MapReduceLazyCollectionShort 45 45 +0.0% 1.00x
MapReduceLazySequence 90 90 +0.0% 1.00x
MapReduceSequence 452 450 -0.4% 1.00x (?)
MapReduceShort 1912 1890 -1.2% 1.01x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 108 109 +0.9% 0.99x (?)
Memset 235 235 +0.0% 1.00x
MonteCarloE 10227 10279 +0.5% 0.99x (?)
MonteCarloPi 44016 44066 +0.1% 1.00x (?)
NSDictionaryCastToSwift 5271 5314 +0.8% 0.99x (?)
NSError 289 289 +0.0% 1.00x
NSStringConversion 780 764 -2.1% 1.02x (?)
NopDeinit 28954 29252 +1.0% 0.99x
ObjectAllocation 180 180 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 23383 23367 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4522 4510 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43966 43431 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 37783 37282 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 118177 118199 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5190 5180 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 96307 95257 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 90358 89269 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 64612 64878 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4177 4149 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 72124 71646 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 62885 62480 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSString 1422 1407 -1.1% 1.01x
ObjectiveCBridgeFromNSStringForced 2354 2353 -0.0% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3695 3733 +1.0% 0.99x (?)
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 29038 29101 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 3669 3643 -0.7% 1.01x
ObjectiveCBridgeStubFromNSDateRef 3610 3611 +0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSString 947 961 +1.5% 0.99x
ObjectiveCBridgeStubFromNSStringRef 174 174 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2273 2292 +0.8% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 12426 12566 +1.1% 0.99x (?)
ObjectiveCBridgeStubNSDateRefAccess 347 345 -0.6% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 27902 29001 +3.9% 0.96x (?)
ObjectiveCBridgeStubToNSDate 14414 14681 +1.9% 0.98x (?)
ObjectiveCBridgeStubToNSDateRef 3395 3381 -0.4% 1.00x (?)
ObjectiveCBridgeStubToNSString 1518 1515 -0.2% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 109 109 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 211570 212167 +0.3% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 212661 213212 +0.3% 1.00x (?)
ObjectiveCBridgeToNSArray 29075 28816 -0.9% 1.01x (?)
ObjectiveCBridgeToNSDictionary 45457 44804 -1.4% 1.01x (?)
ObjectiveCBridgeToNSSet 39294 39025 -0.7% 1.01x (?)
ObjectiveCBridgeToNSString 1274 1273 -0.1% 1.00x (?)
ObserverClosure 2287 2299 +0.5% 0.99x (?)
ObserverForwarderStruct 1128 1130 +0.2% 1.00x (?)
ObserverPartiallyAppliedMethod 3800 3825 +0.7% 0.99x (?)
ObserverUnappliedMethod 2640 2640 +0.0% 1.00x
OpenClose 51 51 +0.0% 1.00x
Phonebook 7925 7947 +0.3% 1.00x (?)
PolymorphicCalls 22 22 +0.0% 1.00x
PopFrontArray 1101 1101 +0.0% 1.00x
PopFrontArrayGeneric 1101 1101 +0.0% 1.00x
PopFrontUnsafePointer 8971 8968 -0.0% 1.00x (?)
PrefixAnyCollection 56 56 +0.0% 1.00x
PrefixAnyCollectionLazy 44981 44957 -0.1% 1.00x (?)
PrefixAnySeqCRangeIter 21594 21476 -0.5% 1.01x (?)
PrefixAnySeqCRangeIterLazy 21581 21477 -0.5% 1.00x
PrefixAnySeqCntRange 50 50 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 50 50 +0.0% 1.00x
PrefixAnySequence 6442 6434 -0.1% 1.00x (?)
PrefixAnySequenceLazy 6453 6417 -0.6% 1.01x (?)
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 2657 2657 +0.0% 1.00x
PrefixSequenceLazy 2617 2617 +0.0% 1.00x
PrefixWhileAnyCollection 96 96 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 75 75 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12483 12478 -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 14131 14006 -0.9% 1.01x
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 294 294 +0.0% 1.00x
PrefixWhileSequenceLazy 28 28 +0.0% 1.00x
Prims 750 754 +0.5% 0.99x (?)
ProtocolDispatch 3030 3030 +0.0% 1.00x
ProtocolDispatch2 169 168 -0.6% 1.01x (?)
RC4 160 159 -0.6% 1.01x (?)
RGBHistogram 2250 2247 -0.1% 1.00x (?)
RGBHistogramOfObjects 24275 24298 +0.1% 1.00x (?)
RangeAssignment 296 293 -1.0% 1.01x (?)
RecursiveOwnedParameter 2312 2313 +0.0% 1.00x (?)
ReversedArray 49 49 +0.0% 1.00x
ReversedBidirectional 28972 28888 -0.3% 1.00x (?)
ReversedDictionary 108 108 +0.0% 1.00x
SetExclusiveOr 2971 2960 -0.4% 1.00x (?)
SetExclusiveOr_OfObjects 9622 9585 -0.4% 1.00x (?)
SetIntersect 271 271 +0.0% 1.00x
SetIntersect_OfObjects 1723 1724 +0.1% 1.00x (?)
SetIsSubsetOf 286 286 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 359 +0.0% 1.00x
SetUnion 2643 2651 +0.3% 1.00x (?)
SetUnion_OfObjects 8115 8076 -0.5% 1.00x (?)
SevenBoom 1461 1461 +0.0% 1.00x
Sim2DArray 276 276 +0.0% 1.00x
SortLargeExistentials 8002 7982 -0.2% 1.00x (?)
SortLettersInPlace 1146 1145 -0.1% 1.00x (?)
SortSortedStrings 830 824 -0.7% 1.01x (?)
SortStrings 1624 1604 -1.2% 1.01x (?)
SortStringsUnicode 7990 7721 -3.4% 1.03x
StackPromo 22034 22056 +0.1% 1.00x (?)
StaticArray 21 21 +0.0% 1.00x
StrComplexWalk 720 719 -0.1% 1.00x (?)
StrToInt 4661 4897 +5.1% 0.95x
StringAdder 0 0 +0.0% 1.00x
StringBuilder 1320 1321 +0.1% 1.00x (?)
StringBuilderLong 924 916 -0.9% 1.01x (?)
StringEdits 203182 202742 -0.2% 1.00x (?)
StringEqualPointerComparison 7334 7330 -0.1% 1.00x (?)
StringFromLongWholeSubstring 9534 9241 -3.1% 1.03x (?)
StringFromLongWholeSubstringGeneric 9328 9301 -0.3% 1.00x (?)
StringHasPrefix 16 16 +0.0% 1.00x
StringHasSuffix 16 16 +0.0% 1.00x
StringHasSuffixUnicode 62656 61745 -1.5% 1.01x (?)
StringInterpolation 8317 8471 +1.9% 0.98x (?)
StringUTF16Builder 2078 2054 -1.2% 1.01x (?)
StringWalk 1288 1288 +0.0% 1.00x
StringWithCString 125164 125259 +0.1% 1.00x (?)
SubstringFromLongString 90 89 -1.1% 1.01x
SubstringFromLongStringGeneric 37967 38072 +0.3% 1.00x (?)
SuffixAnyCollection 22 22 +0.0% 1.00x
SuffixAnyCollectionLazy 14866 14914 +0.3% 1.00x (?)
SuffixAnySeqCRangeIter 4931 4928 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4931 4928 -0.1% 1.00x (?)
SuffixAnySeqCntRange 16 16 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 16 16 +0.0% 1.00x
SuffixAnySequence 6713 6674 -0.6% 1.01x
SuffixAnySequenceLazy 6574 6594 +0.3% 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 4463 4459 -0.1% 1.00x (?)
SuffixSequenceLazy 4462 4456 -0.1% 1.00x (?)
SuperChars 296259 296071 -0.1% 1.00x (?)
TwoSum 857 857 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 259 259 +0.0% 1.00x
Walsh 356 356 +0.0% 1.00x
XorLoop 347 347 +0.0% 1.00x
**Unoptimized (Onone)**
Regression (3)
TEST OLD NEW DELTA SPEEDUP
StringWalk 4296 5001 +16.4% 0.86x
StrToInt 5356 5846 +9.1% 0.92x
StringAdder 47 50 +6.4% 0.94x
Improvement (3)
TEST OLD NEW DELTA SPEEDUP
StringHasPrefix 1968 1757 -10.7% 1.12x
ObjectiveCBridgeStubToNSDate 15263 14249 -6.6% 1.07x (?)
ObjectiveCBridgeStubNSDateMutationRef 15327 14511 -5.3% 1.06x (?)
No Changes (267)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3104 3141 +1.2% 0.99x (?)
AnyHashableWithAClass 84996 84388 -0.7% 1.01x
Array2D 608106 608365 +0.0% 1.00x (?)
ArrayAppend 3907 3906 -0.0% 1.00x (?)
ArrayAppendArrayOfInt 652 652 +0.0% 1.00x
ArrayAppendAscii 60471 60951 +0.8% 0.99x
ArrayAppendFromGeneric 654 656 +0.3% 1.00x (?)
ArrayAppendGenericStructs 1295 1292 -0.2% 1.00x (?)
ArrayAppendLatin1 82544 84644 +2.5% 0.98x
ArrayAppendLazyMap 211116 210976 -0.1% 1.00x (?)
ArrayAppendOptionals 1326 1295 -2.3% 1.02x
ArrayAppendRepeatCol 219479 218626 -0.4% 1.00x (?)
ArrayAppendReserved 3663 3657 -0.2% 1.00x (?)
ArrayAppendSequence 74990 76228 +1.7% 0.98x
ArrayAppendStrings 13690 13601 -0.7% 1.01x (?)
ArrayAppendToFromGeneric 654 656 +0.3% 1.00x (?)
ArrayAppendToGeneric 654 656 +0.3% 1.00x
ArrayAppendUTF16 81082 81972 +1.1% 0.99x
ArrayInClass 4735 4733 -0.0% 1.00x
ArrayLiteral 1478 1481 +0.2% 1.00x (?)
ArrayOfGenericPOD 3077 3077 +0.0% 1.00x
ArrayOfGenericRef 9578 9555 -0.2% 1.00x (?)
ArrayOfPOD 1892 1892 +0.0% 1.00x
ArrayOfRef 8741 8733 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 652 653 +0.2% 1.00x
ArrayPlusEqualFiveElementCollection 284172 286423 +0.8% 0.99x (?)
ArrayPlusEqualSingleElementCollection 281579 282058 +0.2% 1.00x (?)
ArrayPlusEqualThreeElements 10066 10099 +0.3% 1.00x (?)
ArraySubscript 4215 4219 +0.1% 1.00x (?)
ArrayValueProp 3020 3021 +0.0% 1.00x (?)
ArrayValueProp2 3659 3667 +0.2% 1.00x (?)
ArrayValueProp3 3434 3429 -0.1% 1.00x (?)
ArrayValueProp4 3348 3341 -0.2% 1.00x
BitCount 862 862 +0.0% 1.00x
ByteSwap 268 265 -1.1% 1.01x (?)
CStringLongAscii 5226 5233 +0.1% 1.00x (?)
CStringLongNonAscii 2359 2398 +1.7% 0.98x (?)
CStringShortAscii 8257 8251 -0.1% 1.00x (?)
Calculator 1201 1195 -0.5% 1.01x
CaptureProp 108000 108220 +0.2% 1.00x
CharacterLiteralsLarge 10024 9958 -0.7% 1.01x
CharacterLiteralsSmall 1003 1003 +0.0% 1.00x
Chars 7483 7487 +0.1% 1.00x (?)
ClassArrayGetter 931 931 +0.0% 1.00x
DeadArray 117745 117281 -0.4% 1.00x (?)
Dictionary 1679 1673 -0.4% 1.00x (?)
Dictionary2 3497 3502 +0.1% 1.00x (?)
Dictionary2OfObjects 5811 5817 +0.1% 1.00x (?)
Dictionary3 1319 1323 +0.3% 1.00x (?)
Dictionary3OfObjects 2204 2214 +0.5% 1.00x (?)
DictionaryBridge 2700 2762 +2.3% 0.98x (?)
DictionaryLiteral 8193 8228 +0.4% 1.00x (?)
DictionaryOfObjects 4583 4558 -0.5% 1.01x (?)
DictionaryRemove 21131 21113 -0.1% 1.00x (?)
DictionaryRemoveOfObjects 55018 55003 -0.0% 1.00x (?)
DictionarySwap 5421 5375 -0.8% 1.01x (?)
DictionarySwapOfObjects 19746 19739 -0.0% 1.00x (?)
DropFirstAnyCollection 19092 19145 +0.3% 1.00x (?)
DropFirstAnyCollectionLazy 138923 141055 +1.5% 0.98x (?)
DropFirstAnySeqCRangeIter 30572 30380 -0.6% 1.01x
DropFirstAnySeqCRangeIterLazy 30342 30215 -0.4% 1.00x
DropFirstAnySeqCntRange 19236 19188 -0.2% 1.00x (?)
DropFirstAnySeqCntRangeLazy 19878 19877 -0.0% 1.00x (?)
DropFirstAnySequence 13990 14028 +0.3% 1.00x
DropFirstAnySequenceLazy 14325 14299 -0.2% 1.00x
DropFirstArray 6319 6327 +0.1% 1.00x
DropFirstArrayLazy 45497 46011 +1.1% 0.99x
DropFirstCountableRange 339 339 +0.0% 1.00x
DropFirstCountableRangeLazy 38248 38612 +1.0% 0.99x (?)
DropFirstSequence 12836 12856 +0.2% 1.00x
DropFirstSequenceLazy 12878 12873 -0.0% 1.00x (?)
DropLastAnyCollection 6417 6401 -0.2% 1.00x
DropLastAnyCollectionLazy 46226 47112 +1.9% 0.98x (?)
DropLastAnySeqCRangeIter 43780 43741 -0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 43582 43502 -0.2% 1.00x (?)
DropLastAnySeqCntRange 6394 6387 -0.1% 1.00x (?)
DropLastAnySeqCntRangeLazy 6608 6648 +0.6% 0.99x (?)
DropLastAnySequence 28969 28967 -0.0% 1.00x (?)
DropLastAnySequenceLazy 29045 29003 -0.1% 1.00x
DropLastArray 2070 2073 +0.1% 1.00x (?)
DropLastArrayLazy 15173 15351 +1.2% 0.99x (?)
DropLastCountableRange 116 116 +0.0% 1.00x
DropLastCountableRangeLazy 12823 12889 +0.5% 0.99x (?)
DropLastSequence 28616 28699 +0.3% 1.00x (?)
DropLastSequenceLazy 28628 28654 +0.1% 1.00x (?)
DropWhileAnyCollection 25425 25453 +0.1% 1.00x (?)
DropWhileAnyCollectionLazy 27539 27429 -0.4% 1.00x (?)
DropWhileAnySeqCRangeIter 32047 31897 -0.5% 1.00x
DropWhileAnySeqCRangeIterLazy 28030 28106 +0.3% 1.00x (?)
DropWhileAnySeqCntRange 25675 25599 -0.3% 1.00x
DropWhileAnySeqCntRangeLazy 27614 27484 -0.5% 1.00x
DropWhileAnySequence 16112 16116 +0.0% 1.00x (?)
DropWhileAnySequenceLazy 12395 12474 +0.6% 0.99x
DropWhileArray 9755 9725 -0.3% 1.00x (?)
DropWhileArrayLazy 17156 17171 +0.1% 1.00x (?)
DropWhileCountableRange 6186 6121 -1.1% 1.01x (?)
DropWhileCountableRangeLazy 28685 28650 -0.1% 1.00x (?)
DropWhileSequence 15054 15057 +0.0% 1.00x (?)
DropWhileSequenceLazy 11203 11232 +0.3% 1.00x
ErrorHandling 3803 3793 -0.3% 1.00x (?)
GlobalClass 0 0 +0.0% 1.00x
Hanoi 17730 17716 -0.1% 1.00x (?)
HashQuadratic 52485969 52501889 +0.0% 1.00x (?)
HashTest 18388 18585 +1.1% 0.99x (?)
Histogram 8694 8698 +0.0% 1.00x (?)
Integrate 399 398 -0.3% 1.00x
IterateData 12799 12793 -0.0% 1.00x (?)
Join 1262 1270 +0.6% 0.99x (?)
LazilyFilteredArrays 1677741 1677039 -0.0% 1.00x (?)
LazilyFilteredRange 674337 671851 -0.4% 1.00x (?)
LinkedList 33175 33177 +0.0% 1.00x (?)
MapReduce 37844 37790 -0.1% 1.00x (?)
MapReduceAnyCollection 38318 37850 -1.2% 1.01x (?)
MapReduceAnyCollectionShort 50281 50912 +1.3% 0.99x (?)
MapReduceClass 43010 42976 -0.1% 1.00x (?)
MapReduceClassShort 54435 54521 +0.2% 1.00x (?)
MapReduceLazyCollection 32339 32533 +0.6% 0.99x (?)
MapReduceLazyCollectionShort 43817 43758 -0.1% 1.00x (?)
MapReduceLazySequence 25464 25695 +0.9% 0.99x
MapReduceSequence 41759 41750 -0.0% 1.00x (?)
MapReduceShort 49892 50194 +0.6% 0.99x (?)
MapReduceShortString 282 282 +0.0% 1.00x
MapReduceString 2635 2623 -0.5% 1.00x (?)
Memset 43992 43992 +0.0% 1.00x
MonteCarloE 134805 135255 +0.3% 1.00x (?)
MonteCarloPi 52422 52430 +0.0% 1.00x (?)
NSDictionaryCastToSwift 6393 6513 +1.9% 0.98x (?)
NSError 706 704 -0.3% 1.00x (?)
NSStringConversion 1351 1372 +1.6% 0.98x
NopDeinit 53294 53284 -0.0% 1.00x (?)
ObjectAllocation 633 635 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25742 25448 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7813 7800 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 45461 45083 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 38571 38622 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 122553 123181 +0.5% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7513 7538 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 102814 102539 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 94412 91583 -3.0% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObject 67987 68394 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7222 7019 -2.8% 1.03x
ObjectiveCBridgeFromNSSetAnyObjectToString 77810 75834 -2.5% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 66470 66227 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSString 4042 4047 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2702 2714 +0.4% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3835 3816 -0.5% 1.00x (?)
ObjectiveCBridgeStubDateAccess 1018 1019 +0.1% 1.00x (?)
ObjectiveCBridgeStubDateMutation 579 582 +0.5% 0.99x (?)
ObjectiveCBridgeStubFromArrayOfNSString 29212 29128 -0.3% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 4256 4270 +0.3% 1.00x (?)
ObjectiveCBridgeStubFromNSDateRef 4067 4066 -0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSString 967 994 +2.8% 0.97x
ObjectiveCBridgeStubFromNSStringRef 217 217 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2771 2724 -1.7% 1.02x (?)
ObjectiveCBridgeStubNSDateRefAccess 1207 1208 +0.1% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 28676 28560 -0.4% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3401 3380 -0.6% 1.01x (?)
ObjectiveCBridgeStubToNSString 1567 1567 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 149 149 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 217796 215443 -1.1% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 219973 220246 +0.1% 1.00x (?)
ObjectiveCBridgeToNSArray 29139 29158 +0.1% 1.00x (?)
ObjectiveCBridgeToNSDictionary 46528 45496 -2.2% 1.02x (?)
ObjectiveCBridgeToNSSet 40236 39730 -1.3% 1.01x (?)
ObjectiveCBridgeToNSString 1305 1310 +0.4% 1.00x (?)
ObserverClosure 6633 6651 +0.3% 1.00x (?)
ObserverForwarderStruct 4701 4686 -0.3% 1.00x
ObserverPartiallyAppliedMethod 8100 8145 +0.6% 0.99x (?)
ObserverUnappliedMethod 8458 8391 -0.8% 1.01x (?)
OpenClose 393 394 +0.3% 1.00x
Phonebook 24639 24676 +0.2% 1.00x (?)
PolymorphicCalls 2919 2897 -0.8% 1.01x
PopFrontArray 7462 7448 -0.2% 1.00x (?)
PopFrontArrayGeneric 6454 6434 -0.3% 1.00x (?)
PopFrontUnsafePointer 99339 97091 -2.3% 1.02x
PrefixAnyCollection 19143 19157 +0.1% 1.00x (?)
PrefixAnyCollectionLazy 138486 141237 +2.0% 0.98x
PrefixAnySeqCRangeIter 24643 24399 -1.0% 1.01x
PrefixAnySeqCRangeIterLazy 25392 25220 -0.7% 1.01x
PrefixAnySeqCntRange 19229 19215 -0.1% 1.00x
PrefixAnySeqCntRangeLazy 19485 19392 -0.5% 1.00x
PrefixAnySequence 11749 11864 +1.0% 0.99x
PrefixAnySequenceLazy 11805 11839 +0.3% 1.00x
PrefixArray 6323 6322 -0.0% 1.00x (?)
PrefixArrayLazy 45484 46013 +1.2% 0.99x
PrefixCountableRange 339 340 +0.3% 1.00x
PrefixCountableRangeLazy 38530 38949 +1.1% 0.99x (?)
PrefixSequence 10791 10846 +0.5% 0.99x
PrefixSequenceLazy 10760 10734 -0.2% 1.00x (?)
PrefixWhileAnyCollection 36816 36927 +0.3% 1.00x (?)
PrefixWhileAnyCollectionLazy 23676 23607 -0.3% 1.00x
PrefixWhileAnySeqCRangeIter 40532 40427 -0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 22966 22854 -0.5% 1.00x
PrefixWhileAnySeqCntRange 37146 37156 +0.0% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 23685 23628 -0.2% 1.00x (?)
PrefixWhileAnySequence 29541 29454 -0.3% 1.00x (?)
PrefixWhileAnySequenceLazy 11342 11294 -0.4% 1.00x
PrefixWhileArray 16786 16793 +0.0% 1.00x (?)
PrefixWhileArrayLazy 14830 14819 -0.1% 1.00x (?)
PrefixWhileCountableRange 17686 17540 -0.8% 1.01x (?)
PrefixWhileCountableRangeLazy 22469 22106 -1.6% 1.02x (?)
PrefixWhileSequence 28336 28321 -0.1% 1.00x (?)
PrefixWhileSequenceLazy 10664 10613 -0.5% 1.00x
Prims 8939 8969 +0.3% 1.00x (?)
ProtocolDispatch 6980 7015 +0.5% 1.00x (?)
ProtocolDispatch2 495 492 -0.6% 1.01x (?)
RC4 19456 19318 -0.7% 1.01x (?)
RGBHistogram 33899 33771 -0.4% 1.00x (?)
RGBHistogramOfObjects 99336 99116 -0.2% 1.00x (?)
RangeAssignment 5794 5787 -0.1% 1.00x (?)
RecursiveOwnedParameter 9668 9626 -0.4% 1.00x
ReversedArray 588 588 +0.0% 1.00x
ReversedBidirectional 74499 74977 +0.6% 0.99x (?)
ReversedDictionary 26567 26565 -0.0% 1.00x (?)
SetExclusiveOr 21070 21097 +0.1% 1.00x (?)
SetExclusiveOr_OfObjects 41180 41221 +0.1% 1.00x (?)
SetIntersect 10572 10573 +0.0% 1.00x (?)
SetIntersect_OfObjects 11175 11283 +1.0% 0.99x (?)
SetIsSubsetOf 1617 1625 +0.5% 1.00x
SetIsSubsetOf_OfObjects 1519 1517 -0.1% 1.00x
SetUnion 12023 12064 +0.3% 1.00x
SetUnion_OfObjects 29602 29638 +0.1% 1.00x (?)
SevenBoom 1592 1597 +0.3% 1.00x (?)
Sim2DArray 30065 30049 -0.1% 1.00x (?)
SortLargeExistentials 17850 17824 -0.1% 1.00x
SortLettersInPlace 2849 2846 -0.1% 1.00x (?)
SortSortedStrings 1406 1406 +0.0% 1.00x
SortStrings 2480 2453 -1.1% 1.01x
SortStringsUnicode 9067 8815 -2.8% 1.03x
StackPromo 99092 99775 +0.7% 0.99x (?)
StaticArray 4571 4631 +1.3% 0.99x
StrComplexWalk 6853 6867 +0.2% 1.00x
StringBuilder 2764 2780 +0.6% 0.99x (?)
StringBuilderLong 1083 1067 -1.5% 1.01x
StringEdits 497386 486482 -2.2% 1.02x
StringEqualPointerComparison 9678 9707 +0.3% 1.00x
StringFromLongWholeSubstring 9205 9218 +0.1% 1.00x (?)
StringFromLongWholeSubstringGeneric 14106 14141 +0.2% 1.00x (?)
StringHasPrefixUnicode 16710 16448 -1.6% 1.02x
StringHasSuffix 1910 1952 +2.2% 0.98x
StringHasSuffixUnicode 63811 63607 -0.3% 1.00x (?)
StringInterpolation 12186 12194 +0.1% 1.00x (?)
StringMatch 30823 30421 -1.3% 1.01x (?)
StringUTF16Builder 3554 3568 +0.4% 1.00x (?)
StringWithCString 134217 134105 -0.1% 1.00x (?)
SubstringFromLongString 94 94 +0.0% 1.00x
SubstringFromLongStringGeneric 44257 44104 -0.3% 1.00x (?)
SuffixAnyCollection 6428 6402 -0.4% 1.00x (?)
SuffixAnyCollectionLazy 45592 46905 +2.9% 0.97x
SuffixAnySeqCRangeIter 41275 41393 +0.3% 1.00x (?)
SuffixAnySeqCRangeIterLazy 40990 40990 +0.0% 1.00x
SuffixAnySeqCntRange 6403 6395 -0.1% 1.00x (?)
SuffixAnySeqCntRangeLazy 6460 6453 -0.1% 1.00x (?)
SuffixAnySequence 26847 26844 -0.0% 1.00x (?)
SuffixAnySequenceLazy 26862 26826 -0.1% 1.00x
SuffixArray 2073 2072 -0.0% 1.00x
SuffixArrayLazy 15170 15346 +1.2% 0.99x (?)
SuffixCountableRange 117 117 +0.0% 1.00x
SuffixCountableRangeLazy 12873 12993 +0.9% 0.99x (?)
SuffixSequence 26583 26581 -0.0% 1.00x (?)
SuffixSequenceLazy 26465 26460 -0.0% 1.00x (?)
SuperChars 315586 315536 -0.0% 1.00x (?)
TwoSum 4267 4265 -0.0% 1.00x (?)
TypeFlood 160 159 -0.6% 1.01x (?)
UTF8Decode 36954 36963 +0.0% 1.00x (?)
Walsh 11906 11907 +0.0% 1.00x (?)
XorLoop 23705 23705 +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

@airspeedswift
Copy link
Member Author

@dabrahams looks like it maybe did help slightly – StringMatch uses first heavily and is faster with the inlining.

@jrose-apple jrose-apple deleted the revert-9593-restore-inline-first branch November 29, 2017 22:35
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