Skip to content

WIP: Closure ABI - Make @noescape Swift closures trivial #14514

New issue

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

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

Already on GitHub? Sign in to your account

Merged

Conversation

aschwaighofer
Copy link
Contributor

SR-5441
rdar://36116691

@aschwaighofer
Copy link
Contributor Author

@swift-ci Please test

@aschwaighofer
Copy link
Contributor Author

@swift-ci Please test source compatibility

@aschwaighofer
Copy link
Contributor Author

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Feb 9, 2018

Build failed
Swift Test Linux Platform
Git Sha - a7918ccd9cb4cc33edd72cfc66d28469de0ee2bb

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (25)
TEST OLD NEW DELTA SPEEDUP
MapReduceLazyCollectionShort 38 2500 +6478.8% 0.02x
MapReduceLazyCollection 13 395 +2938.2% 0.03x
MapReduceLazySequence 86 391 +354.6% 0.22x
MapReduceShort 2057 5190 +152.3% 0.40x
MapReduceAnyCollectionShort 2031 4963 +144.4% 0.41x
MapReduce 399 789 +97.7% 0.51x
MapReduceAnyCollection 399 761 +90.7% 0.52x
MapReduceSequence 454 848 +86.8% 0.54x
MapReduceClassShort 4588 7338 +59.9% 0.63x
IterateData 1377 1951 +41.7% 0.71x
LuhnAlgoLazy 583 739 +26.8% 0.79x
LuhnAlgoEager 583 738 +26.6% 0.79x
StaticArray 5 6 +20.0% 0.83x
ArrayAppendLazyMap 1343 1566 +16.6% 0.86x
PrefixWhileCountableRange 46 53 +15.2% 0.87x
MapReduceClass 3049 3400 +11.5% 0.90x
SuffixCountableRangeLazy 11 12 +9.1% 0.92x
DropLastCountableRangeLazy 11 12 +9.1% 0.92x
StringWordBuilderReservingCapacity 1270 1381 +8.7% 0.92x
Hanoi 3336 3621 +8.5% 0.92x
LazilyFilteredRange 3821 4143 +8.4% 0.92x
StringWordBuilder 1708 1846 +8.1% 0.93x
DropLastSequence 636 685 +7.7% 0.93x
DropLastSequenceLazy 636 683 +7.4% 0.93x
StrToInt 2071 2181 +5.3% 0.95x
Improvement (10)
TEST OLD NEW DELTA SPEEDUP
CaptureProp 9163 3878 -57.7% 2.36x
RGBHistogram 2961 2206 -25.5% 1.34x
PrefixWhileArray 105 88 -16.2% 1.19x
SortSortedStrings 1164 998 -14.3% 1.17x
SortStrings 2027 1800 -11.2% 1.13x
ArrayAppendReserved 833 755 -9.4% 1.10x
WordCountHistogramASCII 7979 7265 -8.9% 1.10x
SuffixCountableRange 12 11 -8.3% 1.09x
PointerArithmetics 34354 31501 -8.3% 1.09x
ArrayAppend 1101 1022 -7.2% 1.08x
No Changes (327)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3644 3635 -0.2% 1.00x (?)
AnyHashableWithAClass 69401 69318 -0.1% 1.00x (?)
Array2D 2529 2525 -0.2% 1.00x (?)
ArrayAppendArrayOfInt 781 798 +2.2% 0.98x (?)
ArrayAppendAscii 13656 13679 +0.2% 1.00x (?)
ArrayAppendFromGeneric 798 797 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1427 1398 -2.0% 1.02x (?)
ArrayAppendLatin1 38114 38454 +0.9% 0.99x
ArrayAppendOptionals 1418 1427 +0.6% 0.99x (?)
ArrayAppendRepeatCol 1339 1338 -0.1% 1.00x (?)
ArrayAppendSequence 1135 1128 -0.6% 1.01x (?)
ArrayAppendStrings 15222 15199 -0.2% 1.00x (?)
ArrayAppendToFromGeneric 797 797 +0.0% 1.00x
ArrayAppendToGeneric 792 797 +0.6% 0.99x (?)
ArrayAppendUTF16 37191 37739 +1.5% 0.99x
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 150 150 +0.0% 1.00x
ArrayOfGenericRef 4407 4406 -0.0% 1.00x (?)
ArrayOfPOD 183 183 +0.0% 1.00x
ArrayOfRef 4367 4369 +0.0% 1.00x (?)
ArrayPlusEqualArrayOfInt 793 795 +0.3% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5624 5429 -3.5% 1.04x
ArrayPlusEqualSingleElementCollection 1061 1016 -4.2% 1.04x
ArrayPlusEqualThreeElements 1664 1659 -0.3% 1.00x (?)
ArraySubscript 1513 1530 +1.1% 0.99x (?)
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointConversionFromBinaryInteger 38 38 +0.0% 1.00x
BitCount 211 202 -4.3% 1.04x
ByteSwap 97 102 +5.2% 0.95x
COWTree 3600 3605 +0.1% 1.00x (?)
CSVParsing 758584 757662 -0.1% 1.00x (?)
CSVParsingAlt 724407 721579 -0.4% 1.00x (?)
CSVParsingAltIndices 358470 353742 -1.3% 1.01x (?)
CStringLongAscii 4770 4796 +0.5% 0.99x (?)
CStringLongNonAscii 2144 2095 -2.3% 1.02x (?)
CStringShortAscii 4718 4715 -0.1% 1.00x (?)
Calculator 431 434 +0.7% 0.99x (?)
CharIndexing_ascii_unicodeScalars 15168 15159 -0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 14821 14815 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 11488 11490 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 11229 11228 -0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars 18153 18153 +0.0% 1.00x
CharIndexing_japanese_unicodeScalars_Backwards 17738 17732 -0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars 14713 14706 -0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 14371 14368 -0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 2761 2761 +0.0% 1.00x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2706 2699 -0.3% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 3450 3449 -0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 3375 3376 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars 12638 12636 -0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 12354 12356 +0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 29893 29887 -0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 29214 29204 -0.0% 1.00x (?)
CharIndexing_utf16_unicodeScalars 20626 20823 +1.0% 0.99x (?)
CharIndexing_utf16_unicodeScalars_Backwards 21469 21473 +0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars 20853 21650 +3.8% 0.96x
CharIteration_ascii_unicodeScalars_Backwards 13297 13290 -0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars 15799 16392 +3.8% 0.96x
CharIteration_chinese_unicodeScalars_Backwards 10085 10100 +0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars 24987 25937 +3.8% 0.96x
CharIteration_japanese_unicodeScalars_Backwards 15920 15931 +0.1% 1.00x (?)
CharIteration_korean_unicodeScalars 20225 21012 +3.9% 0.96x
CharIteration_korean_unicodeScalars_Backwards 12912 12903 -0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3726 3850 +3.3% 0.97x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2447 2472 +1.0% 0.99x
CharIteration_punctuated_unicodeScalars 4687 4838 +3.2% 0.97x
CharIteration_punctuated_unicodeScalars_Backwards 3044 3076 +1.1% 0.99x
CharIteration_russian_unicodeScalars 17357 18032 +3.9% 0.96x
CharIteration_russian_unicodeScalars_Backwards 11084 11100 +0.1% 1.00x (?)
CharIteration_tweet_unicodeScalars 41453 42229 +1.9% 0.98x
CharIteration_tweet_unicodeScalars_Backwards 26230 26235 +0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars 27441 27670 +0.8% 0.99x (?)
CharIteration_utf16_unicodeScalars_Backwards 16550 16506 -0.3% 1.00x (?)
CharacterLiteralsLarge 6090 6115 +0.4% 1.00x (?)
CharacterLiteralsSmall 410 410 +0.0% 1.00x
CharacterPropertiesFetch 4624 4659 +0.8% 0.99x (?)
CharacterPropertiesPrecomputed 1059 1110 +4.8% 0.95x (?)
CharacterPropertiesStashed 1662 1631 -1.9% 1.02x (?)
CharacterPropertiesStashedMemo 1625 1631 +0.4% 1.00x (?)
Chars 969 969 +0.0% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 454 450 -0.9% 1.01x (?)
DictOfArraysToArrayOfDicts 781 796 +1.9% 0.98x (?)
Dictionary 505 507 +0.4% 1.00x (?)
Dictionary2 1615 1597 -1.1% 1.01x (?)
Dictionary2OfObjects 2972 2942 -1.0% 1.01x (?)
Dictionary3 234 242 +3.4% 0.97x
Dictionary3OfObjects 672 671 -0.1% 1.00x (?)
Dictionary4 146 146 +0.0% 1.00x
Dictionary4OfObjects 197 197 +0.0% 1.00x
DictionaryBridge 1972 1927 -2.3% 1.02x (?)
DictionaryGroup 132 133 +0.8% 0.99x (?)
DictionaryGroupOfObjects 1913 1914 +0.1% 1.00x (?)
DictionaryLiteral 1618 1598 -1.2% 1.01x (?)
DictionaryOfObjects 2171 2168 -0.1% 1.00x (?)
DictionaryRemove 2739 2736 -0.1% 1.00x (?)
DictionaryRemoveOfObjects 23705 23731 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutation 144 142 -1.4% 1.01x
DictionarySubscriptDefaultMutationArray 491 489 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 3799 3821 +0.6% 0.99x (?)
DictionarySubscriptDefaultMutationOfObjects 1395 1379 -1.1% 1.01x
DictionarySwap 466 487 +4.5% 0.96x
DictionarySwapOfObjects 7390 7355 -0.5% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 65075 64368 -1.1% 1.01x (?)
DropFirstAnySeqCRangeIter 18036 17998 -0.2% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 18033 17995 -0.2% 1.00x (?)
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 4360 4320 -0.9% 1.01x (?)
DropFirstAnySequenceLazy 4360 4319 -0.9% 1.01x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2698 2698 +0.0% 1.00x
DropFirstSequenceLazy 2792 2784 -0.3% 1.00x (?)
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 21768 21620 -0.7% 1.01x (?)
DropLastAnySeqCRangeIter 3514 3506 -0.2% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3513 3508 -0.1% 1.00x (?)
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 5099 5100 +0.0% 1.00x (?)
DropLastAnySequenceLazy 5173 5204 +0.6% 0.99x (?)
DropLastCountableRange 11 11 +0.0% 1.00x
DropWhileAnyCollection 100 100 +0.0% 1.00x
DropWhileAnyCollectionLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCRangeIter 14716 14692 -0.2% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 147 147 +0.0% 1.00x
DropWhileAnySequence 4706 4698 -0.2% 1.00x (?)
DropWhileAnySequenceLazy 1854 1854 +0.0% 1.00x
DropWhileArrayLazy 129 129 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 111 111 +0.0% 1.00x
DropWhileSequence 1340 1340 +0.0% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 432 433 +0.2% 1.00x (?)
EqualSubstringString 432 432 +0.0% 1.00x
EqualSubstringSubstring 432 432 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 432 432 +0.0% 1.00x
ErrorHandling 2331 2312 -0.8% 1.01x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1311 1303 -0.6% 1.01x (?)
FilterEvenUsingReduceInto 150 147 -2.0% 1.02x (?)
FrequenciesUsingReduce 6732 6657 -1.1% 1.01x (?)
FrequenciesUsingReduceInto 3153 3101 -1.6% 1.02x
HashTest 1761 1760 -0.1% 1.00x (?)
Histogram 322 321 -0.3% 1.00x (?)
Integrate 217 217 +0.0% 1.00x
Join 374 369 -1.3% 1.01x (?)
LazilyFilteredArrayContains 36656 37455 +2.2% 0.98x
LazilyFilteredArrays 65153 65184 +0.0% 1.00x (?)
LessSubstringSubstring 432 432 +0.0% 1.00x
LessSubstringSubstringGenericComparable 431 431 +0.0% 1.00x
LinkedList 7539 7574 +0.5% 1.00x (?)
MapReduceShortString 21 22 +4.8% 0.95x (?)
MapReduceString 83 84 +1.2% 0.99x (?)
Memset 214 214 +0.0% 1.00x
MonteCarloE 10287 10410 +1.2% 0.99x
MonteCarloPi 42873 42908 +0.1% 1.00x (?)
NSDictionaryCastToSwift 5318 5248 -1.3% 1.01x (?)
NSError 304 306 +0.7% 0.99x (?)
NSStringConversion 327 312 -4.6% 1.05x (?)
NibbleSort 3957 3956 -0.0% 1.00x (?)
NopDeinit 21579 21584 +0.0% 1.00x (?)
ObjectAllocation 183 183 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 19297 19391 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3898 4095 +5.1% 0.95x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 38389 37848 -1.4% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 32966 32333 -1.9% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 118503 120938 +2.1% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 58794 58606 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4145 4241 +2.3% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 68842 67790 -1.5% 1.02x (?)
ObjectiveCBridgeFromNSString 1330 1287 -3.2% 1.03x (?)
ObjectiveCBridgeFromNSStringForced 2327 2350 +1.0% 0.99x (?)
ObjectiveCBridgeStubDataAppend 3866 3927 +1.6% 0.98x (?)
ObjectiveCBridgeStubDateMutation 257 257 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 25383 25472 +0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 4081 4131 +1.2% 0.99x (?)
ObjectiveCBridgeStubFromNSString 853 858 +0.6% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 158 158 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2462 2486 +1.0% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 13241 13167 -0.6% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 28299 28498 +0.7% 0.99x (?)
ObjectiveCBridgeStubToNSDate 14937 14978 +0.3% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3440 3409 -0.9% 1.01x (?)
ObjectiveCBridgeStubToNSString 1543 1539 -0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 112 115 +2.7% 0.97x (?)
ObjectiveCBridgeStubURLAppendPath 325649 330045 +1.3% 0.99x (?)
ObjectiveCBridgeStubURLAppendPathRef 331695 331131 -0.2% 1.00x (?)
ObjectiveCBridgeToNSArray 28651 29396 +2.6% 0.97x (?)
ObjectiveCBridgeToNSDictionary 55310 55216 -0.2% 1.00x (?)
ObjectiveCBridgeToNSSet 44107 44448 +0.8% 0.99x (?)
ObjectiveCBridgeToNSString 1314 1313 -0.1% 1.00x (?)
ObserverClosure 2162 2163 +0.0% 1.00x (?)
ObserverForwarderStruct 994 990 -0.4% 1.00x (?)
ObserverPartiallyAppliedMethod 3715 3735 +0.5% 0.99x (?)
ObserverUnappliedMethod 2364 2355 -0.4% 1.00x (?)
OpenClose 251 263 +4.8% 0.95x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4046 4113 +1.7% 0.98x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1858 1937 +4.3% 0.96x (?)
PopFrontArrayGeneric 1877 1879 +0.1% 1.00x (?)
PopFrontUnsafePointer 8987 8759 -2.5% 1.03x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 65119 64056 -1.6% 1.02x (?)
PrefixAnySeqCRangeIter 14057 13987 -0.5% 1.01x (?)
PrefixAnySeqCRangeIterLazy 14061 13992 -0.5% 1.00x (?)
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 3803 3810 +0.2% 1.00x (?)
PrefixAnySequenceLazy 3797 3789 -0.2% 1.00x (?)
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 1324 1326 +0.2% 1.00x (?)
PrefixSequenceLazy 1413 1413 +0.0% 1.00x
PrefixWhileAnyCollection 146 146 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 9343 9333 -0.1% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 142 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 106 106 +0.0% 1.00x
PrefixWhileAnySequence 10442 10386 -0.5% 1.01x (?)
PrefixWhileAnySequenceLazy 1391 1391 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 357 357 +0.0% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 752 748 -0.5% 1.01x (?)
PrimsSplit 757 747 -1.3% 1.01x (?)
QueueConcrete 1309 1310 +0.1% 1.00x (?)
QueueGeneric 1158 1158 +0.0% 1.00x
RC4 168 165 -1.8% 1.02x
RGBHistogramOfObjects 23824 23466 -1.5% 1.02x
RangeAssignment 352 351 -0.3% 1.00x (?)
RangeIterationSigned 171 171 +0.0% 1.00x
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 972 976 +0.4% 1.00x (?)
RecursiveOwnedParameter 2347 2373 +1.1% 0.99x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 15277 15325 +0.3% 1.00x (?)
ReversedDictionary 127 126 -0.8% 1.01x (?)
RomanNumbers 116649 119067 +2.1% 0.98x (?)
SetExclusiveOr 3433 3420 -0.4% 1.00x (?)
SetExclusiveOr_OfObjects 8905 8971 +0.7% 0.99x (?)
SetIntersect 332 331 -0.3% 1.00x (?)
SetIntersect_OfObjects 1754 1766 +0.7% 0.99x
SetIsSubsetOf 299 300 +0.3% 1.00x (?)
SetIsSubsetOf_OfObjects 366 366 +0.0% 1.00x
SetUnion 3186 3154 -1.0% 1.01x (?)
SetUnion_OfObjects 7279 7261 -0.2% 1.00x (?)
SevenBoom 1528 1507 -1.4% 1.01x (?)
Sim2DArray 411 414 +0.7% 0.99x (?)
SortLargeExistentials 7009 6756 -3.6% 1.04x (?)
SortLettersInPlace 1170 1130 -3.4% 1.04x
SortStringsUnicode 15529 15421 -0.7% 1.01x (?)
StackPromo 21979 22023 +0.2% 1.00x (?)
StrComplexWalk 1565 1564 -0.1% 1.00x (?)
StringAdder 4259 4254 -0.1% 1.00x (?)
StringBuilder 1437 1445 +0.6% 0.99x (?)
StringBuilderLong 1088 1128 +3.7% 0.96x (?)
StringComparison_abnormal 860 861 +0.1% 1.00x (?)
StringComparison_ascii 945 976 +3.3% 0.97x
StringComparison_emoji 2554 2547 -0.3% 1.00x (?)
StringComparison_fastPrenormal 8704 8738 +0.4% 1.00x (?)
StringComparison_latin1 5963 6001 +0.6% 0.99x (?)
StringComparison_longSharedPrefix 11515 11510 -0.0% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 4675 4668 -0.1% 1.00x (?)
StringComparison_slowerPrenormal 4169 4182 +0.3% 1.00x (?)
StringComparison_zalgo 1731 1722 -0.5% 1.01x (?)
StringEdits 120571 116829 -3.1% 1.03x (?)
StringEnumRawValueInitialization 975 983 +0.8% 0.99x (?)
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 10 10 +0.0% 1.00x
StringHasPrefixAscii 1517 1575 +3.8% 0.96x
StringHasPrefixUnicode 28107 28319 +0.8% 0.99x (?)
StringHasSuffixAscii 1660 1718 +3.5% 0.97x
StringHasSuffixUnicode 85447 85363 -0.1% 1.00x (?)
StringInterpolation 9235 9268 +0.4% 1.00x (?)
StringMatch 7259 7390 +1.8% 0.98x
StringRemoveDupes 1199 1202 +0.3% 1.00x (?)
StringUTF16Builder 2388 2401 +0.5% 0.99x (?)
StringWalk 1429 1432 +0.2% 1.00x (?)
StringWithCString 42561 43013 +1.1% 0.99x (?)
SubstringComparable 2072 2079 +0.3% 1.00x (?)
SubstringEqualString 2143 2131 -0.6% 1.01x (?)
SubstringEquatable 3154 3163 +0.3% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 69 69 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 21705 21584 -0.6% 1.01x (?)
SuffixAnySeqCRangeIter 3808 3808 +0.0% 1.00x
SuffixAnySeqCRangeIterLazy 3810 3802 -0.2% 1.00x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 5084 5060 -0.5% 1.00x (?)
SuffixAnySequenceLazy 5214 5201 -0.2% 1.00x (?)
SuffixSequence 3778 3741 -1.0% 1.01x
SuffixSequenceLazy 3776 3745 -0.8% 1.01x (?)
SumUsingReduce 101 102 +1.0% 0.99x
SumUsingReduceInto 102 101 -1.0% 1.01x
SuperChars 41036 41078 +0.1% 1.00x (?)
TwoSum 989 992 +0.3% 1.00x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 313 313 +0.0% 1.00x
Walsh 420 405 -3.6% 1.04x
WordCountHistogramUTF16 52218 52476 +0.5% 1.00x (?)
WordCountUniqueASCII 1765 1781 +0.9% 0.99x (?)
WordCountUniqueUTF16 22122 22184 +0.3% 1.00x (?)
WordSplitASCII 21265 21069 -0.9% 1.01x (?)
WordSplitUTF16 22065 21773 -1.3% 1.01x (?)
XorLoop 392 394 +0.5% 0.99x (?)

Unoptimized (Onone)

Regression (10)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeFromNSArrayAnyObjectForced 7746 8936 +15.4% 0.87x (?)
StringEqualPointerComparison 3048 3380 +10.9% 0.90x
CharIteration_japanese_unicodeScalars_Backwards 356364 390325 +9.5% 0.91x (?)
TypeFlood 151 165 +9.3% 0.92x (?)
Combos 2072 2258 +9.0% 0.92x (?)
PolymorphicCalls 5996 6479 +8.1% 0.93x
PrefixArray 3734 3991 +6.9% 0.94x
Dictionary2 2906 3095 +6.5% 0.94x (?)
DropFirstArray 3772 4005 +6.2% 0.94x
OpenClose 561 591 +5.3% 0.95x
Improvement (28)
TEST OLD NEW DELTA SPEEDUP
SortSortedStrings 1312 1041 -20.7% 1.26x
RangeAssignment 2722 2223 -18.3% 1.22x
SortStrings 2411 2019 -16.3% 1.19x
IterateData 7853 6598 -16.0% 1.19x
DropFirstAnyCollectionLazy 111630 96186 -13.8% 1.16x
SuffixAnyCollectionLazy 36729 32295 -12.1% 1.14x
SetIntersect 9208 8236 -10.6% 1.12x (?)
PrefixAnyCollectionLazy 109399 98762 -9.7% 1.11x
DropLastAnyCollectionLazy 35676 32212 -9.7% 1.11x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7027 6366 -9.4% 1.10x (?)
SumUsingReduceInto 174794 159650 -8.7% 1.09x
MapReduceAnyCollection 27880 25494 -8.6% 1.09x
FrequenciesUsingReduceInto 5713 5266 -7.8% 1.08x
MapReduceShort 39159 36147 -7.7% 1.08x
CharIndexing_punctuated_unicodeScalars_Backwards 93124 86051 -7.6% 1.08x (?)
MapReduceAnyCollectionShort 39133 36419 -6.9% 1.07x
MapReduceString 1919 1786 -6.9% 1.07x
MapReduce 27396 25508 -6.9% 1.07x
CharIndexing_chinese_unicodeScalars_Backwards 313015 291633 -6.8% 1.07x (?)
PrefixWhileArray 11512 10728 -6.8% 1.07x
SumUsingReduce 175126 163210 -6.8% 1.07x
MapReduceClassShort 43642 40750 -6.6% 1.07x
MapReduceClass 31930 30008 -6.0% 1.06x
DropLastSequence 30593 28805 -5.8% 1.06x
PrefixWhileCountableRange 11741 11063 -5.8% 1.06x
RangeReplaceableCollectionPlusDefault 8297 7837 -5.5% 1.06x (?)
MapReduceSequence 30537 28861 -5.5% 1.06x
DictionaryBridge 2140 2023 -5.5% 1.06x
No Changes (324)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5078 5090 +0.2% 1.00x
AnyHashableWithAClass 86617 85575 -1.2% 1.01x
Array2D 632671 632754 +0.0% 1.00x (?)
ArrayAppend 4667 4668 +0.0% 1.00x (?)
ArrayAppendArrayOfInt 859 857 -0.2% 1.00x (?)
ArrayAppendAscii 40077 40515 +1.1% 0.99x
ArrayAppendFromGeneric 867 865 -0.2% 1.00x (?)
ArrayAppendGenericStructs 1500 1491 -0.6% 1.01x (?)
ArrayAppendLatin1 63490 64077 +0.9% 0.99x
ArrayAppendLazyMap 168375 168198 -0.1% 1.00x (?)
ArrayAppendOptionals 1500 1501 +0.1% 1.00x (?)
ArrayAppendRepeatCol 171205 173378 +1.3% 0.99x (?)
ArrayAppendReserved 4280 4398 +2.8% 0.97x
ArrayAppendSequence 144420 144357 -0.0% 1.00x (?)
ArrayAppendStrings 15421 15427 +0.0% 1.00x (?)
ArrayAppendToFromGeneric 863 864 +0.1% 1.00x (?)
ArrayAppendToGeneric 860 868 +0.9% 0.99x (?)
ArrayAppendUTF16 62973 64368 +2.2% 0.98x
ArrayInClass 6202 6201 -0.0% 1.00x (?)
ArrayLiteral 1776 1779 +0.2% 1.00x (?)
ArrayOfGenericPOD2 1131 1088 -3.8% 1.04x
ArrayOfGenericRef 10093 10075 -0.2% 1.00x (?)
ArrayOfPOD 756 758 +0.3% 1.00x
ArrayOfRef 9280 9301 +0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 862 862 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 232095 233148 +0.5% 1.00x (?)
ArrayPlusEqualSingleElementCollection 230479 230317 -0.1% 1.00x (?)
ArrayPlusEqualThreeElements 9226 9200 -0.3% 1.00x (?)
ArraySubscript 81419 81401 -0.0% 1.00x (?)
ArrayValueProp 3623 3626 +0.1% 1.00x (?)
ArrayValueProp2 15922 16007 +0.5% 0.99x (?)
ArrayValueProp3 4134 4135 +0.0% 1.00x (?)
ArrayValueProp4 4058 4078 +0.5% 1.00x (?)
BinaryFloatingPointConversionFromBinaryInteger 5917 5912 -0.1% 1.00x (?)
BitCount 2261 2208 -2.3% 1.02x
ByteSwap 3936 3908 -0.7% 1.01x
COWTree 11038 11408 +3.4% 0.97x (?)
CSVParsing 2464471 2425824 -1.6% 1.02x (?)
CSVParsingAlt 1307870 1322064 +1.1% 0.99x (?)
CSVParsingAltIndices 2491452 2554905 +2.5% 0.98x (?)
CStringLongAscii 4603 4758 +3.4% 0.97x
CStringLongNonAscii 2152 2095 -2.6% 1.03x
CStringShortAscii 7663 7556 -1.4% 1.01x (?)
Calculator 1675 1745 +4.2% 0.96x
CaptureProp 259397 247909 -4.4% 1.05x
CharIndexing_ascii_unicodeScalars 355749 371717 +4.5% 0.96x (?)
CharIndexing_ascii_unicodeScalars_Backwards 403588 405072 +0.4% 1.00x (?)
CharIndexing_chinese_unicodeScalars 266734 276046 +3.5% 0.97x (?)
CharIndexing_japanese_unicodeScalars 426209 444118 +4.2% 0.96x (?)
CharIndexing_japanese_unicodeScalars_Backwards 467015 463531 -0.7% 1.01x (?)
CharIndexing_korean_unicodeScalars 350851 362739 +3.4% 0.97x (?)
CharIndexing_korean_unicodeScalars_Backwards 369733 371574 +0.5% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 63793 62955 -1.3% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 67271 66255 -1.5% 1.02x (?)
CharIndexing_punctuated_unicodeScalars 79462 82735 +4.1% 0.96x (?)
CharIndexing_russian_unicodeScalars 300786 310133 +3.1% 0.97x (?)
CharIndexing_russian_unicodeScalars_Backwards 319533 318611 -0.3% 1.00x (?)
CharIndexing_tweet_unicodeScalars 746642 711395 -4.7% 1.05x (?)
CharIndexing_tweet_unicodeScalars_Backwards 761348 758419 -0.4% 1.00x (?)
CharIndexing_utf16_unicodeScalars 311540 307196 -1.4% 1.01x (?)
CharIndexing_utf16_unicodeScalars_Backwards 318363 318549 +0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars 153430 154895 +1.0% 0.99x (?)
CharIteration_ascii_unicodeScalars_Backwards 294287 294323 +0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars 116110 117239 +1.0% 0.99x (?)
CharIteration_chinese_unicodeScalars_Backwards 223914 222515 -0.6% 1.01x (?)
CharIteration_japanese_unicodeScalars 183901 185376 +0.8% 0.99x (?)
CharIteration_korean_unicodeScalars 149113 150134 +0.7% 0.99x (?)
CharIteration_korean_unicodeScalars_Backwards 285376 287841 +0.9% 0.99x (?)
CharIteration_punctuatedJapanese_unicodeScalars 27535 27701 +0.6% 0.99x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 51578 51152 -0.8% 1.01x (?)
CharIteration_punctuated_unicodeScalars 34476 34762 +0.8% 0.99x (?)
CharIteration_punctuated_unicodeScalars_Backwards 64911 65289 +0.6% 0.99x (?)
CharIteration_russian_unicodeScalars 127894 129089 +0.9% 0.99x (?)
CharIteration_russian_unicodeScalars_Backwards 244337 246766 +1.0% 0.99x (?)
CharIteration_tweet_unicodeScalars 302471 305403 +1.0% 0.99x (?)
CharIteration_tweet_unicodeScalars_Backwards 586312 581454 -0.8% 1.01x (?)
CharIteration_utf16_unicodeScalars 129095 131774 +2.1% 0.98x (?)
CharIteration_utf16_unicodeScalars_Backwards 249439 251374 +0.8% 0.99x (?)
CharacterLiteralsLarge 6000 5986 -0.2% 1.00x (?)
CharacterLiteralsSmall 746 745 -0.1% 1.00x (?)
CharacterPropertiesFetch 5511 5393 -2.1% 1.02x (?)
CharacterPropertiesPrecomputed 4255 4256 +0.0% 1.00x (?)
CharacterPropertiesStashed 2278 2319 +1.8% 0.98x
CharacterPropertiesStashedMemo 5057 4915 -2.8% 1.03x (?)
Chars 39401 39914 +1.3% 0.99x
ClassArrayGetter 982 985 +0.3% 1.00x
DictOfArraysToArrayOfDicts 3391 3465 +2.2% 0.98x
Dictionary 2562 2579 +0.7% 0.99x (?)
Dictionary2OfObjects 5557 5721 +3.0% 0.97x (?)
Dictionary3 1264 1275 +0.9% 0.99x
Dictionary3OfObjects 2209 2215 +0.3% 1.00x (?)
Dictionary4 1191 1192 +0.1% 1.00x (?)
Dictionary4OfObjects 1822 1842 +1.1% 0.99x (?)
DictionaryGroup 4204 4166 -0.9% 1.01x (?)
DictionaryGroupOfObjects 7519 7375 -1.9% 1.02x (?)
DictionaryLiteral 8586 8509 -0.9% 1.01x (?)
DictionaryOfObjects 6105 6111 +0.1% 1.00x (?)
DictionaryRemove 18102 18092 -0.1% 1.00x (?)
DictionaryRemoveOfObjects 50194 49842 -0.7% 1.01x (?)
DictionarySubscriptDefaultMutation 2123 2036 -4.1% 1.04x
DictionarySubscriptDefaultMutationArray 2377 2292 -3.6% 1.04x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9059 9149 +1.0% 0.99x (?)
DictionarySubscriptDefaultMutationOfObjects 5620 5564 -1.0% 1.01x (?)
DictionarySwap 5279 5239 -0.8% 1.01x
DictionarySwapOfObjects 22184 22721 +2.4% 0.98x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 13630 13736 +0.8% 0.99x (?)
DropFirstAnySeqCRangeIter 20426 20448 +0.1% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 20461 20613 +0.7% 0.99x (?)
DropFirstAnySeqCntRange 13703 13681 -0.2% 1.00x (?)
DropFirstAnySeqCntRangeLazy 13785 13661 -0.9% 1.01x
DropFirstAnySequence 10747 10565 -1.7% 1.02x (?)
DropFirstAnySequenceLazy 10709 10719 +0.1% 1.00x (?)
DropFirstArrayLazy 25676 25678 +0.0% 1.00x (?)
DropFirstCountableRange 324 325 +0.3% 1.00x
DropFirstCountableRangeLazy 25768 25786 +0.1% 1.00x (?)
DropFirstSequence 10407 10328 -0.8% 1.01x (?)
DropFirstSequenceLazy 10433 10325 -1.0% 1.01x
DropLastAnyCollection 4605 4587 -0.4% 1.00x (?)
DropLastAnySeqCRangeIter 37644 37827 +0.5% 1.00x
DropLastAnySeqCRangeIterLazy 37395 37661 +0.7% 0.99x
DropLastAnySeqCntRange 4595 4576 -0.4% 1.00x
DropLastAnySeqCntRangeLazy 4606 4563 -0.9% 1.01x (?)
DropLastAnySequence 28852 28893 +0.1% 1.00x (?)
DropLastAnySequenceLazy 28883 28780 -0.4% 1.00x (?)
DropLastCountableRange 114 114 +0.0% 1.00x
DropLastCountableRangeLazy 8587 8624 +0.4% 1.00x (?)
DropLastSequenceLazy 28891 28866 -0.1% 1.00x (?)
DropWhileAnyCollection 17600 17262 -1.9% 1.02x
DropWhileAnyCollectionLazy 19055 19051 -0.0% 1.00x (?)
DropWhileAnySeqCRangeIter 22154 21820 -1.5% 1.02x
DropWhileAnySeqCRangeIterLazy 19027 18951 -0.4% 1.00x
DropWhileAnySeqCntRange 17589 17284 -1.7% 1.02x
DropWhileAnySeqCntRangeLazy 19062 19355 +1.5% 0.98x
DropWhileAnySequence 12260 11835 -3.5% 1.04x
DropWhileAnySequenceLazy 10009 9977 -0.3% 1.00x (?)
DropWhileArrayLazy 13868 13828 -0.3% 1.00x
DropWhileCountableRange 4136 3958 -4.3% 1.04x
DropWhileCountableRangeLazy 18543 18621 +0.4% 1.00x (?)
DropWhileSequence 11970 11627 -2.9% 1.03x
DropWhileSequenceLazy 9658 9542 -1.2% 1.01x
EqualStringSubstring 477 476 -0.2% 1.00x
EqualSubstringString 477 478 +0.2% 1.00x (?)
EqualSubstringSubstring 477 478 +0.2% 1.00x
EqualSubstringSubstringGenericEquatable 485 486 +0.2% 1.00x (?)
ErrorHandling 7105 6867 -3.3% 1.03x (?)
ExclusivityGlobal 180 189 +5.0% 0.95x (?)
ExclusivityIndependent 68 71 +4.4% 0.96x (?)
FilterEvenUsingReduce 3702 3602 -2.7% 1.03x (?)
FilterEvenUsingReduceInto 1969 1933 -1.8% 1.02x
FrequenciesUsingReduce 10773 10353 -3.9% 1.04x (?)
Hanoi 19599 20228 +3.2% 0.97x (?)
HashTest 16636 16821 +1.1% 0.99x (?)
Histogram 6546 6492 -0.8% 1.01x (?)
Integrate 814 824 +1.2% 0.99x (?)
Join 1104 1098 -0.5% 1.01x (?)
LazilyFilteredArrayContains 776871 771658 -0.7% 1.01x
LazilyFilteredArrays 1464405 1454852 -0.7% 1.01x
LazilyFilteredRange 469658 464963 -1.0% 1.01x
LessSubstringSubstring 476 477 +0.2% 1.00x (?)
LessSubstringSubstringGenericComparable 483 484 +0.2% 1.00x (?)
LinkedList 32136 32000 -0.4% 1.00x (?)
LuhnAlgoEager 5003 5138 +2.7% 0.97x (?)
LuhnAlgoLazy 5065 5195 +2.6% 0.97x (?)
MapReduceLazyCollection 23144 22241 -3.9% 1.04x
MapReduceLazyCollectionShort 34024 34530 +1.5% 0.99x (?)
MapReduceLazySequence 18171 17387 -4.3% 1.05x
MapReduceShortString 235 235 +0.0% 1.00x
Memset 44701 44711 +0.0% 1.00x (?)
MonteCarloE 895868 883564 -1.4% 1.01x
MonteCarloPi 3908850 3854544 -1.4% 1.01x (?)
NSDictionaryCastToSwift 6478 6313 -2.5% 1.03x (?)
NSError 714 711 -0.4% 1.00x (?)
NSStringConversion 369 366 -0.8% 1.01x
NibbleSort 300581 301945 +0.5% 1.00x
NopDeinit 163601 170859 +4.4% 0.96x
ObjectAllocation 1343 1343 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 22331 22139 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 40015 38218 -4.5% 1.05x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 36230 35789 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 126444 125098 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 64292 63829 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 72537 72867 +0.5% 1.00x (?)
ObjectiveCBridgeFromNSString 3240 3120 -3.7% 1.04x (?)
ObjectiveCBridgeFromNSStringForced 2677 2685 +0.3% 1.00x (?)
ObjectiveCBridgeStubDataAppend 4539 4559 +0.4% 1.00x (?)
ObjectiveCBridgeStubDateMutation 603 602 -0.2% 1.00x (?)
ObjectiveCBridgeStubFromArrayOfNSString 26378 26634 +1.0% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 4533 4391 -3.1% 1.03x
ObjectiveCBridgeStubFromNSString 901 885 -1.8% 1.02x (?)
ObjectiveCBridgeStubFromNSStringRef 199 197 -1.0% 1.01x (?)
ObjectiveCBridgeStubNSDataAppend 3044 3023 -0.7% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 15257 15159 -0.6% 1.01x (?)
ObjectiveCBridgeStubToArrayOfNSString 28789 29174 +1.3% 0.99x (?)
ObjectiveCBridgeStubToNSDate 15578 15676 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3459 3474 +0.4% 1.00x (?)
ObjectiveCBridgeStubToNSString 1576 1571 -0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 159 153 -3.8% 1.04x
ObjectiveCBridgeStubURLAppendPath 330456 334700 +1.3% 0.99x (?)
ObjectiveCBridgeStubURLAppendPathRef 342468 335136 -2.1% 1.02x (?)
ObjectiveCBridgeToNSArray 29322 29458 +0.5% 1.00x (?)
ObjectiveCBridgeToNSDictionary 57489 56834 -1.1% 1.01x (?)
ObjectiveCBridgeToNSSet 47134 47809 +1.4% 0.99x (?)
ObjectiveCBridgeToNSString 1347 1345 -0.1% 1.00x (?)
ObserverClosure 6343 6387 +0.7% 0.99x (?)
ObserverForwarderStruct 4367 4460 +2.1% 0.98x (?)
ObserverPartiallyAppliedMethod 7831 7818 -0.2% 1.00x (?)
ObserverUnappliedMethod 7938 8019 +1.0% 0.99x (?)
PartialApplyDynamicType 40989 41004 +0.0% 1.00x (?)
Phonebook 20245 20943 +3.4% 0.97x
PointerArithmetics 120303 120289 -0.0% 1.00x (?)
PopFrontArray 4606 4589 -0.4% 1.00x (?)
PopFrontArrayGeneric 5731 5821 +1.6% 0.98x
PopFrontUnsafePointer 10864 10955 +0.8% 0.99x (?)
PrefixAnyCollection 13677 13697 +0.1% 1.00x (?)
PrefixAnySeqCRangeIter 16408 16397 -0.1% 1.00x (?)
PrefixAnySeqCRangeIterLazy 16443 16584 +0.9% 0.99x (?)
PrefixAnySeqCntRange 13686 13692 +0.0% 1.00x (?)
PrefixAnySeqCntRangeLazy 13715 13663 -0.4% 1.00x
PrefixAnySequence 8928 8866 -0.7% 1.01x (?)
PrefixAnySequenceLazy 8968 8913 -0.6% 1.01x (?)
PrefixArrayLazy 25626 25616 -0.0% 1.00x (?)
PrefixCountableRange 331 331 +0.0% 1.00x
PrefixCountableRangeLazy 25762 25836 +0.3% 1.00x (?)
PrefixSequence 8674 8672 -0.0% 1.00x (?)
PrefixSequenceLazy 8732 8645 -1.0% 1.01x
PrefixWhileAnyCollection 25195 24644 -2.2% 1.02x
PrefixWhileAnyCollectionLazy 15915 15983 +0.4% 1.00x (?)
PrefixWhileAnySeqCRangeIter 33015 32645 -1.1% 1.01x
PrefixWhileAnySeqCRangeIterLazy 15941 15872 -0.4% 1.00x (?)
PrefixWhileAnySeqCntRange 25176 24533 -2.6% 1.03x
PrefixWhileAnySeqCntRangeLazy 15914 15898 -0.1% 1.00x (?)
PrefixWhileAnySequence 26396 25909 -1.8% 1.02x
PrefixWhileAnySequenceLazy 9058 9042 -0.2% 1.00x
PrefixWhileArrayLazy 12132 12526 +3.2% 0.97x (?)
PrefixWhileCountableRangeLazy 15630 15523 -0.7% 1.01x
PrefixWhileSequence 27008 25959 -3.9% 1.04x
PrefixWhileSequenceLazy 8857 8816 -0.5% 1.00x
Prims 9635 9729 +1.0% 0.99x (?)
PrimsSplit 9655 9791 +1.4% 0.99x
QueueConcrete 15077 15019 -0.4% 1.00x
QueueGeneric 18990 19005 +0.1% 1.00x (?)
RC4 16562 16597 +0.2% 1.00x (?)
RGBHistogram 26939 25865 -4.0% 1.04x
RGBHistogramOfObjects 96197 96350 +0.2% 1.00x (?)
RangeIterationSigned 16757 16859 +0.6% 0.99x (?)
RangeIterationSigned64 39167 39499 +0.8% 0.99x (?)
RangeIterationUnsigned 34764 35042 +0.8% 0.99x (?)
RecursiveOwnedParameter 7850 7890 +0.5% 0.99x (?)
ReversedArray 13033 13034 +0.0% 1.00x (?)
ReversedBidirectional 41980 43289 +3.1% 0.97x
ReversedDictionary 23177 23045 -0.6% 1.01x
RomanNumbers 1167078 1148004 -1.6% 1.02x (?)
SetExclusiveOr 17234 17257 +0.1% 1.00x (?)
SetExclusiveOr_OfObjects 41823 41821 -0.0% 1.00x (?)
SetIntersect_OfObjects 12216 12476 +2.1% 0.98x
SetIsSubsetOf 1349 1345 -0.3% 1.00x
SetIsSubsetOf_OfObjects 1554 1565 +0.7% 0.99x
SetUnion 11974 11812 -1.4% 1.01x
SetUnion_OfObjects 29118 29109 -0.0% 1.00x (?)
SevenBoom 1684 1699 +0.9% 0.99x (?)
Sim2DArray 43622 43616 -0.0% 1.00x (?)
SortLargeExistentials 15703 15322 -2.4% 1.02x
SortLettersInPlace 2813 2708 -3.7% 1.04x (?)
SortStringsUnicode 16376 15867 -3.1% 1.03x
StackPromo 90003 91184 +1.3% 0.99x (?)
StaticArray 2675 2673 -0.1% 1.00x (?)
StrComplexWalk 6647 6440 -3.1% 1.03x
StrToInt 56946 57288 +0.6% 0.99x (?)
StringAdder 4805 4733 -1.5% 1.02x
StringBuilder 6953 6821 -1.9% 1.02x (?)
StringBuilderLong 2767 2702 -2.3% 1.02x
StringComparison_abnormal 1435 1443 +0.6% 0.99x (?)
StringComparison_ascii 9495 9556 +0.6% 0.99x
StringComparison_emoji 3806 3801 -0.1% 1.00x (?)
StringComparison_fastPrenormal 13165 13259 +0.7% 0.99x
StringComparison_latin1 9467 9511 +0.5% 1.00x (?)
StringComparison_longSharedPrefix 13065 13093 +0.2% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 6905 6916 +0.2% 1.00x (?)
StringComparison_slowerPrenormal 6760 6813 +0.8% 0.99x
StringComparison_zalgo 2839 2854 +0.5% 0.99x (?)
StringEdits 333012 326542 -1.9% 1.02x (?)
StringEnumRawValueInitialization 20799 21070 +1.3% 0.99x (?)
StringFromLongWholeSubstring 23 23 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 198 200 +1.0% 0.99x (?)
StringHasPrefixAscii 2951 3025 +2.5% 0.98x (?)
StringHasPrefixUnicode 30926 31013 +0.3% 1.00x
StringHasSuffixAscii 3070 3207 +4.5% 0.96x
StringHasSuffixUnicode 88345 88138 -0.2% 1.00x (?)
StringInterpolation 13919 13443 -3.4% 1.04x (?)
StringMatch 33201 33325 +0.4% 1.00x (?)
StringRemoveDupes 1411 1381 -2.1% 1.02x (?)
StringUTF16Builder 7620 7660 +0.5% 0.99x (?)
StringWalk 12976 12817 -1.2% 1.01x
StringWithCString 37714 39428 +4.5% 0.96x
StringWordBuilder 2518 2514 -0.2% 1.00x (?)
StringWordBuilderReservingCapacity 2168 2180 +0.6% 0.99x (?)
SubstringComparable 4172 4196 +0.6% 0.99x (?)
SubstringEqualString 3552 3463 -2.5% 1.03x (?)
SubstringEquatable 7793 7817 +0.3% 1.00x (?)
SubstringFromLongString 24 24 +0.0% 1.00x
SubstringFromLongStringGeneric 103 103 +0.0% 1.00x
SuffixAnyCollection 4596 4591 -0.1% 1.00x (?)
SuffixAnySeqCRangeIter 33648 33765 +0.3% 1.00x (?)
SuffixAnySeqCRangeIterLazy 33589 33449 -0.4% 1.00x (?)
SuffixAnySeqCntRange 4570 4573 +0.1% 1.00x (?)
SuffixAnySeqCntRangeLazy 4587 4576 -0.2% 1.00x
SuffixAnySequence 24883 25160 +1.1% 0.99x (?)
SuffixAnySequenceLazy 24925 25033 +0.4% 1.00x
SuffixCountableRange 114 114 +0.0% 1.00x
SuffixCountableRangeLazy 8598 8631 +0.4% 1.00x
SuffixSequence 24841 24945 +0.4% 1.00x (?)
SuffixSequenceLazy 24863 24958 +0.4% 1.00x
SuperChars 216307 210688 -2.6% 1.03x (?)
TwoSum 3997 3933 -1.6% 1.02x (?)
UTF8Decode 30330 29892 -1.4% 1.01x
Walsh 12020 12005 -0.1% 1.00x (?)
WordCountHistogramASCII 48348 47600 -1.5% 1.02x (?)
WordCountHistogramUTF16 102497 102457 -0.0% 1.00x (?)
WordCountUniqueASCII 7955 8233 +3.5% 0.97x (?)
WordCountUniqueUTF16 34088 32964 -3.3% 1.03x (?)
WordSplitASCII 26451 26231 -0.8% 1.01x (?)
WordSplitUTF16 26975 26583 -1.5% 1.01x (?)
XorLoop 23358 23372 +0.1% 1.00x (?)
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

- @NoEscape functions are trivial types
That makes @NoEscape functions incompatible with escaping functions.
- Forward ownership of mark_dependence %3 : callee_guaranteed () -> () on %0 : noescape @callee_guaranteed () -> ()
- SIL: Add ABIEscapeToNoEscapeConversion to SILFunctionType::ABICompatibilityCheckResult
- SIL: A thin_to_thick_function with a @NoEscape result type has trivial ownership
- SIL: thin_to_thick_function can create noescape function types

Part of:
SR-5441
rdar://36116691
- make @NoEscape function types trivial
- think_to_thick_function with @NoEscape result type
- Fix for getSwiftFunctionPointerCallee

Part of:
SR-5441
rdar://36116691
- Emit a withoutActuallyEscapingClosure partial apply
This is to convert an @NoEscape closure to an escaping closure.
This needs to be done in preparation of @NoEscape closure contexts
becoming trivial.

- Insert escaping to noescape conversions

- Fix SILGen for @NoEscape

- Postpone closure cleanups to outside the argument scope

- Apply postponement recursively for closures passed to subscripts

- Only skip applying escapeness conversions for Swift thick functions

- Fix parameter convention for noescape closures in thunks

Part of:
SR-5441
rdar://36116691
We should not need those -- except (at least) for functions passed as
arguments to materializeForSet ...
- also combine thin_to_thick_function and convert_escape_to_noescape
It can't be moved because there are pointers to it
@aschwaighofer aschwaighofer force-pushed the wip_closure_capture_abi_part2 branch from a7918cc to 025a8b9 Compare February 13, 2018 12:42
@aschwaighofer
Copy link
Contributor Author

@swift-ci Please test

@aschwaighofer
Copy link
Contributor Author

@swift-ci Please test source compatibility

@aschwaighofer
Copy link
Contributor Author

@swift-ci Please benchmark

@aschwaighofer
Copy link
Contributor Author

@swift-ci Please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - 025a8b9

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 025a8b9

@aschwaighofer
Copy link
Contributor Author

The benchmark run for the simply_cfg addition is here: https://ci.swift.org/view/Pull%20Request/job/swift-PR-osx-perf/138/

We can treat a throw instruction like we would a return. Insert the
release for the propagated partial_apply before the throw instruction.
@aschwaighofer
Copy link
Contributor Author

@swift-ci Please test

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - d490c22

@aschwaighofer
Copy link
Contributor Author

@swift-ci Please test source compatibility

@aschwaighofer
Copy link
Contributor Author

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - d490c22

@aschwaighofer
Copy link
Contributor Author

@aschwaighofer
Copy link
Contributor Author

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (14)
TEST OLD NEW DELTA SPEEDUP
NopDeinit 21569 23855 +10.6% 0.90x
CharIteration_utf16_unicodeScalars_Backwards 15827 17246 +9.0% 0.92x
MapReduceLazyCollectionShort 34 37 +8.8% 0.92x
ArrayPlusEqualSingleElementCollection 1020 1091 +7.0% 0.93x
CharIteration_tweet_unicodeScalars_Backwards 25029 26687 +6.6% 0.94x
CharIteration_japanese_unicodeScalars_Backwards 15185 16169 +6.5% 0.94x
CharIteration_russian_unicodeScalars_Backwards 10583 11261 +6.4% 0.94x
CharIteration_ascii_unicodeScalars_Backwards 12696 13509 +6.4% 0.94x
CharIteration_korean_unicodeScalars_Backwards 12313 13099 +6.4% 0.94x
Sim2DArray 599 637 +6.3% 0.94x
CharIteration_chinese_unicodeScalars_Backwards 9630 10236 +6.3% 0.94x
ArrayAppendReserved 752 797 +6.0% 0.94x
CharIteration_punctuated_unicodeScalars_Backwards 2908 3080 +5.9% 0.94x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2340 2466 +5.4% 0.95x
Improvement (10)
TEST OLD NEW DELTA SPEEDUP
CaptureProp 9165 3907 -57.4% 2.35x
RGBHistogram 2978 2215 -25.6% 1.34x
SortSortedStrings 1195 963 -19.4% 1.24x
SortStrings 2088 1738 -16.8% 1.20x
RangeIterationSigned 200 171 -14.5% 1.17x
WordCountHistogramASCII 8128 6959 -14.4% 1.17x
StringEqualPointerComparison 314 286 -8.9% 1.10x
Hanoi 3593 3337 -7.1% 1.08x
SetIsSubsetOf_OfObjects 392 366 -6.6% 1.07x
IterateData 1336 1264 -5.4% 1.06x
No Changes (338)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3615 3615 +0.0% 1.00x
AnyHashableWithAClass 69600 69718 +0.2% 1.00x (?)
Array2D 2550 2555 +0.2% 1.00x (?)
ArrayAppend 1019 1054 +3.4% 0.97x
ArrayAppendArrayOfInt 798 792 -0.8% 1.01x (?)
ArrayAppendAscii 13311 13045 -2.0% 1.02x
ArrayAppendFromGeneric 787 795 +1.0% 0.99x (?)
ArrayAppendGenericStructs 1428 1424 -0.3% 1.00x (?)
ArrayAppendLatin1 38039 37817 -0.6% 1.01x (?)
ArrayAppendLazyMap 1342 1340 -0.1% 1.00x (?)
ArrayAppendOptionals 1429 1427 -0.1% 1.00x (?)
ArrayAppendRepeatCol 1339 1335 -0.3% 1.00x (?)
ArrayAppendSequence 1132 1124 -0.7% 1.01x (?)
ArrayAppendStrings 15208 15284 +0.5% 1.00x (?)
ArrayAppendToFromGeneric 790 783 -0.9% 1.01x (?)
ArrayAppendToGeneric 798 798 +0.0% 1.00x
ArrayAppendUTF16 37693 36173 -4.0% 1.04x
ArrayInClass 86 85 -1.2% 1.01x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 150 150 +0.0% 1.00x
ArrayOfGenericRef 4371 4376 +0.1% 1.00x (?)
ArrayOfPOD 180 182 +1.1% 0.99x (?)
ArrayOfRef 4347 4359 +0.3% 1.00x (?)
ArrayPlusEqualArrayOfInt 795 795 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 5520 5754 +4.2% 0.96x
ArrayPlusEqualThreeElements 1647 1644 -0.2% 1.00x (?)
ArraySubscript 1514 1512 -0.1% 1.00x (?)
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointConversionFromBinaryInteger 39 39 +0.0% 1.00x
BitCount 202 200 -1.0% 1.01x (?)
ByteSwap 101 100 -1.0% 1.01x
COWTree 3660 3624 -1.0% 1.01x (?)
CSVParsing 758850 757706 -0.2% 1.00x (?)
CSVParsingAlt 723783 720983 -0.4% 1.00x (?)
CSVParsingAltIndices 353584 357189 +1.0% 0.99x (?)
CStringLongAscii 4768 4770 +0.0% 1.00x (?)
CStringLongNonAscii 2082 2139 +2.7% 0.97x
CStringShortAscii 4698 4688 -0.2% 1.00x (?)
Calculator 428 419 -2.1% 1.02x
CharIndexing_ascii_unicodeScalars 14736 15402 +4.5% 0.96x
CharIndexing_ascii_unicodeScalars_Backwards 14119 14329 +1.5% 0.99x
CharIndexing_chinese_unicodeScalars 11168 11660 +4.4% 0.96x
CharIndexing_chinese_unicodeScalars_Backwards 10699 10859 +1.5% 0.99x
CharIndexing_japanese_unicodeScalars 17652 18440 +4.5% 0.96x
CharIndexing_japanese_unicodeScalars_Backwards 16905 17163 +1.5% 0.98x
CharIndexing_korean_unicodeScalars 14294 14936 +4.5% 0.96x
CharIndexing_korean_unicodeScalars_Backwards 13692 13903 +1.5% 0.98x
CharIndexing_punctuatedJapanese_unicodeScalars 2680 2782 +3.8% 0.96x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2577 2607 +1.2% 0.99x (?)
CharIndexing_punctuated_unicodeScalars 3351 3481 +3.9% 0.96x
CharIndexing_punctuated_unicodeScalars_Backwards 3222 3264 +1.3% 0.99x
CharIndexing_russian_unicodeScalars 12280 12835 +4.5% 0.96x
CharIndexing_russian_unicodeScalars_Backwards 11764 11946 +1.5% 0.98x
CharIndexing_tweet_unicodeScalars 29085 30306 +4.2% 0.96x
CharIndexing_tweet_unicodeScalars_Backwards 27811 28225 +1.5% 0.99x
CharIndexing_utf16_unicodeScalars 20234 20484 +1.2% 0.99x (?)
CharIndexing_utf16_unicodeScalars_Backwards 20919 20879 -0.2% 1.00x (?)
CharIteration_ascii_unicodeScalars 20853 20873 +0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars 15760 15807 +0.3% 1.00x (?)
CharIteration_japanese_unicodeScalars 24952 24999 +0.2% 1.00x (?)
CharIteration_korean_unicodeScalars 20198 20244 +0.2% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 3719 3753 +0.9% 0.99x
CharIteration_punctuated_unicodeScalars 4665 4688 +0.5% 1.00x (?)
CharIteration_russian_unicodeScalars 17338 17413 +0.4% 1.00x (?)
CharIteration_tweet_unicodeScalars 41279 41199 -0.2% 1.00x (?)
CharIteration_utf16_unicodeScalars 27670 27300 -1.3% 1.01x (?)
CharacterLiteralsLarge 5954 5935 -0.3% 1.00x (?)
CharacterLiteralsSmall 410 410 +0.0% 1.00x
CharacterPropertiesFetch 4624 4645 +0.5% 1.00x (?)
CharacterPropertiesPrecomputed 1060 1068 +0.8% 0.99x (?)
CharacterPropertiesStashed 1650 1621 -1.8% 1.02x (?)
CharacterPropertiesStashedMemo 1630 1613 -1.0% 1.01x (?)
Chars 970 968 -0.2% 1.00x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 451 451 +0.0% 1.00x
DictOfArraysToArrayOfDicts 786 783 -0.4% 1.00x (?)
Dictionary 496 502 +1.2% 0.99x (?)
Dictionary2 1607 1589 -1.1% 1.01x
Dictionary2OfObjects 2951 2934 -0.6% 1.01x (?)
Dictionary3 233 231 -0.9% 1.01x (?)
Dictionary3OfObjects 672 669 -0.4% 1.00x (?)
Dictionary4 147 146 -0.7% 1.01x (?)
Dictionary4OfObjects 201 200 -0.5% 1.00x (?)
DictionaryBridge 2004 1989 -0.7% 1.01x (?)
DictionaryGroup 133 133 +0.0% 1.00x
DictionaryGroupOfObjects 1912 1917 +0.3% 1.00x (?)
DictionaryLiteral 1621 1602 -1.2% 1.01x (?)
DictionaryOfObjects 2191 2188 -0.1% 1.00x (?)
DictionaryRemove 2731 2687 -1.6% 1.02x (?)
DictionaryRemoveOfObjects 23651 23613 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutation 145 142 -2.1% 1.02x (?)
DictionarySubscriptDefaultMutationArray 489 487 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 3820 3806 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1380 1381 +0.1% 1.00x (?)
DictionarySwap 472 470 -0.4% 1.00x
DictionarySwapOfObjects 7330 7380 +0.7% 0.99x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 64610 64605 -0.0% 1.00x (?)
DropFirstAnySeqCRangeIter 163 163 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 163 163 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1841 1841 +0.0% 1.00x
DropFirstAnySequenceLazy 1842 1841 -0.1% 1.00x (?)
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2698 2700 +0.1% 1.00x (?)
DropFirstSequenceLazy 2791 2786 -0.2% 1.00x (?)
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 21776 21274 -2.3% 1.02x (?)
DropLastAnySeqCRangeIter 3577 3539 -1.1% 1.01x (?)
DropLastAnySeqCRangeIterLazy 3575 3536 -1.1% 1.01x (?)
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 5129 5115 -0.3% 1.00x (?)
DropLastAnySequenceLazy 5235 5219 -0.3% 1.00x (?)
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropLastSequence 680 685 +0.7% 0.99x (?)
DropLastSequenceLazy 681 687 +0.9% 0.99x (?)
DropWhileAnyCollection 99 99 +0.0% 1.00x
DropWhileAnyCollectionLazy 153 153 +0.0% 1.00x
DropWhileAnySeqCRangeIter 157 157 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 153 153 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 153 153 +0.0% 1.00x
DropWhileAnySequence 1860 1860 +0.0% 1.00x
DropWhileAnySequenceLazy 1854 1855 +0.1% 1.00x (?)
DropWhileArrayLazy 129 129 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 111 111 +0.0% 1.00x
DropWhileSequence 1340 1340 +0.0% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 430 430 +0.0% 1.00x
EqualSubstringString 429 430 +0.2% 1.00x (?)
EqualSubstringSubstring 429 429 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 430 430 +0.0% 1.00x
ErrorHandling 2264 2270 +0.3% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1307 1305 -0.2% 1.00x (?)
FilterEvenUsingReduceInto 147 150 +2.0% 0.98x (?)
FrequenciesUsingReduce 6635 6629 -0.1% 1.00x (?)
FrequenciesUsingReduceInto 3161 3112 -1.6% 1.02x (?)
HashTest 1732 1742 +0.6% 0.99x (?)
Histogram 322 323 +0.3% 1.00x (?)
Integrate 217 217 +0.0% 1.00x
Join 371 368 -0.8% 1.01x (?)
LazilyFilteredArrayContains 36658 36255 -1.1% 1.01x
LazilyFilteredArrays 65228 65215 -0.0% 1.00x (?)
LazilyFilteredRange 3824 3900 +2.0% 0.98x
LessSubstringSubstring 430 430 +0.0% 1.00x
LessSubstringSubstringGenericComparable 431 431 +0.0% 1.00x
LinkedList 7593 7564 -0.4% 1.00x (?)
LuhnAlgoEager 582 582 +0.0% 1.00x
LuhnAlgoLazy 585 582 -0.5% 1.01x (?)
MapReduce 398 398 +0.0% 1.00x
MapReduceAnyCollection 399 399 +0.0% 1.00x
MapReduceAnyCollectionShort 2050 2065 +0.7% 0.99x
MapReduceClass 3036 3058 +0.7% 0.99x (?)
MapReduceClassShort 4578 4583 +0.1% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 454 461 +1.5% 0.98x (?)
MapReduceShort 2007 2016 +0.4% 1.00x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 83 81 -2.4% 1.02x
Memset 215 216 +0.5% 1.00x (?)
MonteCarloE 10378 10318 -0.6% 1.01x (?)
MonteCarloPi 42680 42867 +0.4% 1.00x (?)
NSDictionaryCastToSwift 5301 5250 -1.0% 1.01x (?)
NSError 302 302 +0.0% 1.00x
NSStringConversion 297 297 +0.0% 1.00x
NibbleSort 3959 4118 +4.0% 0.96x
ObjectAllocation 182 182 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 19986 19893 -0.5% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3940 3946 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 38449 39346 +2.3% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 32325 32661 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 122072 117412 -3.8% 1.04x (?)
ObjectiveCBridgeFromNSSetAnyObject 59026 58138 -1.5% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4148 4243 +2.3% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 67740 67675 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSString 1317 1318 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2322 2378 +2.4% 0.98x (?)
ObjectiveCBridgeStubDataAppend 3881 3878 -0.1% 1.00x (?)
ObjectiveCBridgeStubDateMutation 257 257 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 24811 26020 +4.9% 0.95x (?)
ObjectiveCBridgeStubFromNSDate 4082 4075 -0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSString 835 875 +4.8% 0.95x (?)
ObjectiveCBridgeStubFromNSStringRef 158 158 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2476 2469 -0.3% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 12440 12910 +3.8% 0.96x (?)
ObjectiveCBridgeStubToArrayOfNSString 28359 28581 +0.8% 0.99x (?)
ObjectiveCBridgeStubToNSDate 14581 15089 +3.5% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3414 3375 -1.1% 1.01x (?)
ObjectiveCBridgeStubToNSString 1512 1524 +0.8% 0.99x (?)
ObjectiveCBridgeStubToNSStringRef 112 112 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 326108 318183 -2.4% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 323418 322305 -0.3% 1.00x (?)
ObjectiveCBridgeToNSArray 28483 28682 +0.7% 0.99x (?)
ObjectiveCBridgeToNSDictionary 53471 53831 +0.7% 0.99x (?)
ObjectiveCBridgeToNSSet 43718 44310 +1.4% 0.99x (?)
ObjectiveCBridgeToNSString 1293 1300 +0.5% 0.99x (?)
ObserverClosure 2169 2154 -0.7% 1.01x (?)
ObserverForwarderStruct 988 990 +0.2% 1.00x (?)
ObserverPartiallyAppliedMethod 3745 3719 -0.7% 1.01x (?)
ObserverUnappliedMethod 2423 2382 -1.7% 1.02x (?)
OpenClose 157 151 -3.8% 1.04x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4123 4077 -1.1% 1.01x
PointerArithmetics 31491 31489 -0.0% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1935 1933 -0.1% 1.00x (?)
PopFrontArrayGeneric 1961 1965 +0.2% 1.00x (?)
PopFrontUnsafePointer 8751 9005 +2.9% 0.97x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 65057 63842 -1.9% 1.02x (?)
PrefixAnySeqCRangeIter 128 128 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 128 128 +0.0% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 1377 1377 +0.0% 1.00x
PrefixAnySequenceLazy 1377 1377 +0.0% 1.00x
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 1326 1328 +0.2% 1.00x (?)
PrefixSequenceLazy 1430 1430 +0.0% 1.00x
PrefixWhileAnyCollection 146 146 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 416 415 -0.2% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 142 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 106 106 +0.0% 1.00x
PrefixWhileAnySequence 1539 1539 +0.0% 1.00x
PrefixWhileAnySequenceLazy 1391 1391 +0.0% 1.00x
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 53 53 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 355 356 +0.3% 1.00x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 747 749 +0.3% 1.00x (?)
PrimsSplit 749 748 -0.1% 1.00x (?)
QueueConcrete 1308 1306 -0.2% 1.00x (?)
QueueGeneric 1155 1157 +0.2% 1.00x (?)
RC4 171 171 +0.0% 1.00x
RGBHistogramOfObjects 23896 23474 -1.8% 1.02x
RangeAssignment 350 353 +0.9% 0.99x (?)
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 977 979 +0.2% 1.00x (?)
RecursiveOwnedParameter 2322 2374 +2.2% 0.98x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 15375 15324 -0.3% 1.00x (?)
ReversedDictionary 125 124 -0.8% 1.01x (?)
RomanNumbers 115490 116196 +0.6% 0.99x (?)
SetExclusiveOr 3408 3398 -0.3% 1.00x (?)
SetExclusiveOr_OfObjects 8703 8665 -0.4% 1.00x (?)
SetIntersect 331 333 +0.6% 0.99x (?)
SetIntersect_OfObjects 1769 1764 -0.3% 1.00x (?)
SetIsSubsetOf 299 299 +0.0% 1.00x
SetUnion 3094 3123 +0.9% 0.99x (?)
SetUnion_OfObjects 7159 7223 +0.9% 0.99x (?)
SevenBoom 1523 1505 -1.2% 1.01x (?)
SortLargeExistentials 7060 6801 -3.7% 1.04x (?)
SortLettersInPlace 1159 1116 -3.7% 1.04x
SortStringsUnicode 15348 15214 -0.9% 1.01x (?)
StackPromo 22300 22212 -0.4% 1.00x (?)
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1562 1558 -0.3% 1.00x (?)
StrToInt 2146 2070 -3.5% 1.04x
StringAdder 4164 4166 +0.0% 1.00x (?)
StringBuilder 1359 1364 +0.4% 1.00x (?)
StringBuilderLong 1046 1058 +1.1% 0.99x (?)
StringComparison_abnormal 852 856 +0.5% 1.00x (?)
StringComparison_ascii 991 944 -4.7% 1.05x
StringComparison_emoji 2534 2527 -0.3% 1.00x (?)
StringComparison_fastPrenormal 8645 8650 +0.1% 1.00x (?)
StringComparison_latin1 5940 5946 +0.1% 1.00x (?)
StringComparison_longSharedPrefix 11489 11498 +0.1% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 4650 4630 -0.4% 1.00x (?)
StringComparison_slowerPrenormal 4138 4145 +0.2% 1.00x (?)
StringComparison_zalgo 1711 1718 +0.4% 1.00x (?)
StringEdits 116325 117281 +0.8% 0.99x (?)
StringEnumRawValueInitialization 956 958 +0.2% 1.00x (?)
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 10 10 +0.0% 1.00x
StringHasPrefixAscii 1346 1289 -4.2% 1.04x
StringHasPrefixUnicode 27553 27364 -0.7% 1.01x (?)
StringHasSuffixAscii 1460 1431 -2.0% 1.02x
StringHasSuffixUnicode 84522 84705 +0.2% 1.00x (?)
StringInterpolation 10654 10572 -0.8% 1.01x (?)
StringMatch 7188 7109 -1.1% 1.01x (?)
StringRemoveDupes 1208 1204 -0.3% 1.00x (?)
StringUTF16Builder 2338 2336 -0.1% 1.00x (?)
StringWalk 1465 1456 -0.6% 1.01x (?)
StringWithCString 42997 42567 -1.0% 1.01x
StringWordBuilder 1758 1750 -0.5% 1.00x (?)
StringWordBuilderReservingCapacity 1309 1290 -1.5% 1.01x (?)
SubstringComparable 2037 2031 -0.3% 1.00x (?)
SubstringEqualString 2094 2088 -0.3% 1.00x (?)
SubstringEquatable 3114 3122 +0.3% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 69 69 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 21733 21524 -1.0% 1.01x (?)
SuffixAnySeqCRangeIter 3847 3832 -0.4% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3841 3830 -0.3% 1.00x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 5070 5101 +0.6% 0.99x (?)
SuffixAnySequenceLazy 5177 5240 +1.2% 0.99x (?)
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3725 3760 +0.9% 0.99x (?)
SuffixSequenceLazy 3722 3764 +1.1% 0.99x (?)
SumUsingReduce 97 96 -1.0% 1.01x
SumUsingReduceInto 97 96 -1.0% 1.01x
SuperChars 41455 41106 -0.8% 1.01x (?)
TwoSum 984 989 +0.5% 0.99x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 316 327 +3.5% 0.97x
Walsh 416 418 +0.5% 1.00x (?)
WordCountHistogramUTF16 51696 51261 -0.8% 1.01x (?)
WordCountUniqueASCII 1800 1831 +1.7% 0.98x (?)
WordCountUniqueUTF16 22815 22054 -3.3% 1.03x (?)
WordSplitASCII 21126 21626 +2.4% 0.98x (?)
WordSplitUTF16 21957 22342 +1.8% 0.98x (?)
XorLoop 394 391 -0.8% 1.01x (?)

Unoptimized (Onone)

Regression (16)
TEST OLD NEW DELTA SPEEDUP
CharIteration_russian_unicodeScalars_Backwards 244257 284726 +16.6% 0.86x (?)
CharIteration_japanese_unicodeScalars_Backwards 352861 409192 +16.0% 0.86x (?)
CharIteration_punctuated_unicodeScalars_Backwards 65008 75340 +15.9% 0.86x
CharIteration_ascii_unicodeScalars_Backwards 296236 342492 +15.6% 0.86x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 51281 59107 +15.3% 0.87x (?)
CharIteration_chinese_unicodeScalars_Backwards 224154 257652 +14.9% 0.87x (?)
CharIteration_tweet_unicodeScalars_Backwards 601820 679934 +13.0% 0.89x (?)
CharIteration_utf16_unicodeScalars_Backwards 254090 280558 +10.4% 0.91x
ReversedBidirectional 42708 46671 +9.3% 0.92x (?)
ExclusivityIndependent 67 73 +9.0% 0.92x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 6365 6820 +7.1% 0.93x (?)
ExclusivityGlobal 177 189 +6.8% 0.94x
HashTest 16236 17289 +6.5% 0.94x
ObjectiveCBridgeStubFromArrayOfNSString 25822 27299 +5.7% 0.95x (?)
StringWalk 12426 13129 +5.7% 0.95x
ErrorHandling 6734 7103 +5.5% 0.95x (?)
Improvement (47)
TEST OLD NEW DELTA SPEEDUP
IterateData 7864 5826 -25.9% 1.35x
SortSortedStrings 1314 992 -24.5% 1.32x
SortStrings 2483 1969 -20.7% 1.26x
LazilyFilteredRange 590578 474339 -19.7% 1.25x
DropWhileAnySeqCRangeIter 26756 21685 -19.0% 1.23x
CharIndexing_punctuated_unicodeScalars 98649 80055 -18.8% 1.23x
RangeAssignment 2717 2225 -18.1% 1.22x
CharIndexing_chinese_unicodeScalars 334570 275024 -17.8% 1.22x
CharIndexing_korean_unicodeScalars 421294 351672 -16.5% 1.20x
CharIndexing_russian_unicodeScalars 361594 302757 -16.3% 1.19x
CharIndexing_tweet_unicodeScalars 864073 724778 -16.1% 1.19x
CharIndexing_ascii_unicodeScalars 438986 376904 -14.1% 1.16x (?)
CharIndexing_japanese_unicodeScalars 516446 445258 -13.8% 1.16x
CharIndexing_punctuatedJapanese_unicodeScalars 76775 66441 -13.5% 1.16x
CharIndexing_utf16_unicodeScalars 354922 313780 -11.6% 1.13x
MapReduceAnyCollectionShort 40631 36168 -11.0% 1.12x
ArrayOfPOD 846 757 -10.5% 1.12x
CharIndexing_punctuated_unicodeScalars_Backwards 104607 93711 -10.4% 1.12x
ArrayOfGenericPOD2 1184 1070 -9.6% 1.11x
MapReduceClassShort 44862 40734 -9.2% 1.10x
MapReduceString 1952 1788 -8.4% 1.09x
MapReduceShort 39564 36463 -7.8% 1.09x
MapReduceLazyCollectionShort 34951 32381 -7.4% 1.08x
LuhnAlgoEager 5374 4987 -7.2% 1.08x
MapReduceShortString 254 236 -7.1% 1.08x
DropFirstAnySeqCRangeIterLazy 21841 20297 -7.1% 1.08x
MapReduceAnyCollection 27391 25473 -7.0% 1.08x
CharacterPropertiesStashedMemo 5334 4967 -6.9% 1.07x (?)
DropFirstAnySeqCRangeIter 21846 20347 -6.9% 1.07x
PrefixWhileArray 11465 10686 -6.8% 1.07x
MapReduce 27399 25538 -6.8% 1.07x
DictionarySubscriptDefaultMutation 2173 2036 -6.3% 1.07x
CharIndexing_korean_unicodeScalars_Backwards 441909 414224 -6.3% 1.07x (?)
CharIndexing_japanese_unicodeScalars_Backwards 551323 516819 -6.3% 1.07x (?)
MapReduceClass 32041 30036 -6.3% 1.07x
Combos 2257 2120 -6.1% 1.06x (?)
CharIndexing_ascii_unicodeScalars_Backwards 454783 429976 -5.5% 1.06x (?)
RangeReplaceableCollectionPlusDefault 8669 8201 -5.4% 1.06x
SumUsingReduceInto 166926 157953 -5.4% 1.06x
PrefixWhileCountableRange 11775 11143 -5.4% 1.06x
MapReduceLazySequence 18330 17347 -5.4% 1.06x
DropWhileCountableRange 4171 3949 -5.3% 1.06x
MapReduceSequence 30750 29128 -5.3% 1.06x
DropWhileAnySequence 12485 11858 -5.0% 1.05x
PrefixWhileAnyCollection 25603 24321 -5.0% 1.05x
StringEqualPointerComparison 3315 3150 -5.0% 1.05x
ObjectiveCBridgeFromNSDictionaryAnyObject 129319 122972 -4.9% 1.05x
No Changes (299)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5153 5119 -0.7% 1.01x (?)
AnyHashableWithAClass 85897 87139 +1.4% 0.99x
Array2D 633299 632300 -0.2% 1.00x (?)
ArrayAppend 4555 4558 +0.1% 1.00x (?)
ArrayAppendArrayOfInt 860 858 -0.2% 1.00x (?)
ArrayAppendAscii 40190 40222 +0.1% 1.00x (?)
ArrayAppendFromGeneric 853 864 +1.3% 0.99x (?)
ArrayAppendGenericStructs 1475 1502 +1.8% 0.98x (?)
ArrayAppendLatin1 63552 63360 -0.3% 1.00x (?)
ArrayAppendLazyMap 168752 167651 -0.7% 1.01x
ArrayAppendOptionals 1502 1498 -0.3% 1.00x (?)
ArrayAppendRepeatCol 173711 174682 +0.6% 0.99x (?)
ArrayAppendReserved 4282 4283 +0.0% 1.00x (?)
ArrayAppendSequence 142630 143775 +0.8% 0.99x (?)
ArrayAppendStrings 15443 15421 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 862 861 -0.1% 1.00x (?)
ArrayAppendToGeneric 869 868 -0.1% 1.00x (?)
ArrayAppendUTF16 63635 62893 -1.2% 1.01x
ArrayInClass 6190 6216 +0.4% 1.00x (?)
ArrayLiteral 1774 1779 +0.3% 1.00x (?)
ArrayOfGenericRef 10168 10140 -0.3% 1.00x (?)
ArrayOfRef 9334 9381 +0.5% 0.99x (?)
ArrayPlusEqualArrayOfInt 863 861 -0.2% 1.00x (?)
ArrayPlusEqualFiveElementCollection 242616 246646 +1.7% 0.98x (?)
ArrayPlusEqualSingleElementCollection 241480 244015 +1.0% 0.99x (?)
ArrayPlusEqualThreeElements 9256 9447 +2.1% 0.98x (?)
ArraySubscript 82622 81910 -0.9% 1.01x (?)
ArrayValueProp 3615 3630 +0.4% 1.00x (?)
ArrayValueProp2 16146 16112 -0.2% 1.00x (?)
ArrayValueProp3 4145 4160 +0.4% 1.00x (?)
ArrayValueProp4 4062 4070 +0.2% 1.00x (?)
BinaryFloatingPointConversionFromBinaryInteger 6137 6354 +3.5% 0.97x (?)
BitCount 2097 2097 +0.0% 1.00x
ByteSwap 3904 3916 +0.3% 1.00x (?)
COWTree 11511 11480 -0.3% 1.00x (?)
CSVParsing 2575997 2521228 -2.1% 1.02x
CSVParsingAlt 1300290 1302049 +0.1% 1.00x (?)
CSVParsingAltIndices 2580857 2574588 -0.2% 1.00x (?)
CStringLongAscii 4767 4884 +2.5% 0.98x
CStringLongNonAscii 2123 2181 +2.7% 0.97x
CStringShortAscii 7904 7599 -3.9% 1.04x
Calculator 1564 1497 -4.3% 1.04x
CaptureProp 253300 244725 -3.4% 1.04x
CharIndexing_chinese_unicodeScalars_Backwards 342567 329408 -3.8% 1.04x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 77833 76170 -2.1% 1.02x (?)
CharIndexing_russian_unicodeScalars_Backwards 379511 362109 -4.6% 1.05x (?)
CharIndexing_tweet_unicodeScalars_Backwards 890400 857475 -3.7% 1.04x (?)
CharIndexing_utf16_unicodeScalars_Backwards 365065 350178 -4.1% 1.04x (?)
CharIteration_ascii_unicodeScalars 153110 154316 +0.8% 0.99x (?)
CharIteration_chinese_unicodeScalars 115689 116962 +1.1% 0.99x (?)
CharIteration_japanese_unicodeScalars 183167 184842 +0.9% 0.99x (?)
CharIteration_korean_unicodeScalars 148281 149713 +1.0% 0.99x (?)
CharIteration_korean_unicodeScalars_Backwards 318024 331455 +4.2% 0.96x (?)
CharIteration_punctuatedJapanese_unicodeScalars 27385 27668 +1.0% 0.99x (?)
CharIteration_punctuated_unicodeScalars 34356 34687 +1.0% 0.99x (?)
CharIteration_russian_unicodeScalars 127645 129296 +1.3% 0.99x (?)
CharIteration_tweet_unicodeScalars 302373 304525 +0.7% 0.99x (?)
CharIteration_utf16_unicodeScalars 129632 129632 +0.0% 1.00x
CharacterLiteralsLarge 5936 5855 -1.4% 1.01x (?)
CharacterLiteralsSmall 668 661 -1.0% 1.01x
CharacterPropertiesFetch 5365 5406 +0.8% 0.99x (?)
CharacterPropertiesPrecomputed 4277 4262 -0.4% 1.00x (?)
CharacterPropertiesStashed 2262 2295 +1.5% 0.99x (?)
Chars 39589 39441 -0.4% 1.00x
ClassArrayGetter 988 988 +0.0% 1.00x
DictOfArraysToArrayOfDicts 3405 3388 -0.5% 1.01x (?)
Dictionary 2581 2562 -0.7% 1.01x (?)
Dictionary2 2870 2848 -0.8% 1.01x (?)
Dictionary2OfObjects 5857 5638 -3.7% 1.04x
Dictionary3 1291 1270 -1.6% 1.02x (?)
Dictionary3OfObjects 2212 2225 +0.6% 0.99x (?)
Dictionary4 1182 1183 +0.1% 1.00x (?)
Dictionary4OfObjects 1813 1824 +0.6% 0.99x (?)
DictionaryBridge 2079 2087 +0.4% 1.00x (?)
DictionaryGroup 4290 4178 -2.6% 1.03x
DictionaryGroupOfObjects 7497 7376 -1.6% 1.02x (?)
DictionaryLiteral 8613 8611 -0.0% 1.00x (?)
DictionaryOfObjects 6068 6247 +2.9% 0.97x (?)
DictionaryRemove 18379 18514 +0.7% 0.99x
DictionaryRemoveOfObjects 50895 50148 -1.5% 1.01x (?)
DictionarySubscriptDefaultMutationArray 2391 2291 -4.2% 1.04x
DictionarySubscriptDefaultMutationArrayOfObjects 9029 9090 +0.7% 0.99x (?)
DictionarySubscriptDefaultMutationOfObjects 5712 5793 +1.4% 0.99x (?)
DictionarySwap 5244 5275 +0.6% 0.99x
DictionarySwapOfObjects 22288 22400 +0.5% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 13770 13545 -1.6% 1.02x
DropFirstAnyCollectionLazy 103432 103433 +0.0% 1.00x (?)
DropFirstAnySeqCntRange 13815 13491 -2.3% 1.02x
DropFirstAnySeqCntRangeLazy 13840 13581 -1.9% 1.02x (?)
DropFirstAnySequence 10868 10749 -1.1% 1.01x
DropFirstAnySequenceLazy 10871 10718 -1.4% 1.01x
DropFirstArray 3782 3762 -0.5% 1.01x (?)
DropFirstArrayLazy 25033 24936 -0.4% 1.00x (?)
DropFirstCountableRange 324 324 +0.0% 1.00x
DropFirstCountableRangeLazy 25737 25422 -1.2% 1.01x (?)
DropFirstSequence 10394 10271 -1.2% 1.01x
DropFirstSequenceLazy 10462 10306 -1.5% 1.02x
DropLastAnyCollection 4608 4529 -1.7% 1.02x
DropLastAnyCollectionLazy 34343 35192 +2.5% 0.98x (?)
DropLastAnySeqCRangeIter 37693 37492 -0.5% 1.01x
DropLastAnySeqCRangeIterLazy 38092 37658 -1.1% 1.01x
DropLastAnySeqCntRange 4585 4514 -1.5% 1.02x
DropLastAnySeqCntRangeLazy 4666 4524 -3.0% 1.03x (?)
DropLastAnySequence 29168 28892 -0.9% 1.01x (?)
DropLastAnySequenceLazy 29277 28951 -1.1% 1.01x (?)
DropLastCountableRange 111 112 +0.9% 0.99x
DropLastCountableRangeLazy 8588 8485 -1.2% 1.01x (?)
DropLastSequence 29489 28837 -2.2% 1.02x (?)
DropLastSequenceLazy 29069 28934 -0.5% 1.00x
DropWhileAnyCollection 17834 17188 -3.6% 1.04x
DropWhileAnyCollectionLazy 19201 18839 -1.9% 1.02x
DropWhileAnySeqCRangeIterLazy 19116 18830 -1.5% 1.02x
DropWhileAnySeqCntRange 17687 17071 -3.5% 1.04x
DropWhileAnySeqCntRangeLazy 19352 18990 -1.9% 1.02x
DropWhileAnySequenceLazy 10254 10032 -2.2% 1.02x (?)
DropWhileArrayLazy 13660 13642 -0.1% 1.00x (?)
DropWhileCountableRangeLazy 18672 18383 -1.5% 1.02x
DropWhileSequence 12058 11681 -3.1% 1.03x
DropWhileSequenceLazy 9732 9625 -1.1% 1.01x (?)
EqualStringSubstring 474 475 +0.2% 1.00x
EqualSubstringString 475 476 +0.2% 1.00x (?)
EqualSubstringSubstring 475 475 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 484 483 -0.2% 1.00x
FilterEvenUsingReduce 3763 3631 -3.5% 1.04x (?)
FilterEvenUsingReduceInto 1979 1905 -3.7% 1.04x
FrequenciesUsingReduce 10551 10404 -1.4% 1.01x (?)
FrequenciesUsingReduceInto 5463 5237 -4.1% 1.04x (?)
Hanoi 19976 19878 -0.5% 1.00x (?)
Histogram 6562 6661 +1.5% 0.99x
Integrate 823 822 -0.1% 1.00x (?)
Join 1108 1108 +0.0% 1.00x
LazilyFilteredArrayContains 768150 769742 +0.2% 1.00x (?)
LazilyFilteredArrays 1475217 1453587 -1.5% 1.01x
LessSubstringSubstring 475 475 +0.0% 1.00x
LessSubstringSubstringGenericComparable 481 480 -0.2% 1.00x (?)
LinkedList 32033 32088 +0.2% 1.00x (?)
LuhnAlgoLazy 5367 5127 -4.5% 1.05x (?)
MapReduceLazyCollection 23163 22253 -3.9% 1.04x
Memset 44696 44707 +0.0% 1.00x (?)
MonteCarloE 898624 897648 -0.1% 1.00x (?)
MonteCarloPi 3908809 3902291 -0.2% 1.00x (?)
NSDictionaryCastToSwift 6525 6770 +3.8% 0.96x (?)
NSError 710 709 -0.1% 1.00x (?)
NSStringConversion 340 337 -0.9% 1.01x (?)
NibbleSort 299651 301034 +0.5% 1.00x (?)
NopDeinit 162307 169162 +4.2% 0.96x (?)
ObjectAllocation 1355 1349 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 21806 22824 +4.7% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8401 8712 +3.7% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 40077 40904 +2.1% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 34386 35890 +4.4% 0.96x (?)
ObjectiveCBridgeFromNSSetAnyObject 64627 62057 -4.0% 1.04x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 73977 71802 -2.9% 1.03x (?)
ObjectiveCBridgeFromNSString 3082 3141 +1.9% 0.98x (?)
ObjectiveCBridgeFromNSStringForced 2654 2698 +1.7% 0.98x (?)
ObjectiveCBridgeStubDataAppend 4361 4360 -0.0% 1.00x (?)
ObjectiveCBridgeStubDateMutation 602 631 +4.8% 0.95x
ObjectiveCBridgeStubFromNSDate 4535 4543 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSString 891 925 +3.8% 0.96x (?)
ObjectiveCBridgeStubFromNSStringRef 199 199 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 3012 2998 -0.5% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 16378 16510 +0.8% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 28620 29304 +2.4% 0.98x (?)
ObjectiveCBridgeStubToNSDate 15978 15632 -2.2% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3485 3474 -0.3% 1.00x (?)
ObjectiveCBridgeStubToNSString 1573 1626 +3.4% 0.97x (?)
ObjectiveCBridgeStubToNSStringRef 159 159 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 332620 334703 +0.6% 0.99x (?)
ObjectiveCBridgeStubURLAppendPathRef 338273 340078 +0.5% 0.99x (?)
ObjectiveCBridgeToNSArray 29223 29410 +0.6% 0.99x (?)
ObjectiveCBridgeToNSDictionary 55366 55029 -0.6% 1.01x (?)
ObjectiveCBridgeToNSSet 45014 46051 +2.3% 0.98x (?)
ObjectiveCBridgeToNSString 1368 1371 +0.2% 1.00x (?)
ObserverClosure 6440 6429 -0.2% 1.00x (?)
ObserverForwarderStruct 4482 4467 -0.3% 1.00x (?)
ObserverPartiallyAppliedMethod 7979 8012 +0.4% 1.00x (?)
ObserverUnappliedMethod 7969 7956 -0.2% 1.00x (?)
OpenClose 522 507 -2.9% 1.03x
PartialApplyDynamicType 41977 40508 -3.5% 1.04x (?)
Phonebook 20606 20299 -1.5% 1.02x (?)
PointerArithmetics 117412 117415 +0.0% 1.00x (?)
PolymorphicCalls 6118 6415 +4.9% 0.95x
PopFrontArray 4616 4625 +0.2% 1.00x (?)
PopFrontArrayGeneric 5735 5733 -0.0% 1.00x (?)
PopFrontUnsafePointer 11245 11227 -0.2% 1.00x (?)
PrefixAnyCollection 13785 13535 -1.8% 1.02x
PrefixAnyCollectionLazy 107686 104699 -2.8% 1.03x (?)
PrefixAnySeqCRangeIter 16444 16264 -1.1% 1.01x (?)
PrefixAnySeqCRangeIterLazy 16419 16334 -0.5% 1.01x
PrefixAnySeqCntRange 13784 13503 -2.0% 1.02x
PrefixAnySeqCntRangeLazy 13831 13535 -2.1% 1.02x (?)
PrefixAnySequence 9074 8976 -1.1% 1.01x (?)
PrefixAnySequenceLazy 9024 8992 -0.4% 1.00x (?)
PrefixArray 3828 3830 +0.1% 1.00x (?)
PrefixArrayLazy 25037 24919 -0.5% 1.00x
PrefixCountableRange 324 325 +0.3% 1.00x
PrefixCountableRangeLazy 25726 25413 -1.2% 1.01x (?)
PrefixSequence 8781 8758 -0.3% 1.00x (?)
PrefixSequenceLazy 8723 8628 -1.1% 1.01x
PrefixWhileAnyCollectionLazy 15946 15640 -1.9% 1.02x (?)
PrefixWhileAnySeqCRangeIter 33212 32880 -1.0% 1.01x
PrefixWhileAnySeqCRangeIterLazy 15928 15750 -1.1% 1.01x (?)
PrefixWhileAnySeqCntRange 25377 24329 -4.1% 1.04x
PrefixWhileAnySeqCntRangeLazy 16015 15719 -1.8% 1.02x
PrefixWhileAnySequence 26403 26018 -1.5% 1.01x
PrefixWhileAnySequenceLazy 9233 9167 -0.7% 1.01x
PrefixWhileArrayLazy 11868 11892 +0.2% 1.00x (?)
PrefixWhileCountableRangeLazy 15581 15395 -1.2% 1.01x (?)
PrefixWhileSequence 26198 25705 -1.9% 1.02x
PrefixWhileSequenceLazy 8951 8860 -1.0% 1.01x (?)
Prims 9698 9734 +0.4% 1.00x (?)
PrimsSplit 9693 9794 +1.0% 0.99x (?)
QueueConcrete 15053 14972 -0.5% 1.01x
QueueGeneric 19028 18876 -0.8% 1.01x (?)
RC4 16478 16641 +1.0% 0.99x
RGBHistogram 26677 25849 -3.1% 1.03x
RGBHistogramOfObjects 96576 96501 -0.1% 1.00x (?)
RangeIterationSigned 16799 16822 +0.1% 1.00x (?)
RangeIterationSigned64 39289 38807 -1.2% 1.01x
RangeIterationUnsigned 35035 34564 -1.3% 1.01x
RecursiveOwnedParameter 7904 7913 +0.1% 1.00x (?)
ReversedArray 13322 13346 +0.2% 1.00x (?)
ReversedDictionary 22904 22942 +0.2% 1.00x (?)
RomanNumbers 1199100 1206555 +0.6% 0.99x (?)
SetExclusiveOr 17498 17194 -1.7% 1.02x (?)
SetExclusiveOr_OfObjects 41897 42261 +0.9% 0.99x
SetIntersect 8264 8204 -0.7% 1.01x
SetIntersect_OfObjects 12236 12271 +0.3% 1.00x (?)
SetIsSubsetOf 1342 1344 +0.1% 1.00x (?)
SetIsSubsetOf_OfObjects 1552 1559 +0.5% 1.00x (?)
SetUnion 12010 12041 +0.3% 1.00x (?)
SetUnion_OfObjects 29274 29727 +1.5% 0.98x (?)
SevenBoom 1655 1649 -0.4% 1.00x (?)
Sim2DArray 44000 43986 -0.0% 1.00x (?)
SortLargeExistentials 15661 15351 -2.0% 1.02x
SortLettersInPlace 2813 2684 -4.6% 1.05x (?)
SortStringsUnicode 16183 15488 -4.3% 1.04x
StackPromo 89204 91904 +3.0% 0.97x (?)
StaticArray 2653 2581 -2.7% 1.03x
StrComplexWalk 6438 6661 +3.5% 0.97x
StrToInt 58254 57133 -1.9% 1.02x
StringAdder 4712 4697 -0.3% 1.00x (?)
StringBuilder 6782 6817 +0.5% 0.99x (?)
StringBuilderLong 2724 2687 -1.4% 1.01x
StringComparison_abnormal 1426 1416 -0.7% 1.01x (?)
StringComparison_ascii 9497 9489 -0.1% 1.00x (?)
StringComparison_emoji 3798 3782 -0.4% 1.00x (?)
StringComparison_fastPrenormal 13266 13199 -0.5% 1.01x (?)
StringComparison_latin1 9456 9482 +0.3% 1.00x (?)
StringComparison_longSharedPrefix 13060 13049 -0.1% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 6917 6890 -0.4% 1.00x (?)
StringComparison_slowerPrenormal 6789 6757 -0.5% 1.00x (?)
StringComparison_zalgo 2831 2827 -0.1% 1.00x (?)
StringEdits 335664 336654 +0.3% 1.00x (?)
StringEnumRawValueInitialization 18989 19563 +3.0% 0.97x (?)
StringFromLongWholeSubstring 23 23 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 197 197 +0.0% 1.00x
StringHasPrefixAscii 3032 3026 -0.2% 1.00x (?)
StringHasPrefixUnicode 29426 29112 -1.1% 1.01x
StringHasSuffixAscii 3122 3094 -0.9% 1.01x (?)
StringHasSuffixUnicode 86351 86306 -0.1% 1.00x (?)
StringInterpolation 13197 13529 +2.5% 0.98x (?)
StringMatch 33514 33346 -0.5% 1.01x (?)
StringRemoveDupes 1399 1365 -2.4% 1.02x (?)
StringUTF16Builder 7599 7796 +2.6% 0.97x (?)
StringWithCString 39436 37709 -4.4% 1.05x
StringWordBuilder 2519 2516 -0.1% 1.00x (?)
StringWordBuilderReservingCapacity 2183 2172 -0.5% 1.01x (?)
SubstringComparable 4122 4110 -0.3% 1.00x (?)
SubstringEqualString 3474 3520 +1.3% 0.99x (?)
SubstringEquatable 8014 8001 -0.2% 1.00x (?)
SubstringFromLongString 24 24 +0.0% 1.00x
SubstringFromLongStringGeneric 102 102 +0.0% 1.00x
SuffixAnyCollection 4627 4535 -2.0% 1.02x
SuffixAnyCollectionLazy 35275 34432 -2.4% 1.02x (?)
SuffixAnySeqCRangeIter 33674 33544 -0.4% 1.00x (?)
SuffixAnySeqCRangeIterLazy 34111 33828 -0.8% 1.01x
SuffixAnySeqCntRange 4595 4515 -1.7% 1.02x
SuffixAnySeqCntRangeLazy 4617 4543 -1.6% 1.02x (?)
SuffixAnySequence 25123 25117 -0.0% 1.00x (?)
SuffixAnySequenceLazy 25036 25120 +0.3% 1.00x (?)
SuffixCountableRange 112 113 +0.9% 0.99x
SuffixCountableRangeLazy 8603 8485 -1.4% 1.01x (?)
SuffixSequence 25564 24999 -2.2% 1.02x (?)
SuffixSequenceLazy 24958 24950 -0.0% 1.00x (?)
SumUsingReduce 170080 163837 -3.7% 1.04x
SuperChars 218181 219951 +0.8% 0.99x (?)
TwoSum 3917 3896 -0.5% 1.01x (?)
TypeFlood 156 159 +1.9% 0.98x (?)
UTF8Decode 30664 29911 -2.5% 1.03x
Walsh 12046 12023 -0.2% 1.00x (?)
WordCountHistogramASCII 48319 46502 -3.8% 1.04x
WordCountHistogramUTF16 104072 102506 -1.5% 1.02x (?)
WordCountUniqueASCII 7985 7946 -0.5% 1.00x (?)
WordCountUniqueUTF16 35316 35490 +0.5% 1.00x (?)
WordSplitASCII 25550 25825 +1.1% 0.99x (?)
WordSplitUTF16 26466 26962 +1.9% 0.98x (?)
XorLoop 23383 23378 -0.0% 1.00x (?)
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@aschwaighofer
Copy link
Contributor Author

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (14)
TEST OLD NEW DELTA SPEEDUP
Calculator 418 471 +12.7% 0.89x
MapReduceLazyCollectionShort 34 38 +11.8% 0.89x
NopDeinit 21578 23592 +9.3% 0.91x
LazilyFilteredRange 3825 4084 +6.8% 0.94x
CharIteration_tweet_unicodeScalars_Backwards 25041 26689 +6.6% 0.94x
CharIteration_russian_unicodeScalars_Backwards 10580 11264 +6.5% 0.94x
CharIteration_korean_unicodeScalars_Backwards 12311 13101 +6.4% 0.94x
CharIteration_ascii_unicodeScalars_Backwards 12698 13511 +6.4% 0.94x
CharIteration_chinese_unicodeScalars_Backwards 9623 10239 +6.4% 0.94x
CharIteration_japanese_unicodeScalars_Backwards 15202 16172 +6.4% 0.94x
CharIteration_utf16_unicodeScalars_Backwards 15870 16873 +6.3% 0.94x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2333 2469 +5.8% 0.94x
CharIteration_punctuated_unicodeScalars_Backwards 2925 3083 +5.4% 0.95x
NibbleSort 3960 4171 +5.3% 0.95x
Improvement (8)
TEST OLD NEW DELTA SPEEDUP
CaptureProp 8890 3903 -56.1% 2.28x
RGBHistogram 2989 2222 -25.7% 1.35x
SortSortedStrings 1198 1002 -16.4% 1.20x
RangeIterationSigned 200 171 -14.5% 1.17x
SortStrings 2097 1805 -13.9% 1.16x
WordCountHistogramASCII 8197 7153 -12.7% 1.15x
StringEqualPointerComparison 315 286 -9.2% 1.10x
StringWalk 1580 1499 -5.1% 1.05x
No Changes (340)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3656 3621 -1.0% 1.01x (?)
AnyHashableWithAClass 69886 69377 -0.7% 1.01x (?)
Array2D 2554 2521 -1.3% 1.01x (?)
ArrayAppend 1022 1021 -0.1% 1.00x (?)
ArrayAppendArrayOfInt 786 796 +1.3% 0.99x (?)
ArrayAppendAscii 13352 13270 -0.6% 1.01x (?)
ArrayAppendFromGeneric 791 795 +0.5% 0.99x (?)
ArrayAppendGenericStructs 1416 1431 +1.1% 0.99x (?)
ArrayAppendLatin1 38169 37802 -1.0% 1.01x (?)
ArrayAppendLazyMap 1335 1340 +0.4% 1.00x (?)
ArrayAppendOptionals 1417 1428 +0.8% 0.99x (?)
ArrayAppendRepeatCol 1332 1334 +0.2% 1.00x (?)
ArrayAppendReserved 756 755 -0.1% 1.00x (?)
ArrayAppendSequence 1133 1133 +0.0% 1.00x
ArrayAppendStrings 15206 15208 +0.0% 1.00x (?)
ArrayAppendToFromGeneric 799 796 -0.4% 1.00x (?)
ArrayAppendToGeneric 791 795 +0.5% 0.99x (?)
ArrayAppendUTF16 37215 36421 -2.1% 1.02x
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 150 150 +0.0% 1.00x
ArrayOfGenericRef 4399 4368 -0.7% 1.01x (?)
ArrayOfPOD 183 183 +0.0% 1.00x
ArrayOfRef 4359 4341 -0.4% 1.00x (?)
ArrayPlusEqualArrayOfInt 798 794 -0.5% 1.01x (?)
ArrayPlusEqualFiveElementCollection 5429 5458 +0.5% 0.99x (?)
ArrayPlusEqualSingleElementCollection 1020 1019 -0.1% 1.00x (?)
ArrayPlusEqualThreeElements 1647 1661 +0.9% 0.99x (?)
ArraySubscript 1523 1510 -0.9% 1.01x (?)
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BinaryFloatingPointConversionFromBinaryInteger 38 38 +0.0% 1.00x
BitCount 211 202 -4.3% 1.04x
ByteSwap 97 100 +3.1% 0.97x (?)
COWTree 3594 3595 +0.0% 1.00x (?)
CSVParsing 759598 757313 -0.3% 1.00x (?)
CSVParsingAlt 725169 719194 -0.8% 1.01x (?)
CSVParsingAltIndices 355894 357030 +0.3% 1.00x (?)
CStringLongAscii 4768 4765 -0.1% 1.00x (?)
CStringLongNonAscii 2155 2140 -0.7% 1.01x (?)
CStringShortAscii 4702 4689 -0.3% 1.00x (?)
CharIndexing_ascii_unicodeScalars 14744 15406 +4.5% 0.96x
CharIndexing_ascii_unicodeScalars_Backwards 14114 14338 +1.6% 0.98x
CharIndexing_chinese_unicodeScalars 11171 11667 +4.4% 0.96x
CharIndexing_chinese_unicodeScalars_Backwards 10697 10866 +1.6% 0.98x
CharIndexing_japanese_unicodeScalars 17654 18446 +4.5% 0.96x
CharIndexing_japanese_unicodeScalars_Backwards 16902 17168 +1.6% 0.98x
CharIndexing_korean_unicodeScalars 14295 14936 +4.5% 0.96x
CharIndexing_korean_unicodeScalars_Backwards 13689 13912 +1.6% 0.98x
CharIndexing_punctuatedJapanese_unicodeScalars 2682 2785 +3.8% 0.96x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2579 2611 +1.2% 0.99x
CharIndexing_punctuated_unicodeScalars 3355 3486 +3.9% 0.96x
CharIndexing_punctuated_unicodeScalars_Backwards 3220 3266 +1.4% 0.99x
CharIndexing_russian_unicodeScalars 12285 12834 +4.5% 0.96x
CharIndexing_russian_unicodeScalars_Backwards 11765 11958 +1.6% 0.98x (?)
CharIndexing_tweet_unicodeScalars 29073 30289 +4.2% 0.96x
CharIndexing_tweet_unicodeScalars_Backwards 28512 28215 -1.0% 1.01x
CharIndexing_utf16_unicodeScalars 20338 20406 +0.3% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 20921 20993 +0.3% 1.00x (?)
CharIteration_ascii_unicodeScalars 20834 20594 -1.2% 1.01x
CharIteration_chinese_unicodeScalars 15772 15522 -1.6% 1.02x (?)
CharIteration_japanese_unicodeScalars 24945 24575 -1.5% 1.02x
CharIteration_korean_unicodeScalars 20203 19975 -1.1% 1.01x
CharIteration_punctuatedJapanese_unicodeScalars 3744 3667 -2.1% 1.02x
CharIteration_punctuated_unicodeScalars 4693 4618 -1.6% 1.02x
CharIteration_russian_unicodeScalars 17358 17137 -1.3% 1.01x
CharIteration_tweet_unicodeScalars 41266 40565 -1.7% 1.02x
CharIteration_utf16_unicodeScalars 27439 27231 -0.8% 1.01x
CharacterLiteralsLarge 5969 5993 +0.4% 1.00x (?)
CharacterLiteralsSmall 411 410 -0.2% 1.00x (?)
CharacterPropertiesFetch 4628 4631 +0.1% 1.00x (?)
CharacterPropertiesPrecomputed 1064 1061 -0.3% 1.00x (?)
CharacterPropertiesStashed 1651 1614 -2.2% 1.02x (?)
CharacterPropertiesStashedMemo 1629 1618 -0.7% 1.01x (?)
Chars 970 969 -0.1% 1.00x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 460 458 -0.4% 1.00x (?)
DictOfArraysToArrayOfDicts 779 787 +1.0% 0.99x (?)
Dictionary 500 511 +2.2% 0.98x
Dictionary2 1612 1600 -0.7% 1.01x (?)
Dictionary2OfObjects 2942 2927 -0.5% 1.01x (?)
Dictionary3 230 234 +1.7% 0.98x (?)
Dictionary3OfObjects 669 670 +0.1% 1.00x (?)
Dictionary4 147 147 +0.0% 1.00x
Dictionary4OfObjects 200 200 +0.0% 1.00x
DictionaryBridge 1987 1969 -0.9% 1.01x (?)
DictionaryGroup 132 132 +0.0% 1.00x
DictionaryGroupOfObjects 1924 1916 -0.4% 1.00x (?)
DictionaryLiteral 1600 1611 +0.7% 0.99x (?)
DictionaryOfObjects 2159 2173 +0.6% 0.99x (?)
DictionaryRemove 2711 2716 +0.2% 1.00x (?)
DictionaryRemoveOfObjects 23756 23661 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutation 144 142 -1.4% 1.01x
DictionarySubscriptDefaultMutationArray 489 491 +0.4% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 3847 3839 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1381 1379 -0.1% 1.00x (?)
DictionarySwap 470 469 -0.2% 1.00x (?)
DictionarySwapOfObjects 7340 7373 +0.4% 1.00x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 76 76 +0.0% 1.00x
DropFirstAnyCollectionLazy 64745 64693 -0.1% 1.00x (?)
DropFirstAnySeqCRangeIter 163 163 +0.0% 1.00x
DropFirstAnySeqCRangeIterLazy 163 163 +0.0% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 1841 1841 +0.0% 1.00x
DropFirstAnySequenceLazy 1841 1841 +0.0% 1.00x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2727 2698 -1.1% 1.01x (?)
DropFirstSequenceLazy 2792 2799 +0.3% 1.00x (?)
DropLastAnyCollection 28 28 +0.0% 1.00x
DropLastAnyCollectionLazy 21570 21575 +0.0% 1.00x (?)
DropLastAnySeqCRangeIter 3515 3511 -0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3513 3508 -0.1% 1.00x (?)
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 5133 5105 -0.5% 1.01x (?)
DropLastAnySequenceLazy 5237 5212 -0.5% 1.00x (?)
DropLastCountableRange 12 12 +0.0% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropLastSequence 681 680 -0.1% 1.00x (?)
DropLastSequenceLazy 680 681 +0.1% 1.00x (?)
DropWhileAnyCollection 99 100 +1.0% 0.99x (?)
DropWhileAnyCollectionLazy 153 153 +0.0% 1.00x
DropWhileAnySeqCRangeIter 157 157 +0.0% 1.00x
DropWhileAnySeqCRangeIterLazy 153 153 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 153 153 +0.0% 1.00x
DropWhileAnySequence 1860 1860 +0.0% 1.00x
DropWhileAnySequenceLazy 1855 1854 -0.1% 1.00x (?)
DropWhileArrayLazy 129 129 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 111 111 +0.0% 1.00x
DropWhileSequence 1339 1340 +0.1% 1.00x (?)
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 431 431 +0.0% 1.00x
EqualSubstringString 431 431 +0.0% 1.00x
EqualSubstringSubstring 430 430 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 431 431 +0.0% 1.00x
ErrorHandling 2295 2286 -0.4% 1.00x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1312 1307 -0.4% 1.00x (?)
FilterEvenUsingReduceInto 147 147 +0.0% 1.00x
FrequenciesUsingReduce 6697 6764 +1.0% 0.99x (?)
FrequenciesUsingReduceInto 3166 3132 -1.1% 1.01x (?)
Hanoi 3596 3590 -0.2% 1.00x (?)
HashTest 1746 1738 -0.5% 1.00x (?)
Histogram 323 325 +0.6% 0.99x
Integrate 217 217 +0.0% 1.00x
IterateData 1373 1317 -4.1% 1.04x
Join 372 364 -2.2% 1.02x (?)
LazilyFilteredArrayContains 36659 37455 +2.2% 0.98x (?)
LazilyFilteredArrays 64992 64686 -0.5% 1.00x (?)
LessSubstringSubstring 430 430 +0.0% 1.00x
LessSubstringSubstringGenericComparable 429 429 +0.0% 1.00x
LinkedList 7556 7560 +0.1% 1.00x (?)
LuhnAlgoEager 580 582 +0.3% 1.00x (?)
LuhnAlgoLazy 583 582 -0.2% 1.00x (?)
MapReduce 399 398 -0.3% 1.00x (?)
MapReduceAnyCollection 399 399 +0.0% 1.00x
MapReduceAnyCollectionShort 2024 2051 +1.3% 0.99x (?)
MapReduceClass 3036 3048 +0.4% 1.00x (?)
MapReduceClassShort 4581 4610 +0.6% 0.99x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 463 460 -0.6% 1.01x (?)
MapReduceShort 2020 2012 -0.4% 1.00x (?)
MapReduceShortString 21 21 +0.0% 1.00x
MapReduceString 83 81 -2.4% 1.02x
Memset 213 216 +1.4% 0.99x (?)
MonteCarloE 10402 10345 -0.5% 1.01x (?)
MonteCarloPi 42993 42889 -0.2% 1.00x (?)
NSDictionaryCastToSwift 5272 5342 +1.3% 0.99x (?)
NSError 297 296 -0.3% 1.00x (?)
NSStringConversion 308 300 -2.6% 1.03x (?)
ObjectAllocation 183 183 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 19490 20148 +3.4% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3892 3926 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 37592 37165 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 32560 32688 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 122027 118650 -2.8% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObject 57879 56662 -2.1% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4156 4166 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 65556 67599 +3.1% 0.97x (?)
ObjectiveCBridgeFromNSString 1310 1300 -0.8% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2335 2329 -0.3% 1.00x (?)
ObjectiveCBridgeStubDataAppend 3888 3948 +1.5% 0.98x (?)
ObjectiveCBridgeStubDateMutation 257 257 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 25386 25744 +1.4% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 4136 4130 -0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 852 849 -0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 158 158 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2501 2455 -1.8% 1.02x (?)
ObjectiveCBridgeStubNSDateMutationRef 13175 12688 -3.7% 1.04x (?)
ObjectiveCBridgeStubToArrayOfNSString 28833 29014 +0.6% 0.99x (?)
ObjectiveCBridgeStubToNSDate 15377 15120 -1.7% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3409 3411 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1515 1517 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 112 112 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 325889 322039 -1.2% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 323587 332244 +2.7% 0.97x (?)
ObjectiveCBridgeToNSArray 28964 28736 -0.8% 1.01x (?)
ObjectiveCBridgeToNSDictionary 53922 54202 +0.5% 0.99x (?)
ObjectiveCBridgeToNSSet 44210 45072 +1.9% 0.98x (?)
ObjectiveCBridgeToNSString 1293 1289 -0.3% 1.00x (?)
ObserverClosure 2169 2158 -0.5% 1.01x (?)
ObserverForwarderStruct 1001 1003 +0.2% 1.00x (?)
ObserverPartiallyAppliedMethod 3749 3701 -1.3% 1.01x (?)
ObserverUnappliedMethod 2412 2457 +1.9% 0.98x (?)
OpenClose 160 157 -1.9% 1.02x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4111 4112 +0.0% 1.00x (?)
PointerArithmetics 31487 31492 +0.0% 1.00x (?)
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1865 1859 -0.3% 1.00x (?)
PopFrontArrayGeneric 1880 1960 +4.3% 0.96x (?)
PopFrontUnsafePointer 8756 8749 -0.1% 1.00x (?)
PrefixAnyCollection 76 76 +0.0% 1.00x
PrefixAnyCollectionLazy 65065 64553 -0.8% 1.01x (?)
PrefixAnySeqCRangeIter 128 128 +0.0% 1.00x
PrefixAnySeqCRangeIterLazy 128 128 +0.0% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 1378 1377 -0.1% 1.00x (?)
PrefixAnySequenceLazy 1377 1378 +0.1% 1.00x (?)
PrefixArray 35 35 +0.0% 1.00x
PrefixArrayLazy 35 35 +0.0% 1.00x
PrefixCountableRange 35 35 +0.0% 1.00x
PrefixCountableRangeLazy 35 35 +0.0% 1.00x
PrefixSequence 1328 1326 -0.2% 1.00x (?)
PrefixSequenceLazy 1415 1413 -0.1% 1.00x (?)
PrefixWhileAnyCollection 146 146 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 417 416 -0.2% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCntRange 142 142 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 106 106 +0.0% 1.00x
PrefixWhileAnySequence 1539 1538 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1391 1391 +0.0% 1.00x
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 53 53 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 356 356 +0.0% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 750 750 +0.0% 1.00x
PrimsSplit 751 752 +0.1% 1.00x (?)
QueueConcrete 1308 1307 -0.1% 1.00x (?)
QueueGeneric 1157 1157 +0.0% 1.00x
RC4 170 170 +0.0% 1.00x
RGBHistogramOfObjects 23892 23464 -1.8% 1.02x (?)
RangeAssignment 350 351 +0.3% 1.00x (?)
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 988 987 -0.1% 1.00x (?)
RecursiveOwnedParameter 2323 2373 +2.2% 0.98x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 15407 15376 -0.2% 1.00x (?)
ReversedDictionary 124 125 +0.8% 0.99x (?)
RomanNumbers 116417 117684 +1.1% 0.99x (?)
SetExclusiveOr 3427 3412 -0.4% 1.00x (?)
SetExclusiveOr_OfObjects 8704 8658 -0.5% 1.01x (?)
SetIntersect 331 330 -0.3% 1.00x (?)
SetIntersect_OfObjects 1767 1764 -0.2% 1.00x (?)
SetIsSubsetOf 300 299 -0.3% 1.00x (?)
SetIsSubsetOf_OfObjects 366 366 +0.0% 1.00x
SetUnion 3118 3118 +0.0% 1.00x
SetUnion_OfObjects 7159 7179 +0.3% 1.00x (?)
SevenBoom 1514 1516 +0.1% 1.00x (?)
Sim2DArray 599 608 +1.5% 0.99x (?)
SortLargeExistentials 7048 6735 -4.4% 1.05x
SortLettersInPlace 1161 1126 -3.0% 1.03x
SortStringsUnicode 15310 15192 -0.8% 1.01x (?)
StackPromo 22292 22311 +0.1% 1.00x (?)
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1562 1559 -0.2% 1.00x (?)
StrToInt 2186 2147 -1.8% 1.02x
StringAdder 4174 4158 -0.4% 1.00x (?)
StringBuilder 1375 1368 -0.5% 1.01x (?)
StringBuilderLong 1086 1057 -2.7% 1.03x (?)
StringComparison_abnormal 871 877 +0.7% 0.99x (?)
StringComparison_ascii 992 977 -1.5% 1.02x
StringComparison_emoji 2584 2589 +0.2% 1.00x (?)
StringComparison_fastPrenormal 8770 8781 +0.1% 1.00x (?)
StringComparison_latin1 6085 6114 +0.5% 1.00x (?)
StringComparison_longSharedPrefix 11526 11536 +0.1% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 4712 4713 +0.0% 1.00x (?)
StringComparison_slowerPrenormal 4201 4210 +0.2% 1.00x (?)
StringComparison_zalgo 1757 1762 +0.3% 1.00x (?)
StringEdits 115895 117933 +1.8% 0.98x (?)
StringEnumRawValueInitialization 976 952 -2.5% 1.03x (?)
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 10 10 +0.0% 1.00x
StringHasPrefixAscii 1345 1317 -2.1% 1.02x
StringHasPrefixUnicode 27578 27457 -0.4% 1.00x (?)
StringHasSuffixAscii 1460 1460 +0.0% 1.00x
StringHasSuffixUnicode 84463 84558 +0.1% 1.00x (?)
StringInterpolation 10610 10576 -0.3% 1.00x (?)
StringMatch 7395 7201 -2.6% 1.03x
StringRemoveDupes 1205 1206 +0.1% 1.00x (?)
StringUTF16Builder 2324 2322 -0.1% 1.00x (?)
StringWithCString 43183 43180 -0.0% 1.00x (?)
StringWordBuilder 1764 1832 +3.9% 0.96x
StringWordBuilderReservingCapacity 1314 1372 +4.4% 0.96x
SubstringComparable 2040 2029 -0.5% 1.01x (?)
SubstringEqualString 2132 2143 +0.5% 0.99x (?)
SubstringEquatable 3115 3137 +0.7% 0.99x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 69 69 +0.0% 1.00x
SuffixAnyCollection 28 28 +0.0% 1.00x
SuffixAnyCollectionLazy 21721 21573 -0.7% 1.01x (?)
SuffixAnySeqCRangeIter 3798 3796 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 3807 3799 -0.2% 1.00x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 5103 5091 -0.2% 1.00x (?)
SuffixAnySequenceLazy 5178 5207 +0.6% 0.99x (?)
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3720 3733 +0.3% 1.00x (?)
SuffixSequenceLazy 3717 3747 +0.8% 0.99x (?)
SumUsingReduce 97 96 -1.0% 1.01x
SumUsingReduceInto 97 96 -1.0% 1.01x
SuperChars 41235 41600 +0.9% 0.99x (?)
TwoSum 991 1006 +1.5% 0.99x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 316 327 +3.5% 0.97x
Walsh 417 408 -2.2% 1.02x
WordCountHistogramUTF16 51783 51540 -0.5% 1.00x (?)
WordCountUniqueASCII 1742 1831 +5.1% 0.95x
WordCountUniqueUTF16 22806 22072 -3.2% 1.03x (?)
WordSplitASCII 21012 21498 +2.3% 0.98x (?)
WordSplitUTF16 22309 22626 +1.4% 0.99x (?)
XorLoop 388 387 -0.3% 1.00x (?)

Unoptimized (Onone)

Regression (4)
TEST OLD NEW DELTA SPEEDUP
ReversedBidirectional 42501 48197 +13.4% 0.88x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 70358 76945 +9.4% 0.91x (?)
RomanNumbers 1165718 1243384 +6.7% 0.94x
ObjectiveCBridgeFromNSSetAnyObject 60959 64394 +5.6% 0.95x (?)
Improvement (37)
TEST OLD NEW DELTA SPEEDUP
IterateData 7806 5993 -23.2% 1.30x
SortSortedStrings 1323 1020 -22.9% 1.30x
SortStrings 2479 2028 -18.2% 1.22x
RangeAssignment 2690 2272 -15.5% 1.18x
CharIndexing_chinese_unicodeScalars 311066 268406 -13.7% 1.16x
CharIndexing_punctuated_unicodeScalars 89646 78576 -12.3% 1.14x
CharIndexing_tweet_unicodeScalars 802532 705445 -12.1% 1.14x
CharIndexing_korean_unicodeScalars 387944 341937 -11.9% 1.13x (?)
CharIndexing_japanese_unicodeScalars 477893 422710 -11.5% 1.13x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 70194 62621 -10.8% 1.12x (?)
ArrayOfPOD 846 757 -10.5% 1.12x
MapReduceClassShort 45551 41119 -9.7% 1.11x
CharIndexing_ascii_unicodeScalars 402398 364369 -9.5% 1.10x (?)
CStringShortAscii 8165 7474 -8.5% 1.09x
CharIndexing_russian_unicodeScalars 343688 316458 -7.9% 1.09x
MapReduceAnyCollectionShort 39248 36307 -7.5% 1.08x
FrequenciesUsingReduceInto 5614 5208 -7.2% 1.08x
LuhnAlgoLazy 5613 5211 -7.2% 1.08x
MapReduceAnyCollection 27359 25407 -7.1% 1.08x
LuhnAlgoEager 5299 4925 -7.1% 1.08x (?)
PrefixWhileArray 11497 10707 -6.9% 1.07x
MapReduceString 1928 1796 -6.8% 1.07x
MapReduce 27286 25433 -6.8% 1.07x
PrefixWhileCountableRange 11684 10938 -6.4% 1.07x
SumUsingReduceInto 168183 157804 -6.2% 1.07x
MapReduceClass 32214 30257 -6.1% 1.06x
PopFrontUnsafePointer 11251 10588 -5.9% 1.06x (?)
RangeReplaceableCollectionPlusDefault 8393 7910 -5.8% 1.06x (?)
MapReduceShort 38866 36642 -5.7% 1.06x
MapReduceLazySequence 18197 17168 -5.7% 1.06x
MapReduceSequence 30799 29106 -5.5% 1.06x
DictionarySubscriptDefaultMutation 2164 2047 -5.4% 1.06x
ArrayOfGenericPOD2 1192 1129 -5.3% 1.06x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 60666 57565 -5.1% 1.05x (?)
DropWhileCountableRange 4151 3944 -5.0% 1.05x
MapReduceShortString 243 231 -4.9% 1.05x (?)
DictionarySubscriptDefaultMutationArray 2409 2291 -4.9% 1.05x
No Changes (321)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5143 5129 -0.3% 1.00x (?)
AnyHashableWithAClass 85790 86277 +0.6% 0.99x
Array2D 630709 630876 +0.0% 1.00x (?)
ArrayAppend 4558 4563 +0.1% 1.00x (?)
ArrayAppendArrayOfInt 862 864 +0.2% 1.00x (?)
ArrayAppendAscii 40313 40245 -0.2% 1.00x
ArrayAppendFromGeneric 863 868 +0.6% 0.99x (?)
ArrayAppendGenericStructs 1467 1483 +1.1% 0.99x (?)
ArrayAppendLatin1 63408 62979 -0.7% 1.01x
ArrayAppendLazyMap 168955 176957 +4.7% 0.95x (?)
ArrayAppendOptionals 1496 1497 +0.1% 1.00x (?)
ArrayAppendRepeatCol 170591 171090 +0.3% 1.00x
ArrayAppendReserved 4281 4288 +0.2% 1.00x
ArrayAppendSequence 142028 149462 +5.2% 0.95x
ArrayAppendStrings 15415 15420 +0.0% 1.00x (?)
ArrayAppendToFromGeneric 852 864 +1.4% 0.99x (?)
ArrayAppendToGeneric 866 868 +0.2% 1.00x (?)
ArrayAppendUTF16 63207 62533 -1.1% 1.01x
ArrayInClass 6157 6230 +1.2% 0.99x (?)
ArrayLiteral 1781 1780 -0.1% 1.00x (?)
ArrayOfGenericRef 10143 10157 +0.1% 1.00x (?)
ArrayOfRef 9301 9312 +0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 857 861 +0.5% 1.00x (?)
ArrayPlusEqualFiveElementCollection 234103 233760 -0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 231145 230877 -0.1% 1.00x (?)
ArrayPlusEqualThreeElements 9336 9348 +0.1% 1.00x (?)
ArraySubscript 82430 83090 +0.8% 0.99x (?)
ArrayValueProp 3621 3621 +0.0% 1.00x
ArrayValueProp2 16113 16054 -0.4% 1.00x (?)
ArrayValueProp3 4218 4213 -0.1% 1.00x (?)
ArrayValueProp4 4098 4098 +0.0% 1.00x
BinaryFloatingPointConversionFromBinaryInteger 6113 6234 +2.0% 0.98x (?)
BitCount 2098 2098 +0.0% 1.00x
ByteSwap 3916 3911 -0.1% 1.00x (?)
COWTree 11419 11264 -1.4% 1.01x (?)
CSVParsing 2483897 2457527 -1.1% 1.01x (?)
CSVParsingAlt 1308111 1317953 +0.8% 0.99x (?)
CSVParsingAltIndices 2574379 2539675 -1.3% 1.01x (?)
CStringLongAscii 4615 4755 +3.0% 0.97x
CStringLongNonAscii 2178 2137 -1.9% 1.02x
Calculator 1598 1620 +1.4% 0.99x
CaptureProp 255244 248663 -2.6% 1.03x
CharIndexing_ascii_unicodeScalars_Backwards 430478 426098 -1.0% 1.01x (?)
CharIndexing_chinese_unicodeScalars_Backwards 326171 318242 -2.4% 1.02x (?)
CharIndexing_japanese_unicodeScalars_Backwards 523539 548385 +4.7% 0.95x (?)
CharIndexing_korean_unicodeScalars_Backwards 423481 410969 -3.0% 1.03x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 74879 74249 -0.8% 1.01x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 99435 95346 -4.1% 1.04x (?)
CharIndexing_russian_unicodeScalars_Backwards 361527 353639 -2.2% 1.02x (?)
CharIndexing_tweet_unicodeScalars_Backwards 866728 857742 -1.0% 1.01x (?)
CharIndexing_utf16_unicodeScalars 327824 328049 +0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 355395 350103 -1.5% 1.02x (?)
CharIteration_ascii_unicodeScalars 154584 154359 -0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 334043 332591 -0.4% 1.00x (?)
CharIteration_chinese_unicodeScalars 117000 116368 -0.5% 1.01x (?)
CharIteration_chinese_unicodeScalars_Backwards 263592 251962 -4.4% 1.05x (?)
CharIteration_japanese_unicodeScalars 185391 184167 -0.7% 1.01x (?)
CharIteration_japanese_unicodeScalars_Backwards 401444 394233 -1.8% 1.02x (?)
CharIteration_korean_unicodeScalars 149978 149282 -0.5% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 322786 321404 -0.4% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 27727 27579 -0.5% 1.01x (?)
CharIteration_punctuated_unicodeScalars 34736 34621 -0.3% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 73194 75530 +3.2% 0.97x (?)
CharIteration_russian_unicodeScalars 129000 127953 -0.8% 1.01x
CharIteration_russian_unicodeScalars_Backwards 278295 276603 -0.6% 1.01x (?)
CharIteration_tweet_unicodeScalars 305011 303823 -0.4% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 659823 657725 -0.3% 1.00x (?)
CharIteration_utf16_unicodeScalars 130636 130365 -0.2% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 270995 273481 +0.9% 0.99x (?)
CharacterLiteralsLarge 5908 5862 -0.8% 1.01x
CharacterLiteralsSmall 668 638 -4.5% 1.05x
CharacterPropertiesFetch 5390 5588 +3.7% 0.96x
CharacterPropertiesPrecomputed 4254 4247 -0.2% 1.00x (?)
CharacterPropertiesStashed 2275 2288 +0.6% 0.99x (?)
CharacterPropertiesStashedMemo 4884 5019 +2.8% 0.97x (?)
Chars 39612 39456 -0.4% 1.00x (?)
ClassArrayGetter 985 983 -0.2% 1.00x (?)
Combos 2037 2012 -1.2% 1.01x (?)
DictOfArraysToArrayOfDicts 3368 3272 -2.9% 1.03x
Dictionary 2593 2580 -0.5% 1.01x (?)
Dictionary2 2862 2855 -0.2% 1.00x (?)
Dictionary2OfObjects 5788 5525 -4.5% 1.05x (?)
Dictionary3 1270 1265 -0.4% 1.00x (?)
Dictionary3OfObjects 2204 2227 +1.0% 0.99x (?)
Dictionary4 1185 1181 -0.3% 1.00x (?)
Dictionary4OfObjects 1819 1820 +0.1% 1.00x (?)
DictionaryBridge 2146 2114 -1.5% 1.02x (?)
DictionaryGroup 4219 4115 -2.5% 1.03x
DictionaryGroupOfObjects 7450 7528 +1.0% 0.99x (?)
DictionaryLiteral 8609 8859 +2.9% 0.97x (?)
DictionaryOfObjects 6217 6422 +3.3% 0.97x (?)
DictionaryRemove 18326 18412 +0.5% 1.00x
DictionaryRemoveOfObjects 50809 53218 +4.7% 0.95x
DictionarySubscriptDefaultMutationArrayOfObjects 9170 9016 -1.7% 1.02x (?)
DictionarySubscriptDefaultMutationOfObjects 5724 5984 +4.5% 0.96x (?)
DictionarySwap 5263 5288 +0.5% 1.00x
DictionarySwapOfObjects 22273 22578 +1.4% 0.99x (?)
DoubleWidthDivision 0 0 +0.0% 1.00x
DropFirstAnyCollection 13599 13524 -0.6% 1.01x (?)
DropFirstAnyCollectionLazy 97880 102225 +4.4% 0.96x (?)
DropFirstAnySeqCRangeIter 20289 20229 -0.3% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 20329 20243 -0.4% 1.00x
DropFirstAnySeqCntRange 13658 13536 -0.9% 1.01x
DropFirstAnySeqCntRangeLazy 13610 13516 -0.7% 1.01x (?)
DropFirstAnySequence 10819 10798 -0.2% 1.00x (?)
DropFirstAnySequenceLazy 10808 10763 -0.4% 1.00x
DropFirstArray 3715 3816 +2.7% 0.97x
DropFirstArrayLazy 25058 25293 +0.9% 0.99x
DropFirstCountableRange 324 326 +0.6% 0.99x
DropFirstCountableRangeLazy 26564 25498 -4.0% 1.04x
DropFirstSequence 10442 10393 -0.5% 1.00x (?)
DropFirstSequenceLazy 10406 10408 +0.0% 1.00x (?)
DropLastAnyCollection 4550 4514 -0.8% 1.01x
DropLastAnyCollectionLazy 33421 33922 +1.5% 0.99x (?)
DropLastAnySeqCRangeIter 37757 37649 -0.3% 1.00x (?)
DropLastAnySeqCRangeIterLazy 37198 37181 -0.0% 1.00x (?)
DropLastAnySeqCntRange 4546 4513 -0.7% 1.01x (?)
DropLastAnySeqCntRangeLazy 4521 4515 -0.1% 1.00x (?)
DropLastAnySequence 28713 28851 +0.5% 1.00x (?)
DropLastAnySequenceLazy 28809 28896 +0.3% 1.00x (?)
DropLastCountableRange 112 111 -0.9% 1.01x (?)
DropLastCountableRangeLazy 8857 8525 -3.7% 1.04x (?)
DropLastSequence 28669 28823 +0.5% 0.99x
DropLastSequenceLazy 28685 28768 +0.3% 1.00x (?)
DropWhileAnyCollection 17336 17142 -1.1% 1.01x
DropWhileAnyCollectionLazy 19349 19276 -0.4% 1.00x (?)
DropWhileAnySeqCRangeIter 22043 21777 -1.2% 1.01x
DropWhileAnySeqCRangeIterLazy 19114 19079 -0.2% 1.00x
DropWhileAnySeqCntRange 17364 17189 -1.0% 1.01x (?)
DropWhileAnySeqCntRangeLazy 19378 19379 +0.0% 1.00x (?)
DropWhileAnySequence 12424 12014 -3.3% 1.03x
DropWhileAnySequenceLazy 10131 10111 -0.2% 1.00x (?)
DropWhileArrayLazy 13659 13616 -0.3% 1.00x (?)
DropWhileCountableRangeLazy 18299 18236 -0.3% 1.00x (?)
DropWhileSequence 12024 11757 -2.2% 1.02x (?)
DropWhileSequenceLazy 9749 9622 -1.3% 1.01x
EqualStringSubstring 474 474 +0.0% 1.00x
EqualSubstringString 475 474 -0.2% 1.00x
EqualSubstringSubstring 476 475 -0.2% 1.00x
EqualSubstringSubstringGenericEquatable 482 483 +0.2% 1.00x (?)
ErrorHandling 6838 6777 -0.9% 1.01x (?)
ExclusivityGlobal 177 183 +3.4% 0.97x
ExclusivityIndependent 67 67 +0.0% 1.00x
FilterEvenUsingReduce 3764 3610 -4.1% 1.04x (?)
FilterEvenUsingReduceInto 1982 1901 -4.1% 1.04x
FrequenciesUsingReduce 10530 10327 -1.9% 1.02x (?)
Hanoi 19920 20025 +0.5% 0.99x
HashTest 17090 16665 -2.5% 1.03x (?)
Histogram 6510 6578 +1.0% 0.99x (?)
Integrate 814 824 +1.2% 0.99x (?)
Join 1110 1099 -1.0% 1.01x
LazilyFilteredArrayContains 774738 769828 -0.6% 1.01x
LazilyFilteredArrays 1468837 1449546 -1.3% 1.01x (?)
LazilyFilteredRange 464836 461493 -0.7% 1.01x (?)
LessSubstringSubstring 475 476 +0.2% 1.00x
LessSubstringSubstringGenericComparable 481 482 +0.2% 1.00x (?)
LinkedList 32160 32110 -0.2% 1.00x
MapReduceLazyCollection 23106 22243 -3.7% 1.04x
MapReduceLazyCollectionShort 34114 33045 -3.1% 1.03x (?)
Memset 44693 44743 +0.1% 1.00x (?)
MonteCarloE 892718 895406 +0.3% 1.00x (?)
MonteCarloPi 3896011 3908583 +0.3% 1.00x (?)
NSDictionaryCastToSwift 6831 7046 +3.1% 0.97x (?)
NSError 743 708 -4.7% 1.05x (?)
NSStringConversion 349 340 -2.6% 1.03x (?)
NibbleSort 299961 299335 -0.2% 1.00x (?)
NopDeinit 162266 163725 +0.9% 0.99x
ObjectAllocation 1360 1363 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 23483 22847 -2.7% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8451 8227 -2.7% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 40670 40493 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 34555 35246 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 124568 125396 +0.7% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 6532 6337 -3.0% 1.03x (?)
ObjectiveCBridgeFromNSString 3124 3231 +3.4% 0.97x (?)
ObjectiveCBridgeFromNSStringForced 2649 2661 +0.5% 1.00x (?)
ObjectiveCBridgeStubDataAppend 4552 4465 -1.9% 1.02x (?)
ObjectiveCBridgeStubDateMutation 603 631 +4.6% 0.96x
ObjectiveCBridgeStubFromArrayOfNSString 26886 26756 -0.5% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 4592 4594 +0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSString 902 910 +0.9% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 199 199 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2965 2961 -0.1% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 16350 16407 +0.3% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 28463 28616 +0.5% 0.99x (?)
ObjectiveCBridgeStubToNSDate 15596 15614 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3466 3460 -0.2% 1.00x (?)
ObjectiveCBridgeStubToNSString 1587 1574 -0.8% 1.01x (?)
ObjectiveCBridgeStubToNSStringRef 159 158 -0.6% 1.01x
ObjectiveCBridgeStubURLAppendPath 332936 331597 -0.4% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 343318 345951 +0.8% 0.99x (?)
ObjectiveCBridgeToNSArray 29189 29139 -0.2% 1.00x (?)
ObjectiveCBridgeToNSDictionary 54878 56220 +2.4% 0.98x (?)
ObjectiveCBridgeToNSSet 46366 46143 -0.5% 1.00x (?)
ObjectiveCBridgeToNSString 1346 1345 -0.1% 1.00x (?)
ObserverClosure 6300 6297 -0.0% 1.00x (?)
ObserverForwarderStruct 4445 4422 -0.5% 1.01x (?)
ObserverPartiallyAppliedMethod 7854 7853 -0.0% 1.00x (?)
ObserverUnappliedMethod 7999 7979 -0.3% 1.00x (?)
OpenClose 508 534 +5.1% 0.95x
PartialApplyDynamicType 41084 40928 -0.4% 1.00x (?)
Phonebook 20502 20844 +1.7% 0.98x
PointerArithmetics 117377 117958 +0.5% 1.00x
PolymorphicCalls 6181 6312 +2.1% 0.98x (?)
PopFrontArray 4583 4631 +1.0% 0.99x (?)
PopFrontArrayGeneric 5772 5736 -0.6% 1.01x (?)
PrefixAnyCollection 13582 13519 -0.5% 1.00x
PrefixAnyCollectionLazy 99885 97688 -2.2% 1.02x (?)
PrefixAnySeqCRangeIter 16383 16237 -0.9% 1.01x
PrefixAnySeqCRangeIterLazy 16338 16185 -0.9% 1.01x
PrefixAnySeqCntRange 13558 13496 -0.5% 1.00x (?)
PrefixAnySeqCntRangeLazy 13572 13679 +0.8% 0.99x (?)
PrefixAnySequence 9046 9010 -0.4% 1.00x (?)
PrefixAnySequenceLazy 9001 8916 -0.9% 1.01x
PrefixArray 3718 3830 +3.0% 0.97x
PrefixArrayLazy 25072 25372 +1.2% 0.99x
PrefixCountableRange 324 325 +0.3% 1.00x
PrefixCountableRangeLazy 26508 25506 -3.8% 1.04x
PrefixSequence 8726 8679 -0.5% 1.01x
PrefixSequenceLazy 8753 8658 -1.1% 1.01x
PrefixWhileAnyCollection 24985 24612 -1.5% 1.02x
PrefixWhileAnyCollectionLazy 15659 15766 +0.7% 0.99x (?)
PrefixWhileAnySeqCRangeIter 32894 32662 -0.7% 1.01x (?)
PrefixWhileAnySeqCRangeIterLazy 15910 16075 +1.0% 0.99x
PrefixWhileAnySeqCntRange 25083 24461 -2.5% 1.03x (?)
PrefixWhileAnySeqCntRangeLazy 15847 15965 +0.7% 0.99x
PrefixWhileAnySequence 26547 25844 -2.6% 1.03x
PrefixWhileAnySequenceLazy 9115 9025 -1.0% 1.01x
PrefixWhileArrayLazy 11943 11877 -0.6% 1.01x (?)
PrefixWhileCountableRangeLazy 15333 15499 +1.1% 0.99x (?)
PrefixWhileSequence 26250 25496 -2.9% 1.03x
PrefixWhileSequenceLazy 8920 8841 -0.9% 1.01x
Prims 9801 9603 -2.0% 1.02x (?)
PrimsSplit 9722 9717 -0.1% 1.00x (?)
QueueConcrete 15153 14956 -1.3% 1.01x (?)
QueueGeneric 19082 18914 -0.9% 1.01x (?)
RC4 16561 16941 +2.3% 0.98x
RGBHistogram 26899 25704 -4.4% 1.05x
RGBHistogramOfObjects 96435 95787 -0.7% 1.01x (?)
RangeIterationSigned 16819 16822 +0.0% 1.00x (?)
RangeIterationSigned64 38839 38853 +0.0% 1.00x (?)
RangeIterationUnsigned 35654 34505 -3.2% 1.03x
RecursiveOwnedParameter 7796 7863 +0.9% 0.99x (?)
ReversedArray 13800 13833 +0.2% 1.00x
ReversedDictionary 22776 23177 +1.8% 0.98x
SetExclusiveOr 17328 17349 +0.1% 1.00x (?)
SetExclusiveOr_OfObjects 42191 42237 +0.1% 1.00x (?)
SetIntersect 8160 8371 +2.6% 0.97x
SetIntersect_OfObjects 12252 12292 +0.3% 1.00x (?)
SetIsSubsetOf 1347 1345 -0.1% 1.00x
SetIsSubsetOf_OfObjects 1569 1562 -0.4% 1.00x
SetUnion 11955 11923 -0.3% 1.00x (?)
SetUnion_OfObjects 29539 29330 -0.7% 1.01x (?)
SevenBoom 1670 1666 -0.2% 1.00x (?)
Sim2DArray 43736 43773 +0.1% 1.00x (?)
SortLargeExistentials 15692 15487 -1.3% 1.01x
SortLettersInPlace 2775 2698 -2.8% 1.03x (?)
SortStringsUnicode 16134 15504 -3.9% 1.04x
StackPromo 89751 93237 +3.9% 0.96x (?)
StaticArray 2645 2596 -1.9% 1.02x (?)
StrComplexWalk 6657 6661 +0.1% 1.00x (?)
StrToInt 57276 57765 +0.9% 0.99x (?)
StringAdder 4733 4738 +0.1% 1.00x (?)
StringBuilder 6743 6991 +3.7% 0.96x (?)
StringBuilderLong 2719 2686 -1.2% 1.01x (?)
StringComparison_abnormal 1409 1415 +0.4% 1.00x (?)
StringComparison_ascii 9617 9455 -1.7% 1.02x (?)
StringComparison_emoji 3782 3789 +0.2% 1.00x (?)
StringComparison_fastPrenormal 13150 13151 +0.0% 1.00x (?)
StringComparison_latin1 9435 9468 +0.3% 1.00x
StringComparison_longSharedPrefix 13040 13038 -0.0% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 6847 6859 +0.2% 1.00x (?)
StringComparison_slowerPrenormal 6738 6749 +0.2% 1.00x (?)
StringComparison_zalgo 2813 2821 +0.3% 1.00x (?)
StringEdits 331487 329959 -0.5% 1.00x (?)
StringEnumRawValueInitialization 19819 19797 -0.1% 1.00x (?)
StringEqualPointerComparison 3339 3350 +0.3% 1.00x (?)
StringFromLongWholeSubstring 23 23 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 196 197 +0.5% 0.99x (?)
StringHasPrefixAscii 3088 3082 -0.2% 1.00x (?)
StringHasPrefixUnicode 29192 29470 +1.0% 0.99x
StringHasSuffixAscii 3121 3133 +0.4% 1.00x
StringHasSuffixUnicode 86299 86423 +0.1% 1.00x (?)
StringInterpolation 13936 13593 -2.5% 1.03x (?)
StringMatch 33271 33184 -0.3% 1.00x (?)
StringRemoveDupes 1401 1365 -2.6% 1.03x (?)
StringUTF16Builder 7634 7577 -0.7% 1.01x (?)
StringWalk 12775 12805 +0.2% 1.00x
StringWithCString 37593 39455 +5.0% 0.95x
StringWordBuilder 2522 2539 +0.7% 0.99x
StringWordBuilderReservingCapacity 2173 2178 +0.2% 1.00x (?)
SubstringComparable 4125 4133 +0.2% 1.00x (?)
SubstringEqualString 3430 3488 +1.7% 0.98x (?)
SubstringEquatable 7922 7854 -0.9% 1.01x (?)
SubstringFromLongString 24 24 +0.0% 1.00x
SubstringFromLongStringGeneric 102 103 +1.0% 0.99x
SuffixAnyCollection 4566 4513 -1.2% 1.01x
SuffixAnyCollectionLazy 33067 33293 +0.7% 0.99x (?)
SuffixAnySeqCRangeIter 33829 33706 -0.4% 1.00x (?)
SuffixAnySeqCRangeIterLazy 33466 33303 -0.5% 1.00x (?)
SuffixAnySeqCntRange 4548 4520 -0.6% 1.01x
SuffixAnySeqCntRangeLazy 4564 4512 -1.1% 1.01x (?)
SuffixAnySequence 25027 24929 -0.4% 1.00x (?)
SuffixAnySequenceLazy 25024 24981 -0.2% 1.00x (?)
SuffixCountableRange 111 111 +0.0% 1.00x
SuffixCountableRangeLazy 8853 8521 -3.8% 1.04x
SuffixSequence 24987 24901 -0.3% 1.00x (?)
SuffixSequenceLazy 24890 24796 -0.4% 1.00x
SumUsingReduce 171731 163961 -4.5% 1.05x
SuperChars 214024 212412 -0.8% 1.01x (?)
TwoSum 3923 3892 -0.8% 1.01x (?)
TypeFlood 160 168 +5.0% 0.95x (?)
UTF8Decode 31144 30237 -2.9% 1.03x
Walsh 12075 12000 -0.6% 1.01x (?)
WordCountHistogramASCII 48424 47578 -1.7% 1.02x (?)
WordCountHistogramUTF16 103578 101562 -1.9% 1.02x (?)
WordCountUniqueASCII 8341 8353 +0.1% 1.00x (?)
WordCountUniqueUTF16 34701 33321 -4.0% 1.04x (?)
WordSplitASCII 25199 25616 +1.7% 0.98x (?)
WordSplitUTF16 27047 26052 -3.7% 1.04x (?)
XorLoop 23374 23368 -0.0% 1.00x (?)
Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@aschwaighofer aschwaighofer merged commit a9fa8c9 into swiftlang:master Feb 14, 2018
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