Skip to content

Stop using -sil-serialize-all when building the standard library #12191

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 4 commits into from
Oct 3, 2017

Conversation

swiftix
Copy link
Contributor

@swiftix swiftix commented Sep 29, 2017

We can finally get rid of -sil-serialize-all when building the standard library! This option will be completely eliminated in the future commits.

Instead of serializing just everything as we did before, we now serialize only functions annotated with @_inlineable. This way we can selectively control what needs to be available to the clients. This is an important step towards building a resilient standard library.

While this is a huge change for the serialization of the stdlib, it should be virtually invisible to the clients. For example, there are no noticeable performance regressions on any of the benchmarks.

Big thanks to @moiseev, who annotated the whole library with @_inlineable attributes.

@swiftix swiftix force-pushed the sil-serialize-all-improvments branch from 9fb4806 to aefe48f Compare September 30, 2017 00:26
@swiftix
Copy link
Contributor Author

swiftix commented Sep 30, 2017

@swift-ci please smoke test

@swiftix
Copy link
Contributor Author

swiftix commented Sep 30, 2017

@swift-ci please smoke benchmark

@swiftix
Copy link
Contributor Author

swiftix commented Sep 30, 2017

@swift-ci Please Test Source Compatibility

@slavapestov
Copy link
Contributor

Oops:

*swift::GenericCloner::initCloned(swift::SILFunction *, swift::IsSerialized_t, const swift::ReabstractionInfo &, llvm::StringRef): Assertion `(!Serialized || Orig->isSerialized()) && "Specialization cannot make body more resilient"' failed.

@swiftix
Copy link
Contributor Author

swiftix commented Sep 30, 2017

Yeah, I'm looking into it. I was testing with the no-asserts compiler and haven't noticed it locally. Should be easy to fix though

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (4)
TEST OLD NEW DELTA SPEEDUP
MapReduceLazyCollection 13 15 +15.4% 0.87x (?)
ClassArrayGetter 12 13 +8.3% 0.92x (?)
MapReduceAnyCollectionShort 2074 2202 +6.2% 0.94x (?)
ArrayAppendLazyMap 930 979 +5.3% 0.95x
Improvement (87)
TEST OLD NEW DELTA SPEEDUP
accessGlobal 3 2 -33.3% 1.50x
Sim2DArray 483 350 -27.5% 1.38x
StringEqualPointerComparison 282 240 -14.9% 1.17x
SumUsingReduceInto 111 96 -13.5% 1.16x
ObjectiveCBridgeFromNSArrayAnyObject 25996 22582 -13.1% 1.15x
ArrayAppendLatin1 47158 41781 -11.4% 1.13x (?)
StringHasPrefix 9 8 -11.1% 1.12x
StringWithCString 69599 61966 -11.0% 1.12x
PrefixCountableRange 19 17 -10.5% 1.12x
PrimsSplit 815 733 -10.1% 1.11x
DropLastArrayLazy 10 9 -10.0% 1.11x
PrefixWhileSequence 371 335 -9.7% 1.11x
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 73632 66617 -9.5% 1.11x
PrefixArrayLazy 32 29 -9.4% 1.10x
StringMatch 7892 7165 -9.2% 1.10x
SubstringFromLongString 11 10 -9.1% 1.10x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 108022 98508 -8.8% 1.10x
BitCount 138 126 -8.7% 1.10x
StringFromLongWholeSubstringGeneric 23 21 -8.7% 1.10x
RGBHistogram 2314 2113 -8.7% 1.10x
UTF8Decode 270 247 -8.5% 1.09x
ObjectiveCBridgeToNSDictionary 47923 43862 -8.5% 1.09x
SuffixAnyCollectionLazy 26546 24317 -8.4% 1.09x
PrefixWhileAnyCollection 96 88 -8.3% 1.09x
SuffixSequenceLazy 4810 4413 -8.3% 1.09x
DropWhileSequence 1536 1414 -7.9% 1.09x
ReversedBidirectional 29853 27496 -7.9% 1.09x
SumUsingReduce 102 94 -7.8% 1.09x
RGBHistogramOfObjects 24365 22461 -7.8% 1.08x
MapReduce 413 381 -7.7% 1.08x
SortLettersInPlace 1183 1092 -7.7% 1.08x
RangeAssignment 394 364 -7.6% 1.08x
StringBuilderLong 987 912 -7.6% 1.08x
SetUnion 2821 2607 -7.6% 1.08x
RC4 165 153 -7.3% 1.08x
StringWalk 1589 1474 -7.2% 1.08x
StringHasSuffixUnicode 64878 60199 -7.2% 1.08x (?)
PrefixWhileSequenceLazy 28 26 -7.1% 1.08x
StringInterpolation 11500 10683 -7.1% 1.08x
StrToInt 1925 1791 -7.0% 1.07x
Prims 785 733 -6.6% 1.07x
ObjectiveCBridgeStubFromNSDate 3803 3553 -6.6% 1.07x
SuffixAnySequenceLazy 6960 6507 -6.5% 1.07x
PrefixArray 31 29 -6.5% 1.07x
StringAdder 3694 3456 -6.4% 1.07x
SuffixSequence 4742 4438 -6.4% 1.07x
StringUTF16Builder 2005 1877 -6.4% 1.07x
HashTest 1693 1585 -6.4% 1.07x
CharIteration_punctuatedJapanese_unicodeScalars 2869 2686 -6.4% 1.07x
SuffixAnySeqCntRange 16 15 -6.2% 1.07x
SuffixAnySeqCntRangeLazy 16 15 -6.2% 1.07x
SortLargeExistentials 9041 8487 -6.1% 1.07x
CharIteration_tweet_unicodeScalars_Backwards 33162 31134 -6.1% 1.07x
PrefixWhileAnyCollectionLazy 66 62 -6.1% 1.06x
PrefixWhileAnySeqCntRangeLazy 66 62 -6.1% 1.06x
StringBuilder 1067 1003 -6.0% 1.06x
ArrayAppendOptionals 1208 1136 -6.0% 1.06x
StringEdits 143673 135154 -5.9% 1.06x
ObjectiveCBridgeToNSSet 41982 39502 -5.9% 1.06x
PolymorphicCalls 17 16 -5.9% 1.06x
PrefixSequenceLazy 1468 1382 -5.9% 1.06x
SetIntersect 279 263 -5.7% 1.06x
Walsh 403 380 -5.7% 1.06x
CharIteration_korean_unicodeScalars_Backwards 16146 15238 -5.6% 1.06x
RecursiveOwnedParameter 2332 2202 -5.6% 1.06x
PrefixCountableRangeLazy 18 17 -5.6% 1.06x
accessInMatSet 18 17 -5.6% 1.06x
PrefixWhileCountableRangeLazy 18 17 -5.6% 1.06x
StringEnumRawValueInitialization 830 784 -5.5% 1.06x
SortStringsUnicode 8369 7909 -5.5% 1.06x
SubstringEqualString 1475 1394 -5.5% 1.06x
ArrayAppend 1085 1027 -5.3% 1.06x
PrefixWhileArrayLazy 38 36 -5.3% 1.06x
CharIteration_russian_unicodeScalars_Backwards 13802 13078 -5.2% 1.06x
SuffixAnySeqCRangeIterLazy 5029 4766 -5.2% 1.06x
PrefixWhileAnySeqCRangeIter 12871 12211 -5.1% 1.05x
Dictionary3OfObjects 840 797 -5.1% 1.05x
ObjectiveCBridgeFromNSArrayAnyObjectToString 41421 39319 -5.1% 1.05x
XorLoop 355 337 -5.1% 1.05x
MapReduceAnyCollection 415 394 -5.1% 1.05x
SetExclusiveOr 2951 2802 -5.0% 1.05x
PrefixAnySeqCRangeIter 23459 22296 -5.0% 1.05x
SubstringFromLongStringGeneric 61 58 -4.9% 1.05x
AnyHashableWithAClass 71364 67899 -4.9% 1.05x (?)
SevenBoom 1589 1512 -4.8% 1.05x
SetExclusiveOr_OfObjects 8499 8093 -4.8% 1.05x
SubstringEquatable 3671 3496 -4.8% 1.05x
No Changes (238)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3059 2942 -3.8% 1.04x (?)
Array2D 2078 1998 -3.8% 1.04x (?)
ArrayAppendArrayOfInt 570 563 -1.2% 1.01x
ArrayAppendAscii 21210 20507 -3.3% 1.03x (?)
ArrayAppendFromGeneric 566 564 -0.4% 1.00x
ArrayAppendGenericStructs 1172 1137 -3.0% 1.03x
ArrayAppendRepeatCol 1006 972 -3.4% 1.03x
ArrayAppendReserved 838 818 -2.4% 1.02x
ArrayAppendSequence 921 892 -3.1% 1.03x (?)
ArrayAppendStrings 15188 15045 -0.9% 1.01x (?)
ArrayAppendToFromGeneric 583 597 +2.4% 0.98x (?)
ArrayAppendToGeneric 584 594 +1.7% 0.98x (?)
ArrayAppendUTF16 43090 45214 +4.9% 0.95x (?)
ArrayInClass 64 63 -1.6% 1.02x (?)
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 219 217 -0.9% 1.01x
ArrayOfGenericRef 3995 3903 -2.3% 1.02x
ArrayOfPOD 168 167 -0.6% 1.01x
ArrayOfRef 3914 3783 -3.3% 1.03x
ArrayPlusEqualArrayOfInt 566 563 -0.5% 1.01x
ArrayPlusEqualFiveElementCollection 4580 4522 -1.3% 1.01x
ArrayPlusEqualSingleElementCollection 1058 1037 -2.0% 1.02x
ArrayPlusEqualThreeElements 1628 1576 -3.2% 1.03x
ArraySubscript 1442 1476 +2.4% 0.98x
ArrayValueProp 5 5 +0.0% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
ArrayValueProp3 5 5 +0.0% 1.00x
ArrayValueProp4 5 5 +0.0% 1.00x
ByteSwap 114 112 -1.8% 1.02x (?)
CStringLongAscii 4951 4944 -0.1% 1.00x (?)
CStringLongNonAscii 2273 2270 -0.1% 1.00x (?)
CStringShortAscii 4872 4936 +1.3% 0.99x (?)
Calculator 34 35 +2.9% 0.97x
CaptureProp 4290 4413 +2.9% 0.97x (?)
CharIndexing_ascii_unicodeScalars 13777 13588 -1.4% 1.01x
CharIndexing_ascii_unicodeScalars_Backwards 11018 10835 -1.7% 1.02x
CharIndexing_chinese_unicodeScalars 10497 10208 -2.8% 1.03x
CharIndexing_chinese_unicodeScalars_Backwards 8465 8297 -2.0% 1.02x (?)
CharIndexing_japanese_unicodeScalars 16446 16221 -1.4% 1.01x
CharIndexing_japanese_unicodeScalars_Backwards 13254 13169 -0.6% 1.01x (?)
CharIndexing_korean_unicodeScalars 13306 13084 -1.7% 1.02x (?)
CharIndexing_korean_unicodeScalars_Backwards 10687 10609 -0.7% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2539 2469 -2.8% 1.03x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2112 2029 -3.9% 1.04x
CharIndexing_punctuated_unicodeScalars 3147 3062 -2.7% 1.03x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 2534 2526 -0.3% 1.00x
CharIndexing_russian_unicodeScalars 11568 11462 -0.9% 1.01x
CharIndexing_russian_unicodeScalars_Backwards 9200 9106 -1.0% 1.01x
CharIndexing_tweet_unicodeScalars 27153 26442 -2.6% 1.03x
CharIndexing_tweet_unicodeScalars_Backwards 21799 21531 -1.2% 1.01x (?)
CharIndexing_utf16_unicodeScalars 76880 76377 -0.7% 1.01x (?)
CharIndexing_utf16_unicodeScalars_Backwards 71086 70560 -0.7% 1.01x
CharIteration_ascii_unicodeScalars 15470 14875 -3.8% 1.04x
CharIteration_ascii_unicodeScalars_Backwards 16050 15667 -2.4% 1.02x
CharIteration_chinese_unicodeScalars 11549 11536 -0.1% 1.00x
CharIteration_chinese_unicodeScalars_Backwards 12213 12042 -1.4% 1.01x (?)
CharIteration_japanese_unicodeScalars 18425 17879 -3.0% 1.03x
CharIteration_japanese_unicodeScalars_Backwards 19304 19073 -1.2% 1.01x (?)
CharIteration_korean_unicodeScalars 15062 14369 -4.6% 1.05x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2940 2839 -3.4% 1.04x (?)
CharIteration_punctuated_unicodeScalars 3496 3354 -4.1% 1.04x
CharIteration_punctuated_unicodeScalars_Backwards 3670 3563 -2.9% 1.03x
CharIteration_russian_unicodeScalars 12693 12356 -2.7% 1.03x (?)
CharIteration_tweet_unicodeScalars 30635 29479 -3.8% 1.04x
CharIteration_utf16_unicodeScalars 75770 73840 -2.5% 1.03x (?)
CharIteration_utf16_unicodeScalars_Backwards 106993 106243 -0.7% 1.01x
CharacterLiteralsLarge 5815 5689 -2.2% 1.02x
CharacterLiteralsSmall 394 392 -0.5% 1.01x
Chars 409 419 +2.4% 0.98x
DeadArray 184 188 +2.2% 0.98x
Dictionary 564 562 -0.4% 1.00x (?)
Dictionary2 1817 1856 +2.1% 0.98x (?)
Dictionary2OfObjects 3275 3217 -1.8% 1.02x
Dictionary3 452 457 +1.1% 0.99x (?)
DictionaryBridge 2590 2493 -3.7% 1.04x
DictionaryGroup 268 260 -3.0% 1.03x (?)
DictionaryGroupOfObjects 1752 1690 -3.5% 1.04x
DictionaryLiteral 1454 1431 -1.6% 1.02x (?)
DictionaryOfObjects 2295 2268 -1.2% 1.01x (?)
DictionaryRemove 2616 2555 -2.3% 1.02x
DictionaryRemoveOfObjects 23112 23359 +1.1% 0.99x (?)
DictionarySwap 417 419 +0.5% 1.00x
DictionarySwapOfObjects 7323 7432 +1.5% 0.99x (?)
DropFirstAnyCollection 54 54 +0.0% 1.00x
DropFirstAnyCollectionLazy 74348 73450 -1.2% 1.01x (?)
DropFirstAnySeqCRangeIter 28546 27892 -2.3% 1.02x
DropFirstAnySeqCRangeIterLazy 28694 28370 -1.1% 1.01x (?)
DropFirstAnySeqCntRange 51 50 -2.0% 1.02x (?)
DropFirstAnySeqCntRangeLazy 49 48 -2.0% 1.02x (?)
DropFirstAnySequence 6083 5947 -2.2% 1.02x
DropFirstAnySequenceLazy 6192 6040 -2.5% 1.03x (?)
DropFirstArray 30 29 -3.3% 1.03x (?)
DropFirstArrayLazy 30 29 -3.3% 1.03x
DropFirstCountableRange 17 17 +0.0% 1.00x
DropFirstCountableRangeLazy 17 17 +0.0% 1.00x
DropFirstSequence 1920 1906 -0.7% 1.01x
DropFirstSequenceLazy 1879 1849 -1.6% 1.02x
DropLastAnyCollection 20 20 +0.0% 1.00x
DropLastAnyCollectionLazy 24524 24530 +0.0% 1.00x (?)
DropLastAnySeqCRangeIter 4607 4585 -0.5% 1.00x
DropLastAnySeqCRangeIterLazy 4620 4470 -3.2% 1.03x
DropLastAnySeqCntRange 16 16 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 15 15 +0.0% 1.00x
DropLastAnySequence 6439 6359 -1.2% 1.01x (?)
DropLastAnySequenceLazy 6547 6501 -0.7% 1.01x (?)
DropLastArray 10 10 +0.0% 1.00x
DropLastCountableRange 6 6 +0.0% 1.00x
DropLastCountableRangeLazy 6 6 +0.0% 1.00x
DropLastSequence 603 589 -2.3% 1.02x
DropLastSequenceLazy 605 594 -1.8% 1.02x
DropWhileAnyCollection 65 66 +1.5% 0.98x
DropWhileAnyCollectionLazy 86 86 +0.0% 1.00x
DropWhileAnySeqCRangeIter 22774 22504 -1.2% 1.01x (?)
DropWhileAnySeqCRangeIterLazy 88 88 +0.0% 1.00x
DropWhileAnySeqCntRange 61 60 -1.6% 1.02x
DropWhileAnySeqCntRangeLazy 86 85 -1.2% 1.01x (?)
DropWhileAnySequence 6940 6866 -1.1% 1.01x (?)
DropWhileAnySequenceLazy 1883 1876 -0.4% 1.00x (?)
DropWhileArray 43 42 -2.3% 1.02x
DropWhileArrayLazy 78 79 +1.3% 0.99x (?)
DropWhileCountableRange 18 18 +0.0% 1.00x
DropWhileCountableRangeLazy 67 66 -1.5% 1.02x
DropWhileSequenceLazy 44 44 +0.0% 1.00x
EqualStringSubstring 382 373 -2.4% 1.02x (?)
EqualSubstringString 380 380 +0.0% 1.00x
EqualSubstringSubstring 384 379 -1.3% 1.01x (?)
EqualSubstringSubstringGenericEquatable 384 378 -1.6% 1.02x (?)
ErrorHandling 2009 1978 -1.5% 1.02x (?)
FilterEvenUsingReduce 1318 1304 -1.1% 1.01x
FilterEvenUsingReduceInto 145 142 -2.1% 1.02x (?)
FrequenciesUsingReduce 7424 7233 -2.6% 1.03x (?)
FrequenciesUsingReduceInto 4193 4051 -3.4% 1.04x
Hanoi 3737 3642 -2.5% 1.03x
Histogram 289 292 +1.0% 0.99x (?)
Integrate 252 250 -0.8% 1.01x (?)
IterateData 1404 1431 +1.9% 0.98x (?)
Join 366 375 +2.5% 0.98x (?)
LazilyFilteredArrays 65004 64206 -1.2% 1.01x (?)
LazilyFilteredRange 3499 3453 -1.3% 1.01x (?)
LessSubstringSubstring 386 382 -1.0% 1.01x (?)
LessSubstringSubstringGenericComparable 383 383 +0.0% 1.00x
LinkedList 6620 6596 -0.4% 1.00x (?)
MapReduceClass 2907 2994 +3.0% 0.97x
MapReduceClassShort 4344 4309 -0.8% 1.01x (?)
MapReduceLazyCollectionShort 35 35 +0.0% 1.00x
MapReduceLazySequence 85 85 +0.0% 1.00x
MapReduceSequence 427 422 -1.2% 1.01x
MapReduceShort 1942 1950 +0.4% 1.00x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 98 101 +3.1% 0.97x (?)
Memset 223 221 -0.9% 1.01x (?)
MonteCarloE 9839 9800 -0.4% 1.00x
MonteCarloPi 41640 41490 -0.4% 1.00x
NSDictionaryCastToSwift 5432 5377 -1.0% 1.01x (?)
NSError 298 292 -2.0% 1.02x (?)
NSStringConversion 344 355 +3.2% 0.97x
NopDeinit 21358 20831 -2.5% 1.03x (?)
ObjectAllocation 173 175 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3492 3452 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 34678 34208 -1.4% 1.01x
ObjectiveCBridgeFromNSDictionaryAnyObject 119617 115786 -3.2% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5252 5444 +3.7% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 96392 92511 -4.0% 1.04x
ObjectiveCBridgeFromNSSetAnyObject 65330 64208 -1.7% 1.02x
ObjectiveCBridgeFromNSSetAnyObjectForced 4312 4108 -4.7% 1.05x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 68295 68030 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSString 994 987 -0.7% 1.01x
ObjectiveCBridgeFromNSStringForced 1875 1821 -2.9% 1.03x
ObjectiveCBridgeStubDataAppend 3917 3806 -2.8% 1.03x (?)
ObjectiveCBridgeStubDateAccess 177 176 -0.6% 1.01x
ObjectiveCBridgeStubDateMutation 266 264 -0.8% 1.01x
ObjectiveCBridgeStubFromArrayOfNSString 26033 25291 -2.9% 1.03x (?)
ObjectiveCBridgeStubFromNSDateRef 4293 4205 -2.0% 1.02x
ObjectiveCBridgeStubFromNSString 563 553 -1.8% 1.02x
ObjectiveCBridgeStubFromNSStringRef 149 146 -2.0% 1.02x
ObjectiveCBridgeStubNSDataAppend 2511 2447 -2.5% 1.03x (?)
ObjectiveCBridgeStubNSDateMutationRef 13500 12907 -4.4% 1.05x
ObjectiveCBridgeStubNSDateRefAccess 342 336 -1.8% 1.02x
ObjectiveCBridgeStubToArrayOfNSString 28964 29188 +0.8% 0.99x (?)
ObjectiveCBridgeStubToNSDate 14958 15084 +0.8% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3243 3224 -0.6% 1.01x (?)
ObjectiveCBridgeStubToNSString 1459 1457 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 106 105 -0.9% 1.01x (?)
ObjectiveCBridgeStubURLAppendPath 218046 210448 -3.5% 1.04x
ObjectiveCBridgeStubURLAppendPathRef 226318 228569 +1.0% 0.99x (?)
ObjectiveCBridgeToNSArray 30207 29410 -2.6% 1.03x (?)
ObjectiveCBridgeToNSString 1260 1232 -2.2% 1.02x (?)
ObserverClosure 2291 2205 -3.8% 1.04x
ObserverForwarderStruct 1078 1065 -1.2% 1.01x (?)
ObserverPartiallyAppliedMethod 3684 3623 -1.7% 1.02x (?)
ObserverUnappliedMethod 2550 2525 -1.0% 1.01x (?)
OpenClose 3 3 +0.0% 1.00x
Phonebook 5953 6072 +2.0% 0.98x
PopFrontArray 1110 1093 -1.5% 1.02x (?)
PopFrontArrayGeneric 1129 1143 +1.2% 0.99x (?)
PopFrontUnsafePointer 5253 5243 -0.2% 1.00x (?)
PrefixAnyCollection 53 55 +3.8% 0.96x
PrefixAnyCollectionLazy 74247 73557 -0.9% 1.01x (?)
PrefixAnySeqCRangeIterLazy 23186 22252 -4.0% 1.04x
PrefixAnySeqCntRange 51 50 -2.0% 1.02x
PrefixAnySeqCntRangeLazy 49 48 -2.0% 1.02x (?)
PrefixAnySequence 5337 5120 -4.1% 1.04x
PrefixAnySequenceLazy 5464 5251 -3.9% 1.04x
PrefixSequence 1496 1430 -4.4% 1.05x
PrefixWhileAnySeqCRangeIterLazy 67 64 -4.5% 1.05x
PrefixWhileAnySeqCntRange 87 83 -4.6% 1.05x
PrefixWhileAnySequence 14171 13595 -4.1% 1.04x
PrefixWhileAnySequenceLazy 1419 1392 -1.9% 1.02x
PrefixWhileArray 69 66 -4.3% 1.05x
PrefixWhileCountableRange 29 28 -3.4% 1.04x
ProtocolDispatch 2920 3041 +4.1% 0.96x
ProtocolDispatch2 173 170 -1.7% 1.02x
ReversedArray 47 45 -4.3% 1.04x
ReversedDictionary 109 104 -4.6% 1.05x
SetIntersect_OfObjects 1746 1680 -3.8% 1.04x
SetIsSubsetOf 282 270 -4.3% 1.04x
SetIsSubsetOf_OfObjects 358 346 -3.4% 1.03x
SetUnion_OfObjects 6908 6633 -4.0% 1.04x
SortSortedStrings 903 864 -4.3% 1.05x
SortStrings 1691 1668 -1.4% 1.01x
StackPromo 23212 22207 -4.3% 1.05x
StaticArray 6 6 +0.0% 1.00x
StrComplexWalk 1706 1640 -3.9% 1.04x (?)
StringFromLongWholeSubstring 186 178 -4.3% 1.04x
StringHasPrefixUnicode 15423 14731 -4.5% 1.05x
StringHasSuffix 8 8 +0.0% 1.00x
SubstringComparable 1605 1546 -3.7% 1.04x
SuffixAnyCollection 21 20 -4.8% 1.05x
SuffixAnySeqCRangeIter 5084 4898 -3.7% 1.04x
SuffixAnySequence 6816 6516 -4.4% 1.05x
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
SuperChars 83161 81413 -2.1% 1.02x (?)
TwoSum 967 921 -4.8% 1.05x
TypeFlood 0 0 +0.0% 1.00x
accessIndependent 2 2 +0.0% 1.00x

Unoptimized (Onone)

Regression (1)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubDateMutation 504 544 +7.9% 0.93x
Improvement (100)
TEST OLD NEW DELTA SPEEDUP
ArrayOfPOD 845 712 -15.7% 1.19x
accessGlobal 196 173 -11.7% 1.13x
ArrayPlusEqualSingleElementCollection 330612 293121 -11.3% 1.13x
ArrayOfGenericPOD 1456 1291 -11.3% 1.13x
DropLastArray 2290 2041 -10.9% 1.12x
DictionaryBridge 2855 2548 -10.8% 1.12x
ArrayAppendOptionals 1341 1198 -10.7% 1.12x
CharIteration_japanese_unicodeScalars 240128 214597 -10.6% 1.12x (?)
ArrayAppendAscii 57715 51993 -9.9% 1.11x
DropFirstArray 6873 6223 -9.5% 1.10x
UTF8Decode 40711 36876 -9.4% 1.10x
ByteSwap 4316 3914 -9.3% 1.10x
ArrayAppendRepeatCol 259729 235578 -9.3% 1.10x
ArrayLiteral 1862 1689 -9.3% 1.10x
CharIndexing_ascii_unicodeScalars_Backwards 574704 521578 -9.2% 1.10x
ArrayAppendLazyMap 242695 221178 -8.9% 1.10x
DropLastAnySequenceLazy 35796 32708 -8.6% 1.09x
DropFirstArrayLazy 48201 44052 -8.6% 1.09x
ArraySubscript 92915 84939 -8.6% 1.09x
DropFirstAnySeqCRangeIterLazy 33106 30337 -8.4% 1.09x
Dictionary3 1388 1272 -8.4% 1.09x
DropLastAnyCollectionLazy 50572 46361 -8.3% 1.09x
CharIndexing_chinese_unicodeScalars 389920 357705 -8.3% 1.09x
DropLastCountableRangeLazy 14581 13401 -8.1% 1.09x
DropLastAnySeqCntRangeLazy 7410 6815 -8.0% 1.09x
Phonebook 23470 21591 -8.0% 1.09x
NSStringConversion 419 386 -7.9% 1.09x
ArrayPlusEqualFiveElementCollection 321196 296249 -7.8% 1.08x
DropLastArrayLazy 15852 14625 -7.7% 1.08x
ArrayInClass 6627 6118 -7.7% 1.08x
DropFirstAnyCollectionLazy 152943 141224 -7.7% 1.08x
ArrayPlusEqualThreeElements 12036 11117 -7.6% 1.08x
MapReduceLazyCollectionShort 48477 44780 -7.6% 1.08x
DropFirstAnySeqCntRange 22051 20376 -7.6% 1.08x
DropFirstSequenceLazy 15366 14209 -7.5% 1.08x
ArrayValueProp3 4241 3922 -7.5% 1.08x
ArrayAppendLatin1 86529 80023 -7.5% 1.08x
DropWhileAnyCollectionLazy 31690 29327 -7.5% 1.08x
ArrayAppendUTF16 83124 76982 -7.4% 1.08x (?)
CStringLongAscii 5108 4731 -7.4% 1.08x
DropLastAnySequence 35741 33135 -7.3% 1.08x
ArrayAppendFromGeneric 691 641 -7.2% 1.08x
TwoSum 4522 4197 -7.2% 1.08x
DictionaryGroup 5850 5431 -7.2% 1.08x
ArrayAppendReserved 4202 3905 -7.1% 1.08x
DropLastAnySeqCntRange 7332 6821 -7.0% 1.07x
CharIndexing_ascii_unicodeScalars 507132 472247 -6.9% 1.07x
DropFirstAnyCollection 21618 20136 -6.9% 1.07x
DropLastSequenceLazy 34640 32266 -6.9% 1.07x
AngryPhonebook 5078 4737 -6.7% 1.07x
FrequenciesUsingReduce 16647 15543 -6.6% 1.07x
DropLastAnySeqCRangeIter 49708 46444 -6.6% 1.07x
DropLastAnyCollection 7175 6704 -6.6% 1.07x
CStringLongNonAscii 2563 2396 -6.5% 1.07x
ArrayValueProp 3714 3476 -6.4% 1.07x
DictionaryLiteral 8969 8395 -6.4% 1.07x
DropWhileAnySeqCRangeIter 35744 33459 -6.4% 1.07x
ArrayOfGenericRef 10677 9996 -6.4% 1.07x
DropFirstAnySequenceLazy 16338 15299 -6.4% 1.07x
DropFirstCountableRangeLazy 42950 40220 -6.4% 1.07x
DropWhileAnySeqCntRange 28514 26706 -6.3% 1.07x
AnyHashableWithAClass 88002 82434 -6.3% 1.07x
HashTest 17849 16725 -6.3% 1.07x
DropFirstAnySeqCRangeIter 33292 31205 -6.3% 1.07x
DropWhileAnySequenceLazy 15609 14633 -6.3% 1.07x
BitCount 1782 1671 -6.2% 1.07x
DictionaryOfObjects 6772 6353 -6.2% 1.07x
PrefixAnySequence 13352 12529 -6.2% 1.07x
CaptureProp 128699 120901 -6.1% 1.06x
Array2D 656208 616543 -6.0% 1.06x
ArrayOfRef 9817 9225 -6.0% 1.06x
ObjectiveCBridgeStubNSDataAppend 2921 2745 -6.0% 1.06x
ArrayValueProp4 4220 3966 -6.0% 1.06x
DropWhileAnySeqCntRangeLazy 31208 29330 -6.0% 1.06x
DropWhileAnySequence 19320 18158 -6.0% 1.06x
ObjectiveCBridgeToNSDictionary 48304 45416 -6.0% 1.06x (?)
DictionarySwap 5564 5232 -6.0% 1.06x
ObjectiveCBridgeToNSSet 41666 39182 -6.0% 1.06x
ObserverUnappliedMethod 9086 8546 -5.9% 1.06x
ArrayValueProp2 19697 18528 -5.9% 1.06x
Dictionary3OfObjects 2355 2216 -5.9% 1.06x
SubstringFromLongString 17 16 -5.9% 1.06x
ObjectiveCBridgeFromNSArrayAnyObjectForced 7168 6749 -5.8% 1.06x
Walsh 11859 11176 -5.8% 1.06x
SortStrings 2554 2407 -5.8% 1.06x
DictionaryRemoveOfObjects 61226 57848 -5.5% 1.06x
ArrayAppendArrayOfInt 690 652 -5.5% 1.06x
DropLastSequence 34717 32852 -5.4% 1.06x
CharIndexing_utf16_unicodeScalars_Backwards 595620 564371 -5.2% 1.06x
DropLastAnySeqCRangeIterLazy 51088 48421 -5.2% 1.06x
SuffixArray 2147 2037 -5.1% 1.05x
CharacterLiteralsSmall 743 705 -5.1% 1.05x
CharIteration_punctuatedJapanese_unicodeScalars 34451 32709 -5.1% 1.05x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 93959 89240 -5.0% 1.05x
DropFirstCountableRange 359 341 -5.0% 1.05x (?)
CharIteration_ascii_unicodeScalars 188158 178750 -5.0% 1.05x
ArrayAppendGenericStructs 1293 1229 -4.9% 1.05x
DropWhileAnyCollection 27933 26552 -4.9% 1.05x (?)
CharIndexing_chinese_unicodeScalars_Backwards 413570 393268 -4.9% 1.05x (?)
DropLastCountableRange 125 119 -4.8% 1.05x
No Changes (228)
TEST OLD NEW DELTA SPEEDUP
ArrayAppend 4062 3931 -3.2% 1.03x
ArrayAppendSequence 81801 77937 -4.7% 1.05x
ArrayAppendStrings 15679 15142 -3.4% 1.04x
ArrayAppendToFromGeneric 667 638 -4.3% 1.05x
ArrayAppendToGeneric 669 638 -4.6% 1.05x
ArrayPlusEqualArrayOfInt 665 636 -4.4% 1.05x
CStringShortAscii 9010 8591 -4.7% 1.05x (?)
Calculator 1149 1138 -1.0% 1.01x (?)
CharIndexing_japanese_unicodeScalars 577068 568360 -1.5% 1.02x (?)
CharIndexing_japanese_unicodeScalars_Backwards 637080 624514 -2.0% 1.02x
CharIndexing_korean_unicodeScalars 467669 457836 -2.1% 1.02x
CharIndexing_korean_unicodeScalars_Backwards 505630 507716 +0.4% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 81958 81602 -0.4% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 106687 103604 -2.9% 1.03x
CharIndexing_punctuated_unicodeScalars_Backwards 116933 113915 -2.6% 1.03x (?)
CharIndexing_russian_unicodeScalars 410089 392123 -4.4% 1.05x
CharIndexing_russian_unicodeScalars_Backwards 439614 433812 -1.3% 1.01x
CharIndexing_tweet_unicodeScalars 940650 935734 -0.5% 1.01x (?)
CharIndexing_tweet_unicodeScalars_Backwards 1045105 1009465 -3.4% 1.04x
CharIndexing_utf16_unicodeScalars 531775 526201 -1.0% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 323855 323153 -0.2% 1.00x (?)
CharIteration_chinese_unicodeScalars 151987 149108 -1.9% 1.02x (?)
CharIteration_chinese_unicodeScalars_Backwards 254147 249738 -1.7% 1.02x (?)
CharIteration_japanese_unicodeScalars_Backwards 387076 378210 -2.3% 1.02x
CharIteration_korean_unicodeScalars 182629 178060 -2.5% 1.03x
CharIteration_korean_unicodeScalars_Backwards 314414 313367 -0.3% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 56451 56126 -0.6% 1.01x (?)
CharIteration_punctuated_unicodeScalars 41606 41046 -1.3% 1.01x
CharIteration_punctuated_unicodeScalars_Backwards 70470 71070 +0.9% 0.99x (?)
CharIteration_russian_unicodeScalars 154943 148381 -4.2% 1.04x
CharIteration_russian_unicodeScalars_Backwards 267339 267863 +0.2% 1.00x (?)
CharIteration_tweet_unicodeScalars 368131 362102 -1.6% 1.02x
CharIteration_tweet_unicodeScalars_Backwards 645644 641054 -0.7% 1.01x
CharIteration_utf16_unicodeScalars 204269 197488 -3.3% 1.03x
CharIteration_utf16_unicodeScalars_Backwards 397068 393530 -0.9% 1.01x (?)
CharacterLiteralsLarge 6108 5980 -2.1% 1.02x
Chars 51534 50661 -1.7% 1.02x
ClassArrayGetter 1024 1012 -1.2% 1.01x
DeadArray 115663 112015 -3.2% 1.03x (?)
Dictionary 3081 3064 -0.6% 1.01x (?)
Dictionary2 3396 3358 -1.1% 1.01x
Dictionary2OfObjects 6044 5966 -1.3% 1.01x (?)
DictionaryGroupOfObjects 8489 8136 -4.2% 1.04x
DictionaryRemove 22318 21855 -2.1% 1.02x
DictionarySwapOfObjects 23525 23077 -1.9% 1.02x
DropFirstAnySeqCntRangeLazy 21047 20439 -2.9% 1.03x
DropFirstAnySequence 16379 15723 -4.0% 1.04x
DropFirstSequence 15327 14645 -4.4% 1.05x
DropWhileAnySeqCRangeIterLazy 30555 29228 -4.3% 1.05x
DropWhileArray 10301 9838 -4.5% 1.05x
DropWhileArrayLazy 17888 17243 -3.6% 1.04x
DropWhileCountableRange 6567 6424 -2.2% 1.02x
DropWhileCountableRangeLazy 29423 28414 -3.4% 1.04x
DropWhileSequence 18329 17673 -3.6% 1.04x
DropWhileSequenceLazy 14148 13513 -4.5% 1.05x
EqualStringSubstring 685 661 -3.5% 1.04x
EqualSubstringString 684 674 -1.5% 1.01x (?)
EqualSubstringSubstring 801 788 -1.6% 1.02x
EqualSubstringSubstringGenericEquatable 443 424 -4.3% 1.04x
ErrorHandling 6877 6724 -2.2% 1.02x
FilterEvenUsingReduce 4203 4205 +0.0% 1.00x (?)
FilterEvenUsingReduceInto 2526 2467 -2.3% 1.02x
FrequenciesUsingReduceInto 9294 8952 -3.7% 1.04x
Hanoi 19349 19140 -1.1% 1.01x
Histogram 9124 8853 -3.0% 1.03x
Integrate 696 688 -1.1% 1.01x
IterateData 13405 13106 -2.2% 1.02x (?)
Join 1477 1465 -0.8% 1.01x (?)
LazilyFilteredArrays 1747481 1697643 -2.9% 1.03x
LazilyFilteredRange 725104 712467 -1.7% 1.02x (?)
LessSubstringSubstring 800 789 -1.4% 1.01x
LessSubstringSubstringGenericComparable 455 442 -2.9% 1.03x
LinkedList 39423 39110 -0.8% 1.01x (?)
MapReduce 37247 36816 -1.2% 1.01x
MapReduceAnyCollection 37826 37550 -0.7% 1.01x
MapReduceAnyCollectionShort 50705 49758 -1.9% 1.02x
MapReduceClass 42563 41221 -3.2% 1.03x
MapReduceClassShort 53987 53350 -1.2% 1.01x (?)
MapReduceLazyCollection 34031 33838 -0.6% 1.01x
MapReduceLazySequence 30195 28765 -4.7% 1.05x
MapReduceSequence 44159 43855 -0.7% 1.01x
MapReduceShort 50457 49477 -1.9% 1.02x
MapReduceShortString 284 273 -3.9% 1.04x
MapReduceString 2674 2710 +1.3% 0.99x (?)
Memset 42515 42114 -0.9% 1.01x (?)
MonteCarloE 938463 908664 -3.2% 1.03x
MonteCarloPi 4116072 4023841 -2.2% 1.02x
NSDictionaryCastToSwift 6664 6747 +1.2% 0.99x (?)
NSError 740 729 -1.5% 1.02x (?)
NopDeinit 175353 170162 -3.0% 1.03x
ObjectAllocation 1476 1467 -0.6% 1.01x
ObjectiveCBridgeFromNSArrayAnyObject 25572 24785 -3.1% 1.03x
ObjectiveCBridgeFromNSArrayAnyObjectToString 41339 42285 +2.3% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 35616 35026 -1.7% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 123939 122449 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7580 7807 +3.0% 0.97x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 99556 94885 -4.7% 1.05x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 105549 102815 -2.6% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObject 69438 68925 -0.7% 1.01x
ObjectiveCBridgeFromNSSetAnyObjectForced 7445 7529 +1.1% 0.99x
ObjectiveCBridgeFromNSSetAnyObjectToString 73772 72888 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 75274 73005 -3.0% 1.03x (?)
ObjectiveCBridgeFromNSString 3980 3987 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2247 2210 -1.6% 1.02x
ObjectiveCBridgeStubDataAppend 4464 4349 -2.6% 1.03x (?)
ObjectiveCBridgeStubDateAccess 1054 1056 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromArrayOfNSString 25895 25884 -0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 4211 4118 -2.2% 1.02x
ObjectiveCBridgeStubFromNSDateRef 4447 4489 +0.9% 0.99x
ObjectiveCBridgeStubFromNSString 599 600 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 190 182 -4.2% 1.04x (?)
ObjectiveCBridgeStubNSDateMutationRef 16094 15456 -4.0% 1.04x
ObjectiveCBridgeStubNSDateRefAccess 1232 1200 -2.6% 1.03x
ObjectiveCBridgeStubToArrayOfNSString 29678 29466 -0.7% 1.01x (?)
ObjectiveCBridgeStubToNSDate 15122 14975 -1.0% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3280 3168 -3.4% 1.04x (?)
ObjectiveCBridgeStubToNSString 1523 1471 -3.4% 1.04x
ObjectiveCBridgeStubToNSStringRef 152 148 -2.6% 1.03x
ObjectiveCBridgeStubURLAppendPath 222275 214169 -3.6% 1.04x
ObjectiveCBridgeStubURLAppendPathRef 222496 218006 -2.0% 1.02x
ObjectiveCBridgeToNSArray 29725 29683 -0.1% 1.00x (?)
ObjectiveCBridgeToNSString 1280 1264 -1.2% 1.01x (?)
ObserverClosure 6835 6617 -3.2% 1.03x
ObserverForwarderStruct 4891 4824 -1.4% 1.01x (?)
ObserverPartiallyAppliedMethod 8288 8084 -2.5% 1.03x
OpenClose 403 391 -3.0% 1.03x
PolymorphicCalls 5378 5280 -1.8% 1.02x (?)
PopFrontArray 10239 10263 +0.2% 1.00x (?)
PopFrontArrayGeneric 9220 9108 -1.2% 1.01x (?)
PopFrontUnsafePointer 6579 6446 -2.0% 1.02x (?)
PrefixAnyCollection 20471 20811 +1.7% 0.98x
PrefixAnyCollectionLazy 143993 141819 -1.5% 1.02x (?)
PrefixAnySeqCRangeIter 24841 24739 -0.4% 1.00x (?)
PrefixAnySeqCRangeIterLazy 25015 24525 -2.0% 1.02x
PrefixAnySeqCntRange 20448 20431 -0.1% 1.00x
PrefixAnySeqCntRangeLazy 20594 20464 -0.6% 1.01x (?)
PrefixAnySequenceLazy 12512 12494 -0.1% 1.00x (?)
PrefixArray 6405 6227 -2.8% 1.03x
PrefixArrayLazy 45951 44081 -4.1% 1.04x
PrefixCountableRange 349 340 -2.6% 1.03x
PrefixCountableRangeLazy 41606 40216 -3.3% 1.03x
PrefixSequence 11911 11813 -0.8% 1.01x (?)
PrefixSequenceLazy 11609 11425 -1.6% 1.02x (?)
PrefixWhileAnyCollection 38896 38422 -1.2% 1.01x (?)
PrefixWhileAnyCollectionLazy 23834 23892 +0.2% 1.00x (?)
PrefixWhileAnySeqCRangeIter 43770 43690 -0.2% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 23818 23859 +0.2% 1.00x (?)
PrefixWhileAnySeqCntRange 39460 39125 -0.8% 1.01x
PrefixWhileAnySeqCntRangeLazy 23815 23776 -0.2% 1.00x
PrefixWhileAnySequence 32763 31714 -3.2% 1.03x
PrefixWhileAnySequenceLazy 13071 12707 -2.8% 1.03x (?)
PrefixWhileArray 17017 16498 -3.0% 1.03x
PrefixWhileArrayLazy 15266 15181 -0.6% 1.01x
PrefixWhileCountableRange 18758 18323 -2.3% 1.02x (?)
PrefixWhileCountableRangeLazy 23712 23357 -1.5% 1.02x (?)
PrefixWhileSequence 31831 30890 -3.0% 1.03x (?)
PrefixWhileSequenceLazy 12261 12042 -1.8% 1.02x (?)
Prims 10341 10211 -1.3% 1.01x (?)
PrimsSplit 10307 10209 -1.0% 1.01x (?)
ProtocolDispatch 8036 7745 -3.6% 1.04x
ProtocolDispatch2 497 502 +1.0% 0.99x (?)
RC4 18283 18585 +1.7% 0.98x
RGBHistogram 33786 33757 -0.1% 1.00x (?)
RGBHistogramOfObjects 101577 102309 +0.7% 0.99x (?)
RangeAssignment 5545 5508 -0.7% 1.01x
RecursiveOwnedParameter 10683 10301 -3.6% 1.04x
ReversedArray 44013 42750 -2.9% 1.03x
ReversedBidirectional 74499 74883 +0.5% 0.99x (?)
ReversedDictionary 29600 28507 -3.7% 1.04x
SetExclusiveOr 22830 22816 -0.1% 1.00x (?)
SetExclusiveOr_OfObjects 47232 46762 -1.0% 1.01x
SetIntersect 12433 11923 -4.1% 1.04x
SetIntersect_OfObjects 12502 12406 -0.8% 1.01x
SetIsSubsetOf 1881 1855 -1.4% 1.01x
SetIsSubsetOf_OfObjects 1520 1520 +0.0% 1.00x
SetUnion 11731 11613 -1.0% 1.01x (?)
SetUnion_OfObjects 33157 32782 -1.1% 1.01x
SevenBoom 1621 1560 -3.8% 1.04x (?)
Sim2DArray 41722 41690 -0.1% 1.00x (?)
SortLargeExistentials 16977 16889 -0.5% 1.01x
SortLettersInPlace 3006 3007 +0.0% 1.00x (?)
SortSortedStrings 1416 1397 -1.3% 1.01x (?)
SortStringsUnicode 8939 8966 +0.3% 1.00x (?)
StackPromo 103568 101906 -1.6% 1.02x (?)
StaticArray 4486 4446 -0.9% 1.01x (?)
StrComplexWalk 7019 6952 -1.0% 1.01x
StrToInt 122118 125410 +2.7% 0.97x (?)
StringAdder 3687 3758 +1.9% 0.98x
StringBuilder 6934 6931 -0.0% 1.00x (?)
StringBuilderLong 1120 1111 -0.8% 1.01x (?)
StringEdits 388168 372015 -4.2% 1.04x
StringEnumRawValueInitialization 12529 12694 +1.3% 0.99x
StringEqualPointerComparison 2437 2528 +3.7% 0.96x
StringFromLongWholeSubstring 206 200 -2.9% 1.03x
StringFromLongWholeSubstringGeneric 211 207 -1.9% 1.02x
StringHasPrefix 1735 1732 -0.2% 1.00x (?)
StringHasPrefixUnicode 16856 16194 -3.9% 1.04x
StringHasSuffix 1856 1899 +2.3% 0.98x
StringHasSuffixUnicode 64348 63263 -1.7% 1.02x
StringInterpolation 13833 13951 +0.9% 0.99x (?)
StringMatch 35138 34466 -1.9% 1.02x
StringUTF16Builder 8013 7946 -0.8% 1.01x
StringWalk 12473 11930 -4.4% 1.05x
StringWithCString 57485 57565 +0.1% 1.00x (?)
SubstringComparable 4201 4350 +3.5% 0.97x
SubstringEqualString 6431 6398 -0.5% 1.01x (?)
SubstringEquatable 8507 8221 -3.4% 1.03x
SubstringFromLongStringGeneric 110 108 -1.8% 1.02x
SuffixAnyCollection 6765 6706 -0.9% 1.01x (?)
SuffixAnyCollectionLazy 47337 45907 -3.0% 1.03x (?)
SuffixAnySeqCRangeIter 44099 43728 -0.8% 1.01x
SuffixAnySeqCRangeIterLazy 45222 43719 -3.3% 1.03x (?)
SuffixAnySeqCntRange 6849 6715 -2.0% 1.02x
SuffixAnySeqCntRangeLazy 6855 6859 +0.1% 1.00x (?)
SuffixAnySequence 30476 30995 +1.7% 0.98x (?)
SuffixAnySequenceLazy 30554 30336 -0.7% 1.01x (?)
SuffixArrayLazy 15009 14583 -2.8% 1.03x (?)
SuffixCountableRange 120 119 -0.8% 1.01x
SuffixCountableRangeLazy 13559 13420 -1.0% 1.01x
SuffixSequence 30872 29805 -3.5% 1.04x
SuffixSequenceLazy 30043 29520 -1.7% 1.02x (?)
SumUsingReduce 226376 218196 -3.6% 1.04x
SumUsingReduceInto 222124 223145 +0.5% 1.00x (?)
SuperChars 195080 186641 -4.3% 1.05x
TypeFlood 177 174 -1.7% 1.02x (?)
XorLoop 23228 22698 -2.3% 1.02x (?)
accessInMatSet 310 306 -1.3% 1.01x (?)
accessIndependent 119 124 +4.2% 0.96x (?)
Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini7,1
  Processor Name: Intel Core i7
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 2
  L2 Cache (per Core): 256 KB
  L3 Cache: 4 MB
  Memory: 16 GB

@swiftix
Copy link
Contributor Author

swiftix commented Sep 30, 2017

@swift-ci please smoke test

1 similar comment
@swiftix
Copy link
Contributor Author

swiftix commented Sep 30, 2017

@swift-ci please smoke test

@swiftix
Copy link
Contributor Author

swiftix commented Sep 30, 2017

@swift-ci please test

1 similar comment
@swiftix
Copy link
Contributor Author

swiftix commented Sep 30, 2017

@swift-ci please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - edd6fd311cec9743ed6343483f04fd8f16d6cfae

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - edd6fd311cec9743ed6343483f04fd8f16d6cfae

@swiftix
Copy link
Contributor Author

swiftix commented Oct 2, 2017

@swift-ci please clean test

@swift-ci
Copy link
Contributor

swift-ci commented Oct 2, 2017

Build failed
Swift Test Linux Platform
Git Sha - edd6fd311cec9743ed6343483f04fd8f16d6cfae

@swift-ci
Copy link
Contributor

swift-ci commented Oct 2, 2017

Build failed
Swift Test OS X Platform
Git Sha - edd6fd311cec9743ed6343483f04fd8f16d6cfae

@aciidgh
Copy link
Contributor

aciidgh commented Oct 2, 2017

Disabled the failing test while I investigate the underlying issue in swiftpm's test configuration:

swiftlang/swift-package-manager#1351

This option needs to be used if vtables should be serialized. The primary use-case for this option is when you build the standard library.
We can finally get rid of -sil-serialize-all when building the standard library! This option will be completely eliminated in the future commits.

Instead of serializing just everything as we did before, we now serialize only functions annotated with @_inlineable. This way we can selectively control what needs to be available to the clients. This is an important step towards building a resilient standard library.

While this is a huge change for the serialization of the stdlib, it should be virtually invisible to the clients. For example, there are no noticeable performance regressions on any of the benchmarks.
Since the bodies of pre-specializaitons are not serialized, do not use the `[serialized]` attribute for them.
@swiftix swiftix force-pushed the sil-serialize-all-improvments branch from cab691e to a136d59 Compare October 2, 2017 21:34
@swiftix
Copy link
Contributor Author

swiftix commented Oct 2, 2017

@swift-ci please test

1 similar comment
@swiftix
Copy link
Contributor Author

swiftix commented Oct 2, 2017

@swift-ci please test

@swiftix
Copy link
Contributor Author

swiftix commented Oct 2, 2017

@swift-ci Please Test Source Compatibility

1 similar comment
@swiftix
Copy link
Contributor Author

swiftix commented Oct 2, 2017

@swift-ci Please Test Source Compatibility

@swiftix
Copy link
Contributor Author

swiftix commented Oct 2, 2017

@swift-ci please smoke benchmark

@swiftix
Copy link
Contributor Author

swiftix commented Oct 2, 2017

@swift-ci Please Test Source Compatibility

@swiftix
Copy link
Contributor Author

swiftix commented Oct 2, 2017

@swift-ci please smoke benchmark

@swiftix
Copy link
Contributor Author

swiftix commented Oct 2, 2017

@swift-ci please test

@swiftix
Copy link
Contributor Author

swiftix commented Oct 2, 2017

Source Compatibility Suite failures are unrelated.

@swift-ci
Copy link
Contributor

swift-ci commented Oct 3, 2017

Build comment file:

Optimized (O)

Regression (2)
TEST OLD NEW DELTA SPEEDUP
Array2D 2053 2184 +6.4% 0.94x (?)
ReversedDictionary 95 101 +6.3% 0.94x
Improvement (145)
TEST OLD NEW DELTA SPEEDUP
MapReduceLazyCollection 15 11 -26.7% 1.36x
Calculator 39 31 -20.5% 1.26x
CaptureProp 4599 3742 -18.6% 1.23x
ArrayValueProp 6 5 -16.7% 1.20x
NopDeinit 23800 20227 -15.0% 1.18x
ObjectiveCBridgeFromNSString 1080 932 -13.7% 1.16x
ObjectiveCBridgeStubToNSStringRef 118 102 -13.6% 1.16x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 36682 31890 -13.1% 1.15x
MapReduceShortString 23 20 -13.0% 1.15x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5693 4959 -12.9% 1.15x
ObjectiveCBridgeFromNSDictionaryAnyObject 131095 114627 -12.6% 1.14x
DictionaryOfObjects 2439 2148 -11.9% 1.14x
NSStringConversion 382 337 -11.8% 1.13x
DictionaryLiteral 1580 1398 -11.5% 1.13x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 3100 2751 -11.3% 1.13x
MapReduceString 108 96 -11.1% 1.12x
ObjectiveCBridgeStubDataAppend 4061 3610 -11.1% 1.12x
ObjectiveCBridgeFromNSArrayAnyObjectToString 43064 38347 -11.0% 1.12x
DictionaryRemove 2734 2438 -10.8% 1.12x
ObjectiveCBridgeStubToNSDate 15594 13933 -10.7% 1.12x
CharIndexing_punctuated_unicodeScalars_Backwards 2734 2443 -10.6% 1.12x
ObjectiveCBridgeStubFromArrayOfNSString 27041 24179 -10.6% 1.12x
MapReduceAnyCollection 383 343 -10.4% 1.12x
StringInterpolation 11458 10281 -10.3% 1.11x
MapReduceAnyCollectionShort 2222 1996 -10.2% 1.11x (?)
CharIteration_punctuated_unicodeScalars_Backwards 3836 3448 -10.1% 1.11x
CharIndexing_korean_unicodeScalars_Backwards 11473 10314 -10.1% 1.11x
CharIteration_korean_unicodeScalars_Backwards 16466 14806 -10.1% 1.11x
ObjectiveCBridgeFromNSSetAnyObject 67519 60714 -10.1% 1.11x
SuffixArray 10 9 -10.0% 1.11x
Integrate 261 235 -10.0% 1.11x
CharIndexing_russian_unicodeScalars_Backwards 9850 8872 -9.9% 1.11x
CharIteration_punctuatedJapanese_unicodeScalars 2992 2695 -9.9% 1.11x
Dictionary2OfObjects 3447 3105 -9.9% 1.11x
ArrayAppendGenericStructs 1261 1136 -9.9% 1.11x
Dictionary3OfObjects 879 793 -9.8% 1.11x
CharIndexing_japanese_unicodeScalars 17327 15636 -9.8% 1.11x
ObjectAllocation 189 171 -9.5% 1.11x
ObjectiveCBridgeFromNSSetAnyObjectForced 4491 4065 -9.5% 1.10x
DropFirstAnySeqCRangeIterLazy 30434 27550 -9.5% 1.10x
ObjectiveCBridgeFromNSArrayAnyObjectForced 3628 3286 -9.4% 1.10x
CharIteration_chinese_unicodeScalars_Backwards 12758 11556 -9.4% 1.10x
CharIndexing_korean_unicodeScalars 13969 12656 -9.4% 1.10x
DictionarySwap 449 407 -9.4% 1.10x
BitCount 139 126 -9.4% 1.10x
ArrayAppendRepeatCol 1039 944 -9.1% 1.10x
Chars 427 388 -9.1% 1.10x
ObjectiveCBridgeFromNSArrayAnyObject 23788 21626 -9.1% 1.10x
DictionaryGroupOfObjects 1857 1689 -9.0% 1.10x
CharIndexing_ascii_unicodeScalars 14489 13179 -9.0% 1.10x
StringMatch 7635 6958 -8.9% 1.10x
DropFirstAnySeqCRangeIter 29125 26560 -8.8% 1.10x
AnyHashableWithAClass 70317 64222 -8.7% 1.09x
ArrayPlusEqualFiveElementCollection 4697 4294 -8.6% 1.09x
LessSubstringSubstring 398 364 -8.5% 1.09x
CharIndexing_russian_unicodeScalars 11896 10883 -8.5% 1.09x
CharIndexing_ascii_unicodeScalars_Backwards 11610 10629 -8.4% 1.09x
ObjectiveCBridgeStubNSDataAppend 2453 2246 -8.4% 1.09x
DictionaryRemoveOfObjects 24710 22628 -8.4% 1.09x
ObjectiveCBridgeFromNSStringForced 2003 1836 -8.3% 1.09x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2142 1965 -8.3% 1.09x
ObjectiveCBridgeToNSSet 40877 37504 -8.3% 1.09x
AngryPhonebook 3060 2811 -8.1% 1.09x
Hanoi 3680 3381 -8.1% 1.09x
Dictionary3 480 441 -8.1% 1.09x
CStringShortAscii 4952 4558 -8.0% 1.09x
ArrayAppendOptionals 1234 1136 -7.9% 1.09x
IterateData 1442 1328 -7.9% 1.09x
ObjectiveCBridgeFromNSSetAnyObjectToString 70505 64949 -7.9% 1.09x
CharIteration_japanese_unicodeScalars_Backwards 19843 18287 -7.8% 1.09x
CharIteration_korean_unicodeScalars 15521 14335 -7.6% 1.08x
CharIndexing_chinese_unicodeScalars 10736 9917 -7.6% 1.08x
CharIteration_chinese_unicodeScalars 12105 11185 -7.6% 1.08x
CharIteration_russian_unicodeScalars 13319 12308 -7.6% 1.08x
ObjectiveCBridgeStubDateAccess 185 171 -7.6% 1.08x
CharIndexing_tweet_unicodeScalars 27806 25715 -7.5% 1.08x
CharIteration_punctuated_unicodeScalars 3638 3367 -7.4% 1.08x
ObjectiveCBridgeStubFromNSDateRef 4208 3895 -7.4% 1.08x
CharIteration_tweet_unicodeScalars_Backwards 32579 30185 -7.3% 1.08x
ArraySubscript 1518 1407 -7.3% 1.08x
CharIndexing_punctuated_unicodeScalars 3216 2984 -7.2% 1.08x
CharIndexing_japanese_unicodeScalars_Backwards 13743 12752 -7.2% 1.08x
CharIteration_japanese_unicodeScalars 19034 17662 -7.2% 1.08x
ArrayOfRef 4010 3722 -7.2% 1.08x
Walsh 391 363 -7.2% 1.08x
LessSubstringSubstringGenericComparable 393 365 -7.1% 1.08x
CharIteration_russian_unicodeScalars_Backwards 13701 12725 -7.1% 1.08x
MapReduceClass 3119 2897 -7.1% 1.08x
PrefixAnySeqCRangeIter 22563 20960 -7.1% 1.08x
PrefixAnySeqCRangeIterLazy 22652 21050 -7.1% 1.08x
ObjectiveCBridgeToNSString 1289 1199 -7.0% 1.08x
Histogram 290 270 -6.9% 1.07x (?)
DictionaryGroup 277 258 -6.9% 1.07x
DropFirstArray 30 28 -6.7% 1.07x
SuffixAnySeqCntRange 15 14 -6.7% 1.07x
SuffixAnySeqCntRangeLazy 15 14 -6.7% 1.07x
CharacterLiteralsLarge 6110 5703 -6.7% 1.07x
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 71074 66356 -6.6% 1.07x (?)
CharIndexing_chinese_unicodeScalars_Backwards 8629 8057 -6.6% 1.07x
Dictionary 589 550 -6.6% 1.07x
CharIteration_tweet_unicodeScalars 31116 29077 -6.6% 1.07x
StringUTF16Builder 1900 1776 -6.5% 1.07x
ArrayPlusEqualThreeElements 1647 1542 -6.4% 1.07x
DropLastAnySeqCntRange 16 15 -6.2% 1.07x
Dictionary2 1907 1789 -6.2% 1.07x
DictionaryBridge 2663 2500 -6.1% 1.07x
CharIteration_utf16_unicodeScalars_Backwards 113102 106197 -6.1% 1.07x
ObjectiveCBridgeStubToArrayOfNSString 30224 28384 -6.1% 1.06x
CharIndexing_tweet_unicodeScalars_Backwards 22622 21251 -6.1% 1.06x
CharIteration_ascii_unicodeScalars_Backwards 16239 15259 -6.0% 1.06x
NSDictionaryCastToSwift 5627 5289 -6.0% 1.06x
ArrayOfGenericRef 4112 3867 -6.0% 1.06x
Memset 235 221 -6.0% 1.06x
MapReduceClassShort 4560 4293 -5.9% 1.06x
LazilyFilteredArrays 66884 62991 -5.8% 1.06x
ObjectiveCBridgeStubNSDateMutationRef 13485 12701 -5.8% 1.06x
DropFirstAnySeqCntRange 52 49 -5.8% 1.06x
ArrayAppendUTF16 40735 38393 -5.7% 1.06x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 99530 93860 -5.7% 1.06x
DropFirstAnySequence 6213 5860 -5.7% 1.06x
SortStringsUnicode 7860 7415 -5.7% 1.06x
CStringLongNonAscii 2204 2080 -5.6% 1.06x
ObjectiveCBridgeStubFromNSStringRef 143 135 -5.6% 1.06x
MapReduceShort 1991 1880 -5.6% 1.06x
MapReduceLazyCollectionShort 36 34 -5.6% 1.06x
DropFirstCountableRangeLazy 18 17 -5.6% 1.06x
PrefixCountableRangeLazy 18 17 -5.6% 1.06x
PrefixCountableRange 18 17 -5.6% 1.06x
PrefixWhileCountableRangeLazy 18 17 -5.6% 1.06x
DropFirstAnySequenceLazy 6204 5868 -5.4% 1.06x
ArrayAppendStrings 15410 14584 -5.4% 1.06x
ArrayAppendSequence 911 863 -5.3% 1.06x
NSError 307 291 -5.2% 1.05x
MapReduce 365 346 -5.2% 1.05x
SortStrings 1688 1601 -5.2% 1.05x
SubstringEqualString 1364 1294 -5.1% 1.05x
DropWhileArrayLazy 78 74 -5.1% 1.05x
ArrayOfGenericPOD 235 223 -5.1% 1.05x
CharacterLiteralsSmall 400 380 -5.0% 1.05x
Join 385 366 -4.9% 1.05x
StringEdits 136778 130071 -4.9% 1.05x
FilterEvenUsingReduceInto 143 136 -4.9% 1.05x (?)
ObjectiveCBridgeStubFromNSString 552 525 -4.9% 1.05x
DeadArray 186 177 -4.8% 1.05x
DropFirstSequence 1954 1860 -4.8% 1.05x
No Changes (182)
TEST OLD NEW DELTA SPEEDUP
ArrayAppend 1041 1015 -2.5% 1.03x
ArrayAppendArrayOfInt 573 563 -1.7% 1.02x
ArrayAppendAscii 20341 19558 -3.8% 1.04x (?)
ArrayAppendFromGeneric 580 564 -2.8% 1.03x
ArrayAppendLatin1 42866 43197 +0.8% 0.99x (?)
ArrayAppendLazyMap 970 948 -2.3% 1.02x
ArrayAppendReserved 818 790 -3.4% 1.04x
ArrayAppendToFromGeneric 588 563 -4.3% 1.04x
ArrayAppendToGeneric 590 564 -4.4% 1.05x
ArrayInClass 66 68 +3.0% 0.97x (?)
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfPOD 178 171 -3.9% 1.04x
ArrayPlusEqualArrayOfInt 588 564 -4.1% 1.04x
ArrayPlusEqualSingleElementCollection 1054 1037 -1.6% 1.02x
ArrayValueProp2 5 5 +0.0% 1.00x
ArrayValueProp3 5 5 +0.0% 1.00x
ArrayValueProp4 5 5 +0.0% 1.00x
ByteSwap 113 109 -3.5% 1.04x
CStringLongAscii 4874 4670 -4.2% 1.04x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2551 2433 -4.6% 1.05x
CharIndexing_utf16_unicodeScalars 78578 76369 -2.8% 1.03x
CharIndexing_utf16_unicodeScalars_Backwards 73052 70671 -3.3% 1.03x
CharIteration_ascii_unicodeScalars 15474 14769 -4.6% 1.05x
CharIteration_utf16_unicodeScalars 77985 74845 -4.0% 1.04x
ClassArrayGetter 13 13 +0.0% 1.00x
DictionarySwapOfObjects 7325 7049 -3.8% 1.04x
DropFirstAnyCollection 52 52 +0.0% 1.00x
DropFirstAnyCollectionLazy 74540 71820 -3.6% 1.04x
DropFirstAnySeqCntRangeLazy 50 48 -4.0% 1.04x
DropFirstArrayLazy 29 29 +0.0% 1.00x
DropFirstCountableRange 17 17 +0.0% 1.00x
DropFirstSequenceLazy 1890 1835 -2.9% 1.03x
DropLastAnyCollection 20 20 +0.0% 1.00x
DropLastAnyCollectionLazy 24837 23867 -3.9% 1.04x
DropLastAnySeqCRangeIter 4662 4446 -4.6% 1.05x
DropLastAnySeqCRangeIterLazy 4607 4446 -3.5% 1.04x
DropLastAnySeqCntRangeLazy 15 15 +0.0% 1.00x
DropLastAnySequence 6410 6369 -0.6% 1.01x
DropLastAnySequenceLazy 6500 6332 -2.6% 1.03x
DropLastArray 9 9 +0.0% 1.00x
DropLastArrayLazy 9 9 +0.0% 1.00x
DropLastCountableRange 6 6 +0.0% 1.00x
DropLastCountableRangeLazy 6 6 +0.0% 1.00x
DropLastSequence 575 583 +1.4% 0.99x
DropLastSequenceLazy 576 582 +1.0% 0.99x (?)
DropWhileAnyCollection 64 64 +0.0% 1.00x
DropWhileAnyCollectionLazy 84 85 +1.2% 0.99x
DropWhileAnySeqCRangeIter 21927 21349 -2.6% 1.03x
DropWhileAnySeqCRangeIterLazy 86 84 -2.3% 1.02x
DropWhileAnySeqCntRange 60 60 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 86 84 -2.3% 1.02x
DropWhileAnySequence 7013 6890 -1.8% 1.02x (?)
DropWhileAnySequenceLazy 1847 1824 -1.2% 1.01x
DropWhileArray 41 40 -2.4% 1.02x
DropWhileCountableRange 18 18 +0.0% 1.00x
DropWhileCountableRangeLazy 66 66 +0.0% 1.00x
DropWhileSequence 1540 1533 -0.5% 1.00x
DropWhileSequenceLazy 44 44 +0.0% 1.00x
EqualStringSubstring 369 365 -1.1% 1.01x
EqualSubstringString 369 365 -1.1% 1.01x
EqualSubstringSubstring 378 365 -3.4% 1.04x
EqualSubstringSubstringGenericEquatable 372 365 -1.9% 1.02x
ErrorHandling 1970 1966 -0.2% 1.00x (?)
FilterEvenUsingReduce 1244 1229 -1.2% 1.01x
FrequenciesUsingReduce 7205 7069 -1.9% 1.02x
FrequenciesUsingReduceInto 4032 3905 -3.1% 1.03x
HashTest 1619 1545 -4.6% 1.05x
LazilyFilteredRange 3650 3542 -3.0% 1.03x
LinkedList 6851 6615 -3.4% 1.04x
MapReduceLazySequence 87 85 -2.3% 1.02x
MapReduceSequence 440 423 -3.9% 1.04x (?)
MonteCarloE 10036 9801 -2.3% 1.02x
MonteCarloPi 41777 41507 -0.6% 1.01x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 105114 101070 -3.8% 1.04x (?)
ObjectiveCBridgeStubDateMutation 266 257 -3.4% 1.04x
ObjectiveCBridgeStubFromNSDate 3711 3625 -2.3% 1.02x (?)
ObjectiveCBridgeStubNSDateRefAccess 335 327 -2.4% 1.02x
ObjectiveCBridgeStubToNSDateRef 3266 3166 -3.1% 1.03x
ObjectiveCBridgeStubToNSString 1426 1409 -1.2% 1.01x
ObjectiveCBridgeStubURLAppendPath 213497 207969 -2.6% 1.03x
ObjectiveCBridgeStubURLAppendPathRef 214429 210357 -1.9% 1.02x (?)
ObjectiveCBridgeToNSArray 30102 29264 -2.8% 1.03x (?)
ObjectiveCBridgeToNSDictionary 44821 44599 -0.5% 1.00x (?)
ObserverClosure 2217 2192 -1.1% 1.01x
ObserverForwarderStruct 1096 1073 -2.1% 1.02x (?)
ObserverPartiallyAppliedMethod 3633 3587 -1.3% 1.01x
ObserverUnappliedMethod 2515 2495 -0.8% 1.01x (?)
OpenClose 3 3 +0.0% 1.00x
Phonebook 6204 5956 -4.0% 1.04x
PolymorphicCalls 16 16 +0.0% 1.00x
PopFrontArray 1059 1035 -2.3% 1.02x
PopFrontArrayGeneric 1086 1044 -3.9% 1.04x
PopFrontUnsafePointer 5072 4856 -4.3% 1.04x
PrefixAnyCollection 54 52 -3.7% 1.04x
PrefixAnyCollectionLazy 74111 71223 -3.9% 1.04x
PrefixAnySeqCntRange 50 48 -4.0% 1.04x
PrefixAnySeqCntRangeLazy 48 48 +0.0% 1.00x
PrefixAnySequence 5208 5110 -1.9% 1.02x (?)
PrefixAnySequenceLazy 5280 5114 -3.1% 1.03x
PrefixArray 30 29 -3.3% 1.03x
PrefixArrayLazy 30 29 -3.3% 1.03x
PrefixSequence 1436 1433 -0.2% 1.00x
PrefixSequenceLazy 1385 1378 -0.5% 1.01x
PrefixWhileAnyCollection 89 87 -2.2% 1.02x
PrefixWhileAnyCollectionLazy 63 62 -1.6% 1.02x
PrefixWhileAnySeqCRangeIter 12201 12143 -0.5% 1.00x
PrefixWhileAnySeqCRangeIterLazy 63 62 -1.6% 1.02x
PrefixWhileAnySeqCntRange 84 83 -1.2% 1.01x (?)
PrefixWhileAnySeqCntRangeLazy 63 62 -1.6% 1.02x
PrefixWhileAnySequence 13595 13514 -0.6% 1.01x
PrefixWhileAnySequenceLazy 1372 1356 -1.2% 1.01x
PrefixWhileArray 65 64 -1.5% 1.02x
PrefixWhileArrayLazy 35 35 +0.0% 1.00x
PrefixWhileCountableRange 28 28 +0.0% 1.00x
PrefixWhileSequence 319 317 -0.6% 1.01x
PrefixWhileSequenceLazy 27 26 -3.7% 1.04x
Prims 742 721 -2.8% 1.03x
PrimsSplit 742 724 -2.4% 1.02x
ProtocolDispatch 2925 2879 -1.6% 1.02x (?)
ProtocolDispatch2 163 162 -0.6% 1.01x
RC4 151 148 -2.0% 1.02x
RGBHistogram 2116 2042 -3.5% 1.04x
RGBHistogramOfObjects 22251 22089 -0.7% 1.01x (?)
RangeAssignment 349 341 -2.3% 1.02x
RecursiveOwnedParameter 2187 2179 -0.4% 1.00x
ReversedArray 45 44 -2.2% 1.02x
ReversedBidirectional 27960 27480 -1.7% 1.02x
SetExclusiveOr 2810 2732 -2.8% 1.03x
SetExclusiveOr_OfObjects 8088 7796 -3.6% 1.04x
SetIntersect 261 255 -2.3% 1.02x
SetIntersect_OfObjects 1632 1630 -0.1% 1.00x (?)
SetIsSubsetOf 271 270 -0.4% 1.00x
SetIsSubsetOf_OfObjects 347 346 -0.3% 1.00x
SetUnion 2694 2591 -3.8% 1.04x
SetUnion_OfObjects 6602 6492 -1.7% 1.02x
SevenBoom 1471 1494 +1.6% 0.98x (?)
Sim2DArray 341 329 -3.5% 1.04x
SortLargeExistentials 8291 7974 -3.8% 1.04x
SortLettersInPlace 1109 1077 -2.9% 1.03x
SortSortedStrings 870 834 -4.1% 1.04x
StackPromo 21357 21145 -1.0% 1.01x
StaticArray 6 6 +0.0% 1.00x
StrComplexWalk 1604 1564 -2.5% 1.03x
StrToInt 1733 1782 +2.8% 0.97x
StringAdder 3399 3350 -1.4% 1.01x
StringBuilder 979 957 -2.2% 1.02x
StringBuilderLong 918 876 -4.6% 1.05x
StringEnumRawValueInitialization 782 775 -0.9% 1.01x
StringEqualPointerComparison 237 236 -0.4% 1.00x (?)
StringFromLongWholeSubstring 175 173 -1.1% 1.01x
StringFromLongWholeSubstringGeneric 21 21 +0.0% 1.00x
StringHasPrefix 8 8 +0.0% 1.00x
StringHasPrefixUnicode 13980 13936 -0.3% 1.00x (?)
StringHasSuffix 8 8 +0.0% 1.00x
StringHasSuffixUnicode 59945 57980 -3.3% 1.03x
StringWalk 1461 1411 -3.4% 1.04x
StringWithCString 57559 58742 +2.1% 0.98x
SubstringComparable 1499 1446 -3.5% 1.04x
SubstringEquatable 3474 3361 -3.3% 1.03x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 59 58 -1.7% 1.02x
SuffixAnyCollection 20 20 +0.0% 1.00x
SuffixAnyCollectionLazy 24315 23826 -2.0% 1.02x (?)
SuffixAnySeqCRangeIter 4777 4755 -0.5% 1.00x
SuffixAnySeqCRangeIterLazy 4788 4751 -0.8% 1.01x
SuffixAnySequence 6411 6343 -1.1% 1.01x
SuffixAnySequenceLazy 6403 6341 -1.0% 1.01x
SuffixArrayLazy 9 9 +0.0% 1.00x
SuffixCountableRange 6 6 +0.0% 1.00x
SuffixCountableRangeLazy 6 6 +0.0% 1.00x
SuffixSequence 4522 4371 -3.3% 1.03x
SuffixSequenceLazy 4489 4386 -2.3% 1.02x (?)
SumUsingReduce 93 92 -1.1% 1.01x
SumUsingReduceInto 93 92 -1.1% 1.01x
SuperChars 78484 77352 -1.4% 1.01x
TwoSum 904 901 -0.3% 1.00x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 244 243 -0.4% 1.00x
XorLoop 329 328 -0.3% 1.00x
accessGlobal 2 2 +0.0% 1.00x
accessInMatSet 17 17 +0.0% 1.00x
accessIndependent 2 2 +0.0% 1.00x

Unoptimized (Onone)

Regression (2)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeStubDateAccess 981 1040 +6.0% 0.94x
StaticArray 4360 4616 +5.9% 0.94x
Improvement (23)
TEST OLD NEW DELTA SPEEDUP
ArrayAppendLatin1 83807 71072 -15.2% 1.18x
ArrayOfPOD 774 672 -13.2% 1.15x
ArrayOfGenericPOD 1280 1147 -10.4% 1.12x
ArrayAppendUTF16 78171 70538 -9.8% 1.11x
EqualStringSubstring 723 658 -9.0% 1.10x
DropLastAnySequence 34681 31750 -8.5% 1.09x
CharIteration_russian_unicodeScalars_Backwards 273779 252056 -7.9% 1.09x
DropWhileSequenceLazy 14191 13076 -7.9% 1.09x
CharIteration_russian_unicodeScalars 160416 148639 -7.3% 1.08x
DictionaryRemoveOfObjects 60760 56688 -6.7% 1.07x
DictionarySwapOfObjects 23532 22065 -6.2% 1.07x (?)
EqualSubstringSubstring 819 769 -6.1% 1.07x
EqualSubstringSubstringGenericEquatable 436 410 -6.0% 1.06x
DropFirstAnyCollection 21262 20000 -5.9% 1.06x
DictionaryRemove 21783 20507 -5.9% 1.06x
EqualSubstringString 703 662 -5.8% 1.06x
ObjectiveCBridgeStubURLAppendPathRef 220769 208140 -5.7% 1.06x
DropFirstAnyCollectionLazy 147692 139328 -5.7% 1.06x
MapReduceString 2671 2520 -5.7% 1.06x
DropFirstAnySequence 15777 14888 -5.6% 1.06x
ArrayAppendSequence 77701 73324 -5.6% 1.06x
CStringLongNonAscii 2361 2242 -5.0% 1.05x
CharIteration_tweet_unicodeScalars 369766 352076 -4.8% 1.05x
No Changes (304)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4846 4705 -2.9% 1.03x (?)
AnyHashableWithAClass 80697 80969 +0.3% 1.00x (?)
Array2D 601285 598729 -0.4% 1.00x
ArrayAppend 3933 3802 -3.3% 1.03x
ArrayAppendArrayOfInt 621 616 -0.8% 1.01x
ArrayAppendAscii 52087 50491 -3.1% 1.03x
ArrayAppendFromGeneric 641 619 -3.4% 1.04x
ArrayAppendGenericStructs 1241 1194 -3.8% 1.04x
ArrayAppendLazyMap 224552 214960 -4.3% 1.04x
ArrayAppendOptionals 1209 1209 +0.0% 1.00x
ArrayAppendRepeatCol 230058 223147 -3.0% 1.03x
ArrayAppendReserved 3725 3711 -0.4% 1.00x (?)
ArrayAppendStrings 14787 14281 -3.4% 1.04x
ArrayAppendToFromGeneric 641 619 -3.4% 1.04x
ArrayAppendToGeneric 642 621 -3.3% 1.03x
ArrayInClass 6086 5955 -2.2% 1.02x
ArrayLiteral 1682 1661 -1.2% 1.01x
ArrayOfGenericRef 9833 9570 -2.7% 1.03x
ArrayOfRef 9026 8757 -3.0% 1.03x
ArrayPlusEqualArrayOfInt 639 617 -3.4% 1.04x
ArrayPlusEqualFiveElementCollection 295584 291229 -1.5% 1.01x
ArrayPlusEqualSingleElementCollection 298885 286981 -4.0% 1.04x
ArrayPlusEqualThreeElements 10726 10550 -1.6% 1.02x
ArraySubscript 83798 81982 -2.2% 1.02x
ArrayValueProp 3503 3378 -3.6% 1.04x
ArrayValueProp2 18375 17778 -3.2% 1.03x
ArrayValueProp3 3847 3797 -1.3% 1.01x
ArrayValueProp4 3905 3778 -3.3% 1.03x
BitCount 1568 1600 +2.0% 0.98x
ByteSwap 3952 3772 -4.6% 1.05x (?)
CStringLongAscii 4594 4524 -1.5% 1.02x (?)
CStringShortAscii 8650 8253 -4.6% 1.05x
Calculator 1134 1101 -2.9% 1.03x
CaptureProp 119817 117821 -1.7% 1.02x
CharIndexing_ascii_unicodeScalars 475784 470668 -1.1% 1.01x (?)
CharIndexing_ascii_unicodeScalars_Backwards 510884 511959 +0.2% 1.00x (?)
CharIndexing_chinese_unicodeScalars 351889 356405 +1.3% 0.99x (?)
CharIndexing_chinese_unicodeScalars_Backwards 378238 376495 -0.5% 1.00x (?)
CharIndexing_japanese_unicodeScalars 560361 565878 +1.0% 0.99x (?)
CharIndexing_japanese_unicodeScalars_Backwards 614796 614061 -0.1% 1.00x (?)
CharIndexing_korean_unicodeScalars 454596 444626 -2.2% 1.02x (?)
CharIndexing_korean_unicodeScalars_Backwards 486220 484814 -0.3% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 81044 80022 -1.3% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 86161 85872 -0.3% 1.00x
CharIndexing_punctuated_unicodeScalars 103880 101011 -2.8% 1.03x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 108855 108559 -0.3% 1.00x (?)
CharIndexing_russian_unicodeScalars 399087 392559 -1.6% 1.02x (?)
CharIndexing_russian_unicodeScalars_Backwards 413628 415640 +0.5% 1.00x (?)
CharIndexing_tweet_unicodeScalars 961402 930912 -3.2% 1.03x
CharIndexing_tweet_unicodeScalars_Backwards 986517 984430 -0.2% 1.00x (?)
CharIndexing_utf16_unicodeScalars 522858 516101 -1.3% 1.01x
CharIndexing_utf16_unicodeScalars_Backwards 555979 554486 -0.3% 1.00x (?)
CharIteration_ascii_unicodeScalars 179981 179066 -0.5% 1.01x
CharIteration_ascii_unicodeScalars_Backwards 307131 297402 -3.2% 1.03x
CharIteration_chinese_unicodeScalars 136209 135788 -0.3% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 232399 228917 -1.5% 1.02x
CharIteration_japanese_unicodeScalars 215138 213569 -0.7% 1.01x
CharIteration_japanese_unicodeScalars_Backwards 369740 362738 -1.9% 1.02x (?)
CharIteration_korean_unicodeScalars 176058 169793 -3.6% 1.04x
CharIteration_korean_unicodeScalars_Backwards 296514 291266 -1.8% 1.02x
CharIteration_punctuatedJapanese_unicodeScalars 32258 31057 -3.7% 1.04x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 53956 51975 -3.7% 1.04x
CharIteration_punctuated_unicodeScalars 40366 40129 -0.6% 1.01x (?)
CharIteration_punctuated_unicodeScalars_Backwards 69192 66762 -3.5% 1.04x
CharIteration_tweet_unicodeScalars_Backwards 627854 599164 -4.6% 1.05x
CharIteration_utf16_unicodeScalars 199677 192825 -3.4% 1.04x
CharIteration_utf16_unicodeScalars_Backwards 374880 371272 -1.0% 1.01x (?)
CharacterLiteralsLarge 5905 5836 -1.2% 1.01x
CharacterLiteralsSmall 674 673 -0.1% 1.00x (?)
Chars 48851 47891 -2.0% 1.02x
ClassArrayGetter 992 956 -3.6% 1.04x
DeadArray 112671 110891 -1.6% 1.02x (?)
Dictionary 2999 2930 -2.3% 1.02x
Dictionary2 3334 3276 -1.7% 1.02x (?)
Dictionary2OfObjects 5815 5775 -0.7% 1.01x (?)
Dictionary3 1269 1231 -3.0% 1.03x
Dictionary3OfObjects 2243 2166 -3.4% 1.04x
DictionaryBridge 2588 2577 -0.4% 1.00x (?)
DictionaryGroup 5456 5338 -2.2% 1.02x (?)
DictionaryGroupOfObjects 8031 7950 -1.0% 1.01x
DictionaryLiteral 8376 8143 -2.8% 1.03x
DictionaryOfObjects 6352 6226 -2.0% 1.02x
DictionarySwap 5330 5157 -3.2% 1.03x
DropFirstAnySeqCRangeIter 31078 30196 -2.8% 1.03x
DropFirstAnySeqCRangeIterLazy 31688 30473 -3.8% 1.04x
DropFirstAnySeqCntRange 20608 20190 -2.0% 1.02x
DropFirstAnySeqCntRangeLazy 20732 20240 -2.4% 1.02x (?)
DropFirstAnySequenceLazy 15182 14919 -1.7% 1.02x
DropFirstArray 5950 6050 +1.7% 0.98x
DropFirstArrayLazy 43349 41934 -3.3% 1.03x
DropFirstCountableRange 331 324 -2.1% 1.02x
DropFirstCountableRangeLazy 39970 39677 -0.7% 1.01x
DropFirstSequence 14437 14263 -1.2% 1.01x
DropFirstSequenceLazy 14344 13823 -3.6% 1.04x
DropLastAnyCollection 6509 6726 +3.3% 0.97x (?)
DropLastAnyCollectionLazy 46647 47757 +2.4% 0.98x (?)
DropLastAnySeqCRangeIter 46426 45219 -2.6% 1.03x (?)
DropLastAnySeqCRangeIterLazy 47669 46757 -1.9% 1.02x (?)
DropLastAnySeqCntRange 6710 6781 +1.1% 0.99x (?)
DropLastAnySeqCntRangeLazy 6937 6788 -2.1% 1.02x (?)
DropLastAnySequenceLazy 33106 31892 -3.7% 1.04x
DropLastArray 2043 2029 -0.7% 1.01x
DropLastArrayLazy 14637 13990 -4.4% 1.05x
DropLastCountableRange 116 115 -0.9% 1.01x (?)
DropLastCountableRangeLazy 13186 13300 +0.9% 0.99x
DropLastSequence 32428 31907 -1.6% 1.02x (?)
DropLastSequenceLazy 32496 31380 -3.4% 1.04x
DropWhileAnyCollection 25817 26483 +2.6% 0.97x
DropWhileAnyCollectionLazy 28449 28835 +1.4% 0.99x
DropWhileAnySeqCRangeIter 32682 32156 -1.6% 1.02x
DropWhileAnySeqCRangeIterLazy 28416 28816 +1.4% 0.99x (?)
DropWhileAnySeqCntRange 26244 26608 +1.4% 0.99x (?)
DropWhileAnySeqCntRangeLazy 28419 28960 +1.9% 0.98x (?)
DropWhileAnySequence 17861 18241 +2.1% 0.98x (?)
DropWhileAnySequenceLazy 14378 14224 -1.1% 1.01x
DropWhileArray 9541 9429 -1.2% 1.01x (?)
DropWhileArrayLazy 17006 16372 -3.7% 1.04x
DropWhileCountableRange 6373 6214 -2.5% 1.03x
DropWhileCountableRangeLazy 28133 28222 +0.3% 1.00x (?)
DropWhileSequence 17198 16632 -3.3% 1.03x (?)
ErrorHandling 6875 6612 -3.8% 1.04x
FilterEvenUsingReduce 4111 4098 -0.3% 1.00x (?)
FilterEvenUsingReduceInto 2388 2354 -1.4% 1.01x
FrequenciesUsingReduce 15473 15111 -2.3% 1.02x (?)
FrequenciesUsingReduceInto 8721 8976 +2.9% 0.97x (?)
Hanoi 18913 18585 -1.7% 1.02x (?)
HashTest 16907 16760 -0.9% 1.01x
Histogram 8689 8550 -1.6% 1.02x
Integrate 691 659 -4.6% 1.05x
IterateData 13161 12641 -4.0% 1.04x
Join 1441 1426 -1.0% 1.01x (?)
LazilyFilteredArrays 1700733 1636719 -3.8% 1.04x
LazilyFilteredRange 705883 718977 +1.9% 0.98x
LessSubstringSubstring 799 784 -1.9% 1.02x
LessSubstringSubstringGenericComparable 438 428 -2.3% 1.02x (?)
LinkedList 38044 37855 -0.5% 1.00x (?)
MapReduce 36594 36137 -1.2% 1.01x
MapReduceAnyCollection 36755 36165 -1.6% 1.02x
MapReduceAnyCollectionShort 48948 48445 -1.0% 1.01x (?)
MapReduceClass 41470 41132 -0.8% 1.01x
MapReduceClassShort 53166 51800 -2.6% 1.03x
MapReduceLazyCollection 33048 32892 -0.5% 1.00x
MapReduceLazyCollectionShort 44012 43235 -1.8% 1.02x
MapReduceLazySequence 28083 28706 +2.2% 0.98x
MapReduceSequence 43522 43036 -1.1% 1.01x
MapReduceShort 48723 47597 -2.3% 1.02x
MapReduceShortString 275 265 -3.6% 1.04x
Memset 42282 42120 -0.4% 1.00x
MonteCarloE 907793 900528 -0.8% 1.01x
MonteCarloPi 3958794 3933769 -0.6% 1.01x (?)
NSDictionaryCastToSwift 6554 6603 +0.7% 0.99x (?)
NSError 713 711 -0.3% 1.00x (?)
NSStringConversion 392 396 +1.0% 0.99x (?)
NopDeinit 167114 168510 +0.8% 0.99x (?)
ObjectAllocation 1440 1414 -1.8% 1.02x
ObjectiveCBridgeFromNSArrayAnyObject 24534 24081 -1.8% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 6856 6892 +0.5% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 39689 39857 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 33767 34620 +2.5% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 118313 116553 -1.5% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7602 7392 -2.8% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 93683 98408 +5.0% 0.95x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 98864 102363 +3.5% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObject 66693 66891 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7007 7256 +3.6% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 71617 71284 -0.5% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 71077 72106 +1.4% 0.99x
ObjectiveCBridgeFromNSString 3870 3859 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2225 2186 -1.8% 1.02x
ObjectiveCBridgeStubDataAppend 4281 4308 +0.6% 0.99x (?)
ObjectiveCBridgeStubDateMutation 538 555 +3.2% 0.97x
ObjectiveCBridgeStubFromArrayOfNSString 25421 24824 -2.3% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 3920 3953 +0.8% 0.99x (?)
ObjectiveCBridgeStubFromNSDateRef 4281 4299 +0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSString 546 574 +5.1% 0.95x
ObjectiveCBridgeStubFromNSStringRef 177 176 -0.6% 1.01x
ObjectiveCBridgeStubNSDataAppend 2776 2769 -0.3% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 15115 15159 +0.3% 1.00x (?)
ObjectiveCBridgeStubNSDateRefAccess 1174 1154 -1.7% 1.02x
ObjectiveCBridgeStubToArrayOfNSString 28462 28918 +1.6% 0.98x (?)
ObjectiveCBridgeStubToNSDate 15139 14725 -2.7% 1.03x (?)
ObjectiveCBridgeStubToNSDateRef 3164 3130 -1.1% 1.01x (?)
ObjectiveCBridgeStubToNSString 1470 1469 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 146 147 +0.7% 0.99x
ObjectiveCBridgeStubURLAppendPath 206454 206811 +0.2% 1.00x (?)
ObjectiveCBridgeToNSArray 28932 28678 -0.9% 1.01x (?)
ObjectiveCBridgeToNSDictionary 45501 43904 -3.5% 1.04x
ObjectiveCBridgeToNSSet 38179 37960 -0.6% 1.01x (?)
ObjectiveCBridgeToNSString 1228 1232 +0.3% 1.00x
ObserverClosure 6551 6591 +0.6% 0.99x (?)
ObserverForwarderStruct 4805 4812 +0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 7908 7927 +0.2% 1.00x (?)
ObserverUnappliedMethod 8263 8309 +0.6% 0.99x
OpenClose 385 385 +0.0% 1.00x
Phonebook 21675 21141 -2.5% 1.03x (?)
PolymorphicCalls 5131 5156 +0.5% 1.00x
PopFrontArray 9978 10158 +1.8% 0.98x
PopFrontArrayGeneric 8750 8772 +0.3% 1.00x
PopFrontUnsafePointer 6213 6388 +2.8% 0.97x
PrefixAnyCollection 19759 20435 +3.4% 0.97x
PrefixAnyCollectionLazy 140246 142703 +1.8% 0.98x (?)
PrefixAnySeqCRangeIter 23240 23529 +1.2% 0.99x (?)
PrefixAnySeqCRangeIterLazy 24227 23996 -1.0% 1.01x
PrefixAnySeqCntRange 19838 20303 +2.3% 0.98x
PrefixAnySeqCntRangeLazy 19862 20140 +1.4% 0.99x (?)
PrefixAnySequence 12402 12173 -1.8% 1.02x
PrefixAnySequenceLazy 12226 12128 -0.8% 1.01x
PrefixArray 5905 6032 +2.2% 0.98x
PrefixArrayLazy 42424 42038 -0.9% 1.01x (?)
PrefixCountableRange 330 330 +0.0% 1.00x
PrefixCountableRangeLazy 39142 40977 +4.7% 0.96x
PrefixSequence 11527 11418 -0.9% 1.01x (?)
PrefixSequenceLazy 11093 11242 +1.3% 0.99x
PrefixWhileAnyCollection 37483 38130 +1.7% 0.98x
PrefixWhileAnyCollectionLazy 24036 23607 -1.8% 1.02x (?)
PrefixWhileAnySeqCRangeIter 41987 41994 +0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 23163 22901 -1.1% 1.01x (?)
PrefixWhileAnySeqCntRange 38810 38454 -0.9% 1.01x
PrefixWhileAnySeqCntRangeLazy 23296 23869 +2.5% 0.98x
PrefixWhileAnySequence 31578 31241 -1.1% 1.01x (?)
PrefixWhileAnySequenceLazy 12578 12654 +0.6% 0.99x (?)
PrefixWhileArray 16343 16374 +0.2% 1.00x (?)
PrefixWhileArrayLazy 14488 14386 -0.7% 1.01x
PrefixWhileCountableRange 18322 17872 -2.5% 1.03x
PrefixWhileCountableRangeLazy 23535 22754 -3.3% 1.03x
PrefixWhileSequence 31614 30672 -3.0% 1.03x (?)
PrefixWhileSequenceLazy 12243 12106 -1.1% 1.01x
Prims 9977 10014 +0.4% 1.00x (?)
PrimsSplit 10071 10013 -0.6% 1.01x (?)
ProtocolDispatch 7420 7546 +1.7% 0.98x (?)
ProtocolDispatch2 485 502 +3.5% 0.97x
RC4 18420 17908 -2.8% 1.03x
RGBHistogram 32363 32217 -0.5% 1.00x (?)
RGBHistogramOfObjects 99383 99517 +0.1% 1.00x (?)
RangeAssignment 5404 5352 -1.0% 1.01x
RecursiveOwnedParameter 10204 10223 +0.2% 1.00x
ReversedArray 42890 41470 -3.3% 1.03x
ReversedBidirectional 71711 71936 +0.3% 1.00x (?)
ReversedDictionary 28048 28598 +2.0% 0.98x (?)
SetExclusiveOr 22022 21889 -0.6% 1.01x
SetExclusiveOr_OfObjects 45625 45331 -0.6% 1.01x (?)
SetIntersect 11844 11895 +0.4% 1.00x (?)
SetIntersect_OfObjects 11952 11780 -1.4% 1.01x (?)
SetIsSubsetOf 1845 1811 -1.8% 1.02x (?)
SetIsSubsetOf_OfObjects 1477 1455 -1.5% 1.02x
SetUnion 11174 11209 +0.3% 1.00x (?)
SetUnion_OfObjects 31801 31674 -0.4% 1.00x (?)
SevenBoom 1579 1617 +2.4% 0.98x (?)
Sim2DArray 41951 41908 -0.1% 1.00x
SortLargeExistentials 16372 16289 -0.5% 1.01x
SortLettersInPlace 2893 2872 -0.7% 1.01x
SortSortedStrings 1349 1358 +0.7% 0.99x (?)
SortStrings 2383 2383 +0.0% 1.00x
SortStringsUnicode 8698 8424 -3.2% 1.03x
StackPromo 99041 99976 +0.9% 0.99x (?)
StrComplexWalk 6628 6809 +2.7% 0.97x
StrToInt 122174 122302 +0.1% 1.00x (?)
StringAdder 3616 3610 -0.2% 1.00x (?)
StringBuilder 6739 6759 +0.3% 1.00x (?)
StringBuilderLong 1071 1054 -1.6% 1.02x (?)
StringEdits 371258 366979 -1.2% 1.01x (?)
StringEnumRawValueInitialization 12177 12100 -0.6% 1.01x (?)
StringEqualPointerComparison 2392 2341 -2.1% 1.02x
StringFromLongWholeSubstring 200 196 -2.0% 1.02x
StringFromLongWholeSubstringGeneric 202 202 +0.0% 1.00x
StringHasPrefix 1706 1651 -3.2% 1.03x
StringHasPrefixUnicode 15996 16195 +1.2% 0.99x
StringHasSuffix 1783 1874 +5.1% 0.95x
StringHasSuffixUnicode 61246 61598 +0.6% 0.99x (?)
StringInterpolation 13425 13466 +0.3% 1.00x (?)
StringMatch 33917 34143 +0.7% 0.99x (?)
StringUTF16Builder 7764 7754 -0.1% 1.00x (?)
StringWalk 11141 11694 +5.0% 0.95x
StringWithCString 55817 56531 +1.3% 0.99x
SubstringComparable 4210 4159 -1.2% 1.01x
SubstringEqualString 6338 6165 -2.7% 1.03x (?)
SubstringEquatable 8425 8034 -4.6% 1.05x (?)
SubstringFromLongString 16 16 +0.0% 1.00x
SubstringFromLongStringGeneric 105 106 +1.0% 0.99x
SuffixAnyCollection 6513 6694 +2.8% 0.97x (?)
SuffixAnyCollectionLazy 46866 46666 -0.4% 1.00x (?)
SuffixAnySeqCRangeIter 43223 43728 +1.2% 0.99x (?)
SuffixAnySeqCRangeIterLazy 43322 43382 +0.1% 1.00x
SuffixAnySeqCntRange 6682 6723 +0.6% 0.99x (?)
SuffixAnySeqCntRangeLazy 6653 6833 +2.7% 0.97x
SuffixAnySequence 29745 29821 +0.3% 1.00x (?)
SuffixAnySequenceLazy 29440 29540 +0.3% 1.00x (?)
SuffixArray 1977 2025 +2.4% 0.98x
SuffixArrayLazy 14376 14008 -2.6% 1.03x
SuffixCountableRange 115 116 +0.9% 0.99x
SuffixCountableRangeLazy 13086 13358 +2.1% 0.98x
SuffixSequence 28988 29059 +0.2% 1.00x (?)
SuffixSequenceLazy 29059 29084 +0.1% 1.00x (?)
SumUsingReduce 218377 216460 -0.9% 1.01x
SumUsingReduceInto 212850 213179 +0.2% 1.00x (?)
SuperChars 181420 181206 -0.1% 1.00x (?)
TwoSum 4058 4076 +0.4% 1.00x (?)
TypeFlood 159 155 -2.5% 1.03x
UTF8Decode 36045 36051 +0.0% 1.00x (?)
Walsh 11347 11358 +0.1% 1.00x (?)
XorLoop 22683 22659 -0.1% 1.00x
accessGlobal 169 164 -3.0% 1.03x
accessInMatSet 290 289 -0.3% 1.00x (?)
accessIndependent 116 119 +2.6% 0.97x (?)
Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini7,1
  Processor Name: Intel Core i7
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 2
  L2 Cache (per Core): 256 KB
  L3 Cache: 4 MB
  Memory: 16 GB

@swiftix swiftix merged commit 0918780 into swiftlang:master Oct 3, 2017
@gottesmm
Copy link
Contributor

gottesmm commented Oct 3, 2017

Congrats!

@eeckstein
Copy link
Contributor

That's really awesome!

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.

6 participants