Skip to content

[stdlib]Add benchmark for strings with long shared prefixes #13371

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 13, 2017
Merged

[stdlib]Add benchmark for strings with long shared prefixes #13371

merged 2 commits into from
Dec 13, 2017

Conversation

lancep
Copy link
Contributor

@lancep lancep commented Dec 11, 2017

As per Michael's suggestion in #13217, this is a benchmark that exercises the path for long, shared prefixes

@lancep
Copy link
Contributor Author

lancep commented Dec 11, 2017

@swift-ci please benchmark

@swiftlang swiftlang deleted a comment from swift-ci Dec 12, 2017
@lancep
Copy link
Contributor Author

lancep commented Dec 12, 2017

@swift-ci please benchmark

1 similar comment
@lancep
Copy link
Contributor Author

lancep commented Dec 12, 2017

@swift-ci please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (12)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 409 596 +45.7% 0.69x
PrefixWhileCountableRange 46 53 +15.2% 0.87x
NSError 283 311 +9.9% 0.91x (?)
DropLastCountableRangeLazy 11 12 +9.1% 0.92x
DropLastCountableRange 11 12 +9.1% 0.92x
DropLastSequenceLazy 694 748 +7.8% 0.93x
DropLastSequence 693 746 +7.6% 0.93x
NopDeinit 21573 23196 +7.5% 0.93x
ClassArrayGetter 14 15 +7.1% 0.93x
SuffixAnySeqCRangeIterLazy 4718 4994 +5.8% 0.94x (?)
ObjectiveCBridgeStubNSDateMutationRef 12352 13033 +5.5% 0.95x (?)
ArrayAppendAscii 21827 22976 +5.3% 0.95x (?)
Improvement (5)
TEST OLD NEW DELTA SPEEDUP
PrefixWhileArray 105 88 -16.2% 1.19x
ExclusivityInMatSet 20 17 -15.0% 1.18x
RangeIterationSigned 200 171 -14.5% 1.17x
SuffixCountableRangeLazy 12 11 -8.3% 1.09x
MapReduceLazyCollectionShort 37 34 -8.1% 1.09x
No Changes (316)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2893 2899 +0.2% 1.00x (?)
AnyHashableWithAClass 70114 70689 +0.8% 0.99x (?)
Array2D 2518 2518 +0.0% 1.00x
ArrayAppend 976 976 +0.0% 1.00x
ArrayAppendArrayOfInt 742 730 -1.6% 1.02x (?)
ArrayAppendFromGeneric 739 737 -0.3% 1.00x (?)
ArrayAppendGenericStructs 1357 1357 +0.0% 1.00x
ArrayAppendLatin1 42221 42636 +1.0% 0.99x
ArrayAppendLazyMap 1279 1278 -0.1% 1.00x (?)
ArrayAppendOptionals 1357 1356 -0.1% 1.00x (?)
ArrayAppendRepeatCol 1283 1281 -0.2% 1.00x (?)
ArrayAppendReserved 723 723 +0.0% 1.00x
ArrayAppendSequence 1080 1072 -0.7% 1.01x (?)
ArrayAppendStrings 15014 15006 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 742 729 -1.8% 1.02x (?)
ArrayAppendToGeneric 728 743 +2.1% 0.98x (?)
ArrayAppendUTF16 42670 43757 +2.5% 0.98x
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 221 218 -1.4% 1.01x (?)
ArrayOfGenericRef 4202 4201 -0.0% 1.00x (?)
ArrayOfPOD 177 178 +0.6% 0.99x (?)
ArrayOfRef 4189 4189 +0.0% 1.00x
ArrayPlusEqualArrayOfInt 742 742 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 5566 5547 -0.3% 1.00x (?)
ArrayPlusEqualSingleElementCollection 970 977 +0.7% 0.99x (?)
ArrayPlusEqualThreeElements 1561 1569 +0.5% 0.99x (?)
ArraySetElement 515 515 +0.0% 1.00x
ArraySubscript 1487 1485 -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
BitCount 211 211 +0.0% 1.00x
ByteSwap 101 102 +1.0% 0.99x (?)
CStringLongAscii 5734 5732 -0.0% 1.00x (?)
CStringLongNonAscii 2440 2437 -0.1% 1.00x (?)
CStringShortAscii 4766 4756 -0.2% 1.00x (?)
Calculator 41 41 +0.0% 1.00x
CaptureProp 7729 7728 -0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars 20092 20096 +0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 18200 18196 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 15206 15208 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 13774 13775 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars 24065 24071 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 21792 21794 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars 19477 19489 +0.1% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 17643 17642 -0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 3593 3598 +0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 3269 3271 +0.1% 1.00x
CharIndexing_punctuated_unicodeScalars 4510 4513 +0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 4100 4103 +0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars 16729 16734 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 15156 15157 +0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 39602 39645 +0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 35519 35562 +0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars 68938 68871 -0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 65770 65966 +0.3% 1.00x
CharIteration_ascii_unicodeScalars 22568 22578 +0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 23048 23225 +0.8% 0.99x
CharIteration_chinese_unicodeScalars 17068 17080 +0.1% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 17430 17566 +0.8% 0.99x
CharIteration_japanese_unicodeScalars 27042 27134 +0.3% 1.00x
CharIteration_japanese_unicodeScalars_Backwards 27613 27816 +0.7% 0.99x
CharIteration_korean_unicodeScalars 21894 21908 +0.1% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 22343 22531 +0.8% 0.99x
CharIteration_punctuatedJapanese_unicodeScalars 4007 4014 +0.2% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 4089 4116 +0.7% 0.99x
CharIteration_punctuated_unicodeScalars 5046 5045 -0.0% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 5144 5175 +0.6% 0.99x
CharIteration_russian_unicodeScalars 18784 18791 +0.0% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 19187 19330 +0.7% 0.99x
CharIteration_tweet_unicodeScalars 44598 44613 +0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 45712 46197 +1.1% 0.99x
CharIteration_utf16_unicodeScalars 96941 96887 -0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 95858 95839 -0.0% 1.00x (?)
CharacterLiteralsLarge 5709 5723 +0.2% 1.00x (?)
CharacterLiteralsSmall 508 508 +0.0% 1.00x
Chars 1093 1093 +0.0% 1.00x
Dictionary 654 651 -0.5% 1.00x (?)
Dictionary2 1862 1862 +0.0% 1.00x
Dictionary2OfObjects 3202 3212 +0.3% 1.00x (?)
Dictionary3 550 549 -0.2% 1.00x (?)
Dictionary3OfObjects 877 879 +0.2% 1.00x (?)
DictionaryBridge 3733 3703 -0.8% 1.01x (?)
DictionaryGroup 269 270 +0.4% 1.00x (?)
DictionaryGroupOfObjects 1945 1942 -0.2% 1.00x (?)
DictionaryLiteral 1480 1473 -0.5% 1.00x (?)
DictionaryOfObjects 2268 2278 +0.4% 1.00x (?)
DictionaryRemove 2901 2950 +1.7% 0.98x (?)
DictionaryRemoveOfObjects 22357 22338 -0.1% 1.00x (?)
DictionarySubscriptDefaultMutation 157 157 +0.0% 1.00x
DictionarySubscriptDefaultMutationArray 495 495 +0.0% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 3589 3593 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1285 1283 -0.2% 1.00x (?)
DictionarySwap 517 517 +0.0% 1.00x
DictionarySwapOfObjects 7171 7126 -0.6% 1.01x (?)
DropFirstAnyCollection 34 34 +0.0% 1.00x
DropFirstAnyCollectionLazy 67041 67541 +0.7% 0.99x (?)
DropFirstAnySeqCRangeIter 20878 20883 +0.0% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 20878 20888 +0.0% 1.00x (?)
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 4729 4722 -0.1% 1.00x (?)
DropFirstAnySequenceLazy 4731 4727 -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 2620 2620 +0.0% 1.00x
DropFirstSequenceLazy 2721 2713 -0.3% 1.00x
DropLastAnyCollection 19 19 +0.0% 1.00x
DropLastAnyCollectionLazy 22558 22548 -0.0% 1.00x (?)
DropLastAnySeqCRangeIter 4272 4272 +0.0% 1.00x
DropLastAnySeqCRangeIterLazy 4322 4272 -1.2% 1.01x (?)
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 5922 5884 -0.6% 1.01x (?)
DropLastAnySequenceLazy 6093 5947 -2.4% 1.02x
DropWhileAnyCollection 99 99 +0.0% 1.00x
DropWhileAnyCollectionLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCRangeIter 16761 16765 +0.0% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 147 147 +0.0% 1.00x
DropWhileAnySequence 5242 5243 +0.0% 1.00x (?)
DropWhileAnySequenceLazy 1831 1830 -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 1322 1322 +0.0% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 399 400 +0.3% 1.00x (?)
EqualSubstringString 399 399 +0.0% 1.00x
EqualSubstringSubstring 402 401 -0.2% 1.00x (?)
EqualSubstringSubstringGenericEquatable 402 401 -0.2% 1.00x (?)
ErrorHandling 1987 1973 -0.7% 1.01x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1281 1299 +1.4% 0.99x (?)
FilterEvenUsingReduceInto 144 145 +0.7% 0.99x (?)
FrequenciesUsingReduce 6583 6564 -0.3% 1.00x (?)
FrequenciesUsingReduceInto 2969 2986 +0.6% 0.99x (?)
Hanoi 3819 3745 -1.9% 1.02x
HashTest 1696 1691 -0.3% 1.00x (?)
Histogram 365 362 -0.8% 1.01x
Integrate 217 219 +0.9% 0.99x
IterateData 1279 1277 -0.2% 1.00x (?)
Join 368 375 +1.9% 0.98x (?)
LazilyFilteredArrayContains 31469 30685 -2.5% 1.03x
LazilyFilteredArrays 65143 63758 -2.1% 1.02x (?)
LazilyFilteredRange 3980 3809 -4.3% 1.04x
LessSubstringSubstring 402 402 +0.0% 1.00x
LessSubstringSubstringGenericComparable 402 402 +0.0% 1.00x
LinkedList 7146 7147 +0.0% 1.00x (?)
MapReduce 455 455 +0.0% 1.00x
MapReduceAnyCollection 455 457 +0.4% 1.00x (?)
MapReduceAnyCollectionShort 2016 2001 -0.7% 1.01x (?)
MapReduceClass 2991 2990 -0.0% 1.00x (?)
MapReduceClassShort 4463 4452 -0.2% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 435 441 +1.4% 0.99x (?)
MapReduceShort 1971 1965 -0.3% 1.00x (?)
MapReduceShortString 22 22 +0.0% 1.00x
MapReduceString 105 106 +1.0% 0.99x (?)
Memset 213 213 +0.0% 1.00x
MonteCarloE 10305 10342 +0.4% 1.00x
MonteCarloPi 43060 42904 -0.4% 1.00x
NSDictionaryCastToSwift 5116 5105 -0.2% 1.00x (?)
NSStringConversion 397 397 +0.0% 1.00x
ObjectAllocation 173 172 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 21330 20671 -3.1% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3733 3707 -0.7% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 37077 36369 -1.9% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 32809 31748 -3.2% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 126428 127579 +0.9% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObject 64221 62794 -2.2% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4479 4527 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 70057 69903 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSString 1037 1005 -3.1% 1.03x (?)
ObjectiveCBridgeFromNSStringForced 2144 2144 +0.0% 1.00x
ObjectiveCBridgeStubDataAppend 3942 3977 +0.9% 0.99x (?)
ObjectiveCBridgeStubDateMutation 256 256 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 25788 26175 +1.5% 0.99x (?)
ObjectiveCBridgeStubFromNSDate 4189 4188 -0.0% 1.00x (?)
ObjectiveCBridgeStubFromNSString 623 627 +0.6% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 175 175 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2622 2579 -1.6% 1.02x (?)
ObjectiveCBridgeStubToArrayOfNSString 28296 27965 -1.2% 1.01x (?)
ObjectiveCBridgeStubToNSDate 14614 14364 -1.7% 1.02x (?)
ObjectiveCBridgeStubToNSDateRef 3308 3259 -1.5% 1.02x (?)
ObjectiveCBridgeStubToNSString 1416 1414 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 129 126 -2.3% 1.02x (?)
ObjectiveCBridgeStubURLAppendPath 335212 328847 -1.9% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 333139 331461 -0.5% 1.01x (?)
ObjectiveCBridgeToNSArray 28410 28228 -0.6% 1.01x (?)
ObjectiveCBridgeToNSDictionary 56621 55699 -1.6% 1.02x (?)
ObjectiveCBridgeToNSSet 46991 47060 +0.1% 1.00x (?)
ObjectiveCBridgeToNSString 1192 1189 -0.3% 1.00x (?)
ObserverClosure 1993 1984 -0.5% 1.00x (?)
ObserverForwarderStruct 864 865 +0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 3445 3452 +0.2% 1.00x (?)
ObserverUnappliedMethod 2137 2219 +3.8% 0.96x (?)
OpenClose 5 5 +0.0% 1.00x
Phonebook 6371 6427 +0.9% 0.99x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1863 1869 +0.3% 1.00x (?)
PopFrontArrayGeneric 1870 1863 -0.4% 1.00x (?)
PopFrontUnsafePointer 8860 8847 -0.1% 1.00x (?)
PrefixAnyCollection 34 34 +0.0% 1.00x
PrefixAnyCollectionLazy 68015 67998 -0.0% 1.00x (?)
PrefixAnySeqCRangeIter 16087 16091 +0.0% 1.00x (?)
PrefixAnySeqCRangeIterLazy 16085 16090 +0.0% 1.00x (?)
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 4359 4347 -0.3% 1.00x (?)
PrefixAnySequenceLazy 4344 4344 +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 1306 1306 +0.0% 1.00x
PrefixSequenceLazy 1377 1377 +0.0% 1.00x
PrefixWhileAnyCollection 146 146 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 12802 12803 +0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCntRange 141 141 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 106 106 +0.0% 1.00x
PrefixWhileAnySequence 12744 12797 +0.4% 1.00x (?)
PrefixWhileAnySequenceLazy 1373 1373 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 388 389 +0.3% 1.00x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 764 767 +0.4% 1.00x (?)
PrimsSplit 756 754 -0.3% 1.00x (?)
RC4 165 164 -0.6% 1.01x
RGBHistogram 2811 2786 -0.9% 1.01x (?)
RGBHistogramOfObjects 22799 22778 -0.1% 1.00x (?)
RangeAssignment 377 378 +0.3% 1.00x (?)
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RecursiveOwnedParameter 2271 2296 +1.1% 0.99x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 27493 27508 +0.1% 1.00x (?)
ReversedDictionary 122 122 +0.0% 1.00x
SetExclusiveOr 3297 3359 +1.9% 0.98x (?)
SetExclusiveOr_OfObjects 8363 8381 +0.2% 1.00x (?)
SetIntersect 319 318 -0.3% 1.00x (?)
SetIntersect_OfObjects 1723 1722 -0.1% 1.00x (?)
SetIsSubsetOf 291 291 +0.0% 1.00x
SetIsSubsetOf_OfObjects 349 349 +0.0% 1.00x
SetUnion 2992 3009 +0.6% 0.99x (?)
SetUnion_OfObjects 7006 7001 -0.1% 1.00x (?)
SevenBoom 1521 1571 +3.3% 0.97x (?)
SortLargeExistentials 7654 7758 +1.4% 0.99x (?)
SortLettersInPlace 1096 1099 +0.3% 1.00x
SortSortedStrings 1064 1059 -0.5% 1.00x
SortStrings 1899 1895 -0.2% 1.00x (?)
SortStringsUnicode 8886 8931 +0.5% 0.99x (?)
StackPromo 21789 21780 -0.0% 1.00x (?)
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1986 1986 +0.0% 1.00x
StrToInt 2023 2042 +0.9% 0.99x (?)
StringAdder 3341 3386 +1.3% 0.99x (?)
StringBuilder 980 974 -0.6% 1.01x (?)
StringBuilderLong 950 943 -0.7% 1.01x (?)
StringComparison_abnormal 693 704 +1.6% 0.98x (?)
StringComparison_ascii 122 120 -1.6% 1.02x
StringComparison_emoji 2050 2043 -0.3% 1.00x (?)
StringComparison_fastPrenormal 6935 6942 +0.1% 1.00x (?)
StringComparison_latin1 4735 4747 +0.3% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3707 3700 -0.2% 1.00x (?)
StringComparison_slowerPrenormal 3162 3153 -0.3% 1.00x (?)
StringComparison_zalgo 1298 1294 -0.3% 1.00x (?)
StringEdits 168816 169744 +0.5% 0.99x (?)
StringEnumRawValueInitialization 1111 1107 -0.4% 1.00x (?)
StringEqualPointerComparison 414 414 +0.0% 1.00x
StringFromLongWholeSubstring 170 171 +0.6% 0.99x (?)
StringFromLongWholeSubstringGeneric 72 72 +0.0% 1.00x
StringHasPrefixAscii 1259 1259 +0.0% 1.00x
StringHasPrefixUnicode 18800 18685 -0.6% 1.01x (?)
StringHasSuffixAscii 1402 1402 +0.0% 1.00x
StringHasSuffixUnicode 76039 76240 +0.3% 1.00x (?)
StringInterpolation 10879 10784 -0.9% 1.01x (?)
StringMatch 8677 8716 +0.4% 1.00x (?)
StringUTF16Builder 1833 1822 -0.6% 1.01x (?)
StringWalk 1541 1540 -0.1% 1.00x (?)
StringWithCString 72660 72646 -0.0% 1.00x (?)
SubstringComparable 1678 1673 -0.3% 1.00x (?)
SubstringEqualString 1476 1476 +0.0% 1.00x
SubstringEquatable 3600 3599 -0.0% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 72 72 +0.0% 1.00x
SuffixAnyCollection 27 27 +0.0% 1.00x
SuffixAnyCollectionLazy 22845 22756 -0.4% 1.00x (?)
SuffixAnySeqCRangeIter 4749 4990 +5.1% 0.95x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 6333 6065 -4.2% 1.04x (?)
SuffixAnySequenceLazy 6196 6377 +2.9% 0.97x (?)
SuffixArray 17 17 +0.0% 1.00x
SuffixArrayLazy 11 11 +0.0% 1.00x
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixSequence 4935 4788 -3.0% 1.03x (?)
SuffixSequenceLazy 4950 4874 -1.5% 1.02x (?)
SumUsingReduce 97 101 +4.1% 0.96x
SumUsingReduceInto 97 101 +4.1% 0.96x
SuperChars 85196 84836 -0.4% 1.00x (?)
TwoSum 1028 1040 +1.2% 0.99x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 314 314 +0.0% 1.00x
Walsh 434 434 +0.0% 1.00x
XorLoop 378 383 +1.3% 0.99x (?)
Added (1)
TEST MIN MAX MEAN MAX_RSS
StringComparison_longSharedPrefix 5422 5452 5428 4437197

Unoptimized (Onone)

Regression (4)
TEST OLD NEW DELTA SPEEDUP
ArrayPlusEqualFiveElementCollection 237451 256363 +8.0% 0.93x (?)
LessSubstringSubstring 762 821 +7.7% 0.93x
EqualStringSubstring 665 707 +6.3% 0.94x
ObjectiveCBridgeFromNSArrayAnyObjectForced 8059 8543 +6.0% 0.94x (?)
Improvement (8)
TEST OLD NEW DELTA SPEEDUP
CStringShortAscii 9102 8330 -8.5% 1.09x (?)
CharIndexing_ascii_unicodeScalars_Backwards 520439 483373 -7.1% 1.08x (?)
CharIndexing_tweet_unicodeScalars_Backwards 1001082 931414 -7.0% 1.07x
ArrayOfRef 9841 9181 -6.7% 1.07x (?)
StringComparison_abnormal 1487 1391 -6.5% 1.07x
ObjectiveCBridgeFromNSSetAnyObjectForced 7232 6768 -6.4% 1.07x (?)
ArrayOfGenericRef 10637 10001 -6.0% 1.06x (?)
ArrayValueProp2 19696 18628 -5.4% 1.06x (?)
No Changes (321)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4884 4811 -1.5% 1.02x (?)
AnyHashableWithAClass 88151 88137 -0.0% 1.00x (?)
Array2D 630260 630884 +0.1% 1.00x (?)
ArrayAppend 4747 4747 +0.0% 1.00x
ArrayAppendArrayOfInt 794 792 -0.3% 1.00x (?)
ArrayAppendAscii 44420 44323 -0.2% 1.00x (?)
ArrayAppendFromGeneric 794 794 +0.0% 1.00x
ArrayAppendGenericStructs 1411 1405 -0.4% 1.00x (?)
ArrayAppendLatin1 66504 66722 +0.3% 1.00x
ArrayAppendLazyMap 209689 209718 +0.0% 1.00x (?)
ArrayAppendOptionals 1405 1409 +0.3% 1.00x (?)
ArrayAppendRepeatCol 184501 184457 -0.0% 1.00x (?)
ArrayAppendReserved 4375 4376 +0.0% 1.00x (?)
ArrayAppendSequence 144252 144256 +0.0% 1.00x (?)
ArrayAppendStrings 15237 15228 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 796 795 -0.1% 1.00x (?)
ArrayAppendToGeneric 791 795 +0.5% 0.99x (?)
ArrayAppendUTF16 68142 67972 -0.2% 1.00x (?)
ArrayInClass 6222 6215 -0.1% 1.00x (?)
ArrayLiteral 1673 1673 +0.0% 1.00x
ArrayOfGenericPOD 1559 1560 +0.1% 1.00x (?)
ArrayOfPOD 775 775 +0.0% 1.00x
ArrayPlusEqualArrayOfInt 791 794 +0.4% 1.00x (?)
ArrayPlusEqualSingleElementCollection 236914 239117 +0.9% 0.99x (?)
ArrayPlusEqualThreeElements 9622 9346 -2.9% 1.03x (?)
ArraySetElement 4614 4613 -0.0% 1.00x (?)
ArraySubscript 83976 83484 -0.6% 1.01x
ArrayValueProp 3408 3455 +1.4% 0.99x
ArrayValueProp3 3869 3874 +0.1% 1.00x (?)
ArrayValueProp4 3837 3898 +1.6% 0.98x (?)
BitCount 2261 2261 +0.0% 1.00x
ByteSwap 3898 3894 -0.1% 1.00x
CStringLongAscii 5746 5738 -0.1% 1.00x (?)
CStringLongNonAscii 2455 2484 +1.2% 0.99x (?)
Calculator 1217 1206 -0.9% 1.01x
CaptureProp 390447 388605 -0.5% 1.00x
CharIndexing_ascii_unicodeScalars 466662 466445 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 351762 352584 +0.2% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 363321 362189 -0.3% 1.00x (?)
CharIndexing_japanese_unicodeScalars 557491 576182 +3.4% 0.97x (?)
CharIndexing_japanese_unicodeScalars_Backwards 562840 586248 +4.2% 0.96x (?)
CharIndexing_korean_unicodeScalars 450510 453036 +0.6% 0.99x (?)
CharIndexing_korean_unicodeScalars_Backwards 463659 454573 -2.0% 1.02x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 80948 81589 +0.8% 0.99x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 82361 84135 +2.2% 0.98x (?)
CharIndexing_punctuated_unicodeScalars 101786 105324 +3.5% 0.97x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 102752 107628 +4.7% 0.95x (?)
CharIndexing_russian_unicodeScalars 387114 387159 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 405399 391806 -3.4% 1.03x (?)
CharIndexing_tweet_unicodeScalars 926407 955960 +3.2% 0.97x (?)
CharIndexing_utf16_unicodeScalars 467321 477293 +2.1% 0.98x (?)
CharIndexing_utf16_unicodeScalars_Backwards 484926 471063 -2.9% 1.03x (?)
CharIteration_ascii_unicodeScalars 185039 184937 -0.1% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 342889 339891 -0.9% 1.01x (?)
CharIteration_chinese_unicodeScalars 140175 139699 -0.3% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 255389 256555 +0.5% 1.00x (?)
CharIteration_japanese_unicodeScalars 221966 221812 -0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 411069 406838 -1.0% 1.01x (?)
CharIteration_korean_unicodeScalars 180494 179765 -0.4% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 331537 327486 -1.2% 1.01x (?)
CharIteration_punctuatedJapanese_unicodeScalars 32991 32856 -0.4% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 59136 59287 +0.3% 1.00x (?)
CharIteration_punctuated_unicodeScalars 41546 41431 -0.3% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 74317 74245 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars 154399 153465 -0.6% 1.01x (?)
CharIteration_russian_unicodeScalars_Backwards 282281 284068 +0.6% 0.99x (?)
CharIteration_tweet_unicodeScalars 365930 364353 -0.4% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 670540 669717 -0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars 224023 215255 -3.9% 1.04x (?)
CharIteration_utf16_unicodeScalars_Backwards 369757 354657 -4.1% 1.04x (?)
CharacterLiteralsLarge 5915 5909 -0.1% 1.00x (?)
CharacterLiteralsSmall 821 827 +0.7% 0.99x
Chars 50485 50486 +0.0% 1.00x (?)
ClassArrayGetter 985 984 -0.1% 1.00x (?)
Dictionary 2956 2985 +1.0% 0.99x (?)
Dictionary2 2929 3021 +3.1% 0.97x (?)
Dictionary2OfObjects 5607 5629 +0.4% 1.00x (?)
Dictionary3 1338 1337 -0.1% 1.00x (?)
Dictionary3OfObjects 2261 2251 -0.4% 1.00x (?)
DictionaryBridge 3977 3950 -0.7% 1.01x (?)
DictionaryGroup 4689 4693 +0.1% 1.00x (?)
DictionaryGroupOfObjects 8133 7837 -3.6% 1.04x (?)
DictionaryLiteral 8296 8360 +0.8% 0.99x (?)
DictionaryOfObjects 6353 6365 +0.2% 1.00x (?)
DictionaryRemove 18205 18239 +0.2% 1.00x (?)
DictionaryRemoveOfObjects 50308 48807 -3.0% 1.03x (?)
DictionarySubscriptDefaultMutation 1988 1991 +0.2% 1.00x (?)
DictionarySubscriptDefaultMutationArray 2243 2246 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 8972 8975 +0.0% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 5403 5399 -0.1% 1.00x (?)
DictionarySwap 5264 5297 +0.6% 0.99x
DictionarySwapOfObjects 22312 22626 +1.4% 0.99x (?)
DropFirstAnyCollection 15429 15445 +0.1% 1.00x (?)
DropFirstAnyCollectionLazy 117355 120394 +2.6% 0.97x (?)
DropFirstAnySeqCRangeIter 22555 22603 +0.2% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 23485 22594 -3.8% 1.04x
DropFirstAnySeqCntRange 15496 15459 -0.2% 1.00x (?)
DropFirstAnySeqCntRangeLazy 15609 15581 -0.2% 1.00x
DropFirstAnySequence 12341 12305 -0.3% 1.00x
DropFirstAnySequenceLazy 12255 12468 +1.7% 0.98x (?)
DropFirstArray 5947 5946 -0.0% 1.00x (?)
DropFirstArrayLazy 32559 32579 +0.1% 1.00x (?)
DropFirstCountableRange 327 328 +0.3% 1.00x (?)
DropFirstCountableRangeLazy 29571 29532 -0.1% 1.00x
DropFirstSequence 11925 11950 +0.2% 1.00x (?)
DropFirstSequenceLazy 12171 12105 -0.5% 1.01x
DropLastAnyCollection 5161 5173 +0.2% 1.00x
DropLastAnyCollectionLazy 40575 40669 +0.2% 1.00x (?)
DropLastAnySeqCRangeIter 41121 41103 -0.0% 1.00x (?)
DropLastAnySeqCRangeIterLazy 41036 41014 -0.1% 1.00x (?)
DropLastAnySeqCntRange 5166 5162 -0.1% 1.00x (?)
DropLastAnySeqCntRangeLazy 5229 5222 -0.1% 1.00x (?)
DropLastAnySequence 31290 31358 +0.2% 1.00x (?)
DropLastAnySequenceLazy 31083 31088 +0.0% 1.00x (?)
DropLastCountableRange 115 114 -0.9% 1.01x
DropLastCountableRangeLazy 9842 9831 -0.1% 1.00x (?)
DropLastSequence 31101 31281 +0.6% 0.99x
DropLastSequenceLazy 31066 31074 +0.0% 1.00x (?)
DropWhileAnyCollection 19995 20005 +0.1% 1.00x (?)
DropWhileAnyCollectionLazy 21964 22016 +0.2% 1.00x
DropWhileAnySeqCRangeIter 24658 24664 +0.0% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 21665 21659 -0.0% 1.00x (?)
DropWhileAnySeqCntRange 19901 19946 +0.2% 1.00x (?)
DropWhileAnySeqCntRangeLazy 21958 21954 -0.0% 1.00x (?)
DropWhileAnySequence 14499 14450 -0.3% 1.00x
DropWhileAnySequenceLazy 11230 11290 +0.5% 0.99x
DropWhileArrayLazy 16853 16900 +0.3% 1.00x (?)
DropWhileCountableRange 4789 4786 -0.1% 1.00x (?)
DropWhileCountableRangeLazy 21049 21058 +0.0% 1.00x (?)
DropWhileSequence 13819 13854 +0.3% 1.00x (?)
DropWhileSequenceLazy 11174 11048 -1.1% 1.01x
EqualSubstringString 676 693 +2.5% 0.98x (?)
EqualSubstringSubstring 756 784 +3.7% 0.96x (?)
EqualSubstringSubstringGenericEquatable 459 460 +0.2% 1.00x
ErrorHandling 7381 7102 -3.8% 1.04x (?)
ExclusivityGlobal 197 197 +0.0% 1.00x
ExclusivityInMatSet 320 320 +0.0% 1.00x
ExclusivityIndependent 73 73 +0.0% 1.00x
FilterEvenUsingReduce 4154 4143 -0.3% 1.00x (?)
FilterEvenUsingReduceInto 2427 2404 -0.9% 1.01x (?)
FrequenciesUsingReduce 11006 11228 +2.0% 0.98x (?)
FrequenciesUsingReduceInto 5737 5716 -0.4% 1.00x (?)
Hanoi 20901 20963 +0.3% 1.00x (?)
HashTest 17478 17549 +0.4% 1.00x (?)
Histogram 7315 7301 -0.2% 1.00x (?)
Integrate 815 815 +0.0% 1.00x
IterateData 7639 7727 +1.2% 0.99x
Join 1482 1481 -0.1% 1.00x (?)
LazilyFilteredArrayContains 969599 969576 -0.0% 1.00x (?)
LazilyFilteredArrays 1581416 1586847 +0.3% 1.00x (?)
LazilyFilteredRange 527824 527000 -0.2% 1.00x (?)
LessSubstringSubstringGenericComparable 461 460 -0.2% 1.00x
LinkedList 39438 39352 -0.2% 1.00x (?)
MapReduce 33535 33448 -0.3% 1.00x (?)
MapReduceAnyCollection 34082 34136 +0.2% 1.00x (?)
MapReduceAnyCollectionShort 46863 45848 -2.2% 1.02x (?)
MapReduceClass 38710 38684 -0.1% 1.00x
MapReduceClassShort 50067 51185 +2.2% 0.98x (?)
MapReduceLazyCollection 28599 28556 -0.2% 1.00x (?)
MapReduceLazyCollectionShort 39686 39627 -0.1% 1.00x (?)
MapReduceLazySequence 20570 20617 +0.2% 1.00x (?)
MapReduceSequence 36966 37038 +0.2% 1.00x
MapReduceShort 44547 44916 +0.8% 0.99x (?)
MapReduceShortString 269 265 -1.5% 1.02x (?)
MapReduceString 2327 2337 +0.4% 1.00x (?)
Memset 44960 44958 -0.0% 1.00x (?)
MonteCarloE 930919 932192 +0.1% 1.00x (?)
MonteCarloPi 4030071 3992307 -0.9% 1.01x (?)
NSDictionaryCastToSwift 6476 6404 -1.1% 1.01x (?)
NSError 702 700 -0.3% 1.00x (?)
NSStringConversion 443 444 +0.2% 1.00x
NopDeinit 180788 180755 -0.0% 1.00x (?)
ObjectAllocation 1450 1447 -0.2% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 24741 25286 +2.2% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 40462 40701 +0.6% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 35303 36039 +2.1% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 138683 139427 +0.5% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObject 68651 68424 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 74330 73154 -1.6% 1.02x (?)
ObjectiveCBridgeFromNSString 3001 3145 +4.8% 0.95x (?)
ObjectiveCBridgeFromNSStringForced 2528 2490 -1.5% 1.02x (?)
ObjectiveCBridgeStubDataAppend 4532 4542 +0.2% 1.00x (?)
ObjectiveCBridgeStubDateMutation 601 601 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 26550 27079 +2.0% 0.98x (?)
ObjectiveCBridgeStubFromNSDate 4389 4392 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 678 674 -0.6% 1.01x (?)
ObjectiveCBridgeStubFromNSStringRef 207 207 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 3075 3093 +0.6% 0.99x (?)
ObjectiveCBridgeStubNSDateMutationRef 15015 15087 +0.5% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 28035 27713 -1.1% 1.01x (?)
ObjectiveCBridgeStubToNSDate 15330 15448 +0.8% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3382 3387 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1487 1488 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 158 159 +0.6% 0.99x (?)
ObjectiveCBridgeStubURLAppendPath 336032 342698 +2.0% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 339486 337983 -0.4% 1.00x (?)
ObjectiveCBridgeToNSArray 29190 29330 +0.5% 1.00x (?)
ObjectiveCBridgeToNSDictionary 57675 58729 +1.8% 0.98x (?)
ObjectiveCBridgeToNSSet 48431 49480 +2.2% 0.98x (?)
ObjectiveCBridgeToNSString 1256 1248 -0.6% 1.01x
ObserverClosure 6373 6363 -0.2% 1.00x (?)
ObserverForwarderStruct 4751 4744 -0.1% 1.00x (?)
ObserverPartiallyAppliedMethod 7779 7793 +0.2% 1.00x (?)
ObserverUnappliedMethod 7942 7888 -0.7% 1.01x
OpenClose 417 432 +3.6% 0.97x
Phonebook 22511 22701 +0.8% 0.99x
PolymorphicCalls 6744 6750 +0.1% 1.00x (?)
PopFrontArray 8839 8867 +0.3% 1.00x (?)
PopFrontArrayGeneric 7816 7814 -0.0% 1.00x (?)
PopFrontUnsafePointer 10498 10515 +0.2% 1.00x (?)
PrefixAnyCollection 15675 15563 -0.7% 1.01x
PrefixAnyCollectionLazy 120035 118966 -0.9% 1.01x (?)
PrefixAnySeqCRangeIter 17946 17928 -0.1% 1.00x (?)
PrefixAnySeqCRangeIterLazy 17996 17979 -0.1% 1.00x (?)
PrefixAnySeqCntRange 15447 15454 +0.0% 1.00x (?)
PrefixAnySeqCntRangeLazy 15623 15598 -0.2% 1.00x (?)
PrefixAnySequence 10284 10459 +1.7% 0.98x
PrefixAnySequenceLazy 10207 10352 +1.4% 0.99x
PrefixArray 5948 5943 -0.1% 1.00x (?)
PrefixArrayLazy 32517 32787 +0.8% 0.99x
PrefixCountableRange 327 327 +0.0% 1.00x
PrefixCountableRangeLazy 29550 29538 -0.0% 1.00x (?)
PrefixSequence 10004 10000 -0.0% 1.00x (?)
PrefixSequenceLazy 9939 9986 +0.5% 1.00x
PrefixWhileAnyCollection 28686 28768 +0.3% 1.00x (?)
PrefixWhileAnyCollectionLazy 17862 17854 -0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIter 37659 37594 -0.2% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 17789 17809 +0.1% 1.00x (?)
PrefixWhileAnySeqCntRange 28698 28688 -0.0% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 17856 17856 +0.0% 1.00x
PrefixWhileAnySequence 30196 30241 +0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 10441 10553 +1.1% 0.99x (?)
PrefixWhileArray 16095 16082 -0.1% 1.00x
PrefixWhileArrayLazy 14816 14818 +0.0% 1.00x (?)
PrefixWhileCountableRange 13518 13521 +0.0% 1.00x (?)
PrefixWhileCountableRangeLazy 17466 17448 -0.1% 1.00x (?)
PrefixWhileSequence 30096 30194 +0.3% 1.00x (?)
PrefixWhileSequenceLazy 10050 10012 -0.4% 1.00x
Prims 10345 10148 -1.9% 1.02x (?)
PrimsSplit 10373 10277 -0.9% 1.01x (?)
RC4 17936 18320 +2.1% 0.98x
RGBHistogram 29007 29040 +0.1% 1.00x (?)
RGBHistogramOfObjects 98650 98089 -0.6% 1.01x (?)
RangeAssignment 4472 4446 -0.6% 1.01x (?)
RangeIterationSigned 17280 17138 -0.8% 1.01x (?)
RangeIterationSigned64 42935 42963 +0.1% 1.00x (?)
RangeIterationUnsigned 38712 38505 -0.5% 1.01x (?)
RecursiveOwnedParameter 7762 7760 -0.0% 1.00x (?)
ReversedArray 17208 17215 +0.0% 1.00x (?)
ReversedBidirectional 67323 65661 -2.5% 1.03x (?)
ReversedDictionary 27508 27394 -0.4% 1.00x (?)
SetExclusiveOr 17987 17990 +0.0% 1.00x (?)
SetExclusiveOr_OfObjects 41809 41803 -0.0% 1.00x (?)
SetIntersect 9138 9135 -0.0% 1.00x (?)
SetIntersect_OfObjects 12030 11987 -0.4% 1.00x (?)
SetIsSubsetOf 1488 1480 -0.5% 1.01x (?)
SetIsSubsetOf_OfObjects 1542 1542 +0.0% 1.00x
SetUnion 12136 12127 -0.1% 1.00x (?)
SetUnion_OfObjects 29069 29088 +0.1% 1.00x (?)
SevenBoom 1696 1705 +0.5% 0.99x (?)
Sim2DArray 43785 43774 -0.0% 1.00x (?)
SortLargeExistentials 15952 15944 -0.1% 1.00x (?)
SortLettersInPlace 2864 2855 -0.3% 1.00x (?)
SortSortedStrings 1358 1337 -1.5% 1.02x
SortStrings 2584 2516 -2.6% 1.03x
SortStringsUnicode 9300 9222 -0.8% 1.01x
StackPromo 84943 85283 +0.4% 1.00x (?)
StaticArray 2639 2643 +0.2% 1.00x (?)
StrComplexWalk 7261 7259 -0.0% 1.00x (?)
StrToInt 71852 71886 +0.0% 1.00x (?)
StringAdder 3642 3637 -0.1% 1.00x (?)
StringBuilder 7485 7495 +0.1% 1.00x (?)
StringBuilderLong 1089 1090 +0.1% 1.00x (?)
StringComparison_ascii 14006 14009 +0.0% 1.00x (?)
StringComparison_emoji 3643 3654 +0.3% 1.00x (?)
StringComparison_fastPrenormal 12724 12695 -0.2% 1.00x (?)
StringComparison_latin1 9265 9258 -0.1% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 6565 6563 -0.0% 1.00x (?)
StringComparison_slowerPrenormal 6840 6571 -3.9% 1.04x (?)
StringComparison_zalgo 2775 2720 -2.0% 1.02x (?)
StringEdits 412112 412935 +0.2% 1.00x (?)
StringEnumRawValueInitialization 13753 13818 +0.5% 1.00x (?)
StringEqualPointerComparison 3325 3324 -0.0% 1.00x (?)
StringFromLongWholeSubstring 206 207 +0.5% 1.00x (?)
StringFromLongWholeSubstringGeneric 201 199 -1.0% 1.01x
StringHasPrefixAscii 2857 2857 +0.0% 1.00x
StringHasPrefixUnicode 20274 20065 -1.0% 1.01x (?)
StringHasSuffixAscii 2973 2974 +0.0% 1.00x (?)
StringHasSuffixUnicode 78634 79036 +0.5% 0.99x (?)
StringInterpolation 14073 13741 -2.4% 1.02x (?)
StringMatch 35521 36029 +1.4% 0.99x (?)
StringUTF16Builder 8183 8203 +0.2% 1.00x (?)
StringWalk 13837 13834 -0.0% 1.00x (?)
StringWithCString 69479 69533 +0.1% 1.00x (?)
SubstringComparable 4442 4323 -2.7% 1.03x
SubstringEqualString 6314 6244 -1.1% 1.01x (?)
SubstringEquatable 8992 9130 +1.5% 0.98x (?)
SubstringFromLongString 15 15 +0.0% 1.00x
SubstringFromLongStringGeneric 104 102 -1.9% 1.02x
SuffixAnyCollection 5271 5215 -1.1% 1.01x
SuffixAnyCollectionLazy 38942 39654 +1.8% 0.98x (?)
SuffixAnySeqCRangeIter 37457 37469 +0.0% 1.00x (?)
SuffixAnySeqCRangeIterLazy 37230 37221 -0.0% 1.00x (?)
SuffixAnySeqCntRange 5159 5169 +0.2% 1.00x
SuffixAnySeqCntRangeLazy 5221 5222 +0.0% 1.00x (?)
SuffixAnySequence 27630 27626 -0.0% 1.00x (?)
SuffixAnySequenceLazy 27543 27547 +0.0% 1.00x (?)
SuffixArray 1989 1989 +0.0% 1.00x
SuffixArrayLazy 10953 10959 +0.1% 1.00x (?)
SuffixCountableRange 115 115 +0.0% 1.00x
SuffixCountableRangeLazy 9843 9847 +0.0% 1.00x (?)
SuffixSequence 27511 27592 +0.3% 1.00x
SuffixSequenceLazy 27398 27389 -0.0% 1.00x (?)
SumUsingReduce 214193 214287 +0.0% 1.00x (?)
SumUsingReduceInto 212869 212926 +0.0% 1.00x (?)
SuperChars 194420 192295 -1.1% 1.01x (?)
TwoSum 4086 4096 +0.2% 1.00x (?)
TypeFlood 157 163 +3.8% 0.96x (?)
UTF8Decode 37087 36978 -0.3% 1.00x (?)
Walsh 12091 12091 +0.0% 1.00x
XorLoop 23641 23634 -0.0% 1.00x (?)
Added (1)
TEST MIN MAX MEAN MAX_RSS
StringComparison_longSharedPrefix 7645 8249 7818 4943872
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

@lancep
Copy link
Contributor Author

lancep commented Dec 12, 2017

@swift-ci please smoke test and merge

@lancep
Copy link
Contributor Author

lancep commented Dec 12, 2017

CC @milseman FYI

@milseman
Copy link
Member

Could you make sure it's not totally trivial, that is either use the count or, better yet, feed the comparison result into blackHole?

@lancep
Copy link
Contributor Author

lancep commented Dec 12, 2017

@swift-ci please benchmark

1 similar comment
@lancep
Copy link
Contributor Author

lancep commented Dec 12, 2017

@swift-ci please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (9)
TEST OLD NEW DELTA SPEEDUP
StringComparison_ascii 121 1395 +1052.9% 0.09x
Sim2DArray 409 597 +46.0% 0.69x
PrefixWhileCountableRange 46 53 +15.2% 0.87x
DropLastCountableRangeLazy 11 12 +9.1% 0.92x
DropLastCountableRange 11 12 +9.1% 0.92x
NopDeinit 21559 23028 +6.8% 0.94x
DropLastSequence 691 737 +6.7% 0.94x
DropLastSequenceLazy 693 734 +5.9% 0.94x
ArrayAppendAscii 21825 23034 +5.5% 0.95x
Improvement (8)
TEST OLD NEW DELTA SPEEDUP
PrefixWhileArray 105 88 -16.2% 1.19x
ExclusivityInMatSet 20 17 -15.0% 1.18x
RangeIterationSigned 200 171 -14.5% 1.17x
MapReduceLazyCollectionShort 38 34 -10.5% 1.12x
SuffixCountableRangeLazy 12 11 -8.3% 1.09x
NSError 309 284 -8.1% 1.09x (?)
Chars 1099 1034 -5.9% 1.06x
LazilyFilteredRange 4029 3808 -5.5% 1.06x
No Changes (316)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2890 2924 +1.2% 0.99x (?)
AnyHashableWithAClass 70294 70699 +0.6% 0.99x (?)
Array2D 2518 2518 +0.0% 1.00x
ArrayAppend 979 979 +0.0% 1.00x
ArrayAppendArrayOfInt 739 728 -1.5% 1.02x (?)
ArrayAppendFromGeneric 740 739 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1344 1357 +1.0% 0.99x (?)
ArrayAppendLatin1 42456 42317 -0.3% 1.00x (?)
ArrayAppendLazyMap 1287 1288 +0.1% 1.00x (?)
ArrayAppendOptionals 1357 1356 -0.1% 1.00x (?)
ArrayAppendRepeatCol 1285 1284 -0.1% 1.00x (?)
ArrayAppendReserved 726 722 -0.6% 1.01x (?)
ArrayAppendSequence 1077 1072 -0.5% 1.00x (?)
ArrayAppendStrings 15007 15005 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 737 731 -0.8% 1.01x (?)
ArrayAppendToGeneric 743 743 +0.0% 1.00x
ArrayAppendUTF16 43154 45221 +4.8% 0.95x
ArrayInClass 86 85 -1.2% 1.01x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 222 222 +0.0% 1.00x
ArrayOfGenericRef 4230 4231 +0.0% 1.00x (?)
ArrayOfPOD 177 174 -1.7% 1.02x (?)
ArrayOfRef 4223 4219 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 742 739 -0.4% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5557 5558 +0.0% 1.00x (?)
ArrayPlusEqualSingleElementCollection 972 975 +0.3% 1.00x (?)
ArrayPlusEqualThreeElements 1576 1574 -0.1% 1.00x (?)
ArraySetElement 516 515 -0.2% 1.00x
ArraySubscript 1483 1487 +0.3% 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
BitCount 211 202 -4.3% 1.04x
ByteSwap 103 100 -2.9% 1.03x (?)
CStringLongAscii 5732 5734 +0.0% 1.00x (?)
CStringLongNonAscii 2441 2421 -0.8% 1.01x (?)
CStringShortAscii 4754 4757 +0.1% 1.00x (?)
Calculator 41 40 -2.4% 1.02x
CaptureProp 7729 7682 -0.6% 1.01x
CharIndexing_ascii_unicodeScalars 20095 20094 -0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 18200 18198 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars 15202 15208 +0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 13773 13777 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars 24066 24070 +0.0% 1.00x (?)
CharIndexing_japanese_unicodeScalars_Backwards 21790 21794 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars 19480 19481 +0.0% 1.00x (?)
CharIndexing_korean_unicodeScalars_Backwards 17639 17640 +0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 3593 3598 +0.1% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 3268 3272 +0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars 4512 4513 +0.0% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 4100 4104 +0.1% 1.00x (?)
CharIndexing_russian_unicodeScalars 16730 16735 +0.0% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 15157 15159 +0.0% 1.00x (?)
CharIndexing_tweet_unicodeScalars 39608 39643 +0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 35511 35549 +0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars 68829 68867 +0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 65781 65919 +0.2% 1.00x (?)
CharIteration_ascii_unicodeScalars 22595 22574 -0.1% 1.00x
CharIteration_ascii_unicodeScalars_Backwards 23043 23231 +0.8% 0.99x
CharIteration_chinese_unicodeScalars 17093 17089 -0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 17430 17569 +0.8% 0.99x
CharIteration_japanese_unicodeScalars 27066 27042 -0.1% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 27613 27834 +0.8% 0.99x
CharIteration_korean_unicodeScalars 21910 21886 -0.1% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 22345 22535 +0.9% 0.99x
CharIteration_punctuatedJapanese_unicodeScalars 4014 4017 +0.1% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 4089 4114 +0.6% 0.99x
CharIteration_punctuated_unicodeScalars 5040 5058 +0.4% 1.00x
CharIteration_punctuated_unicodeScalars_Backwards 5145 5175 +0.6% 0.99x
CharIteration_russian_unicodeScalars 18814 18796 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 19190 19334 +0.8% 0.99x
CharIteration_tweet_unicodeScalars 44617 44615 -0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 45720 46192 +1.0% 0.99x
CharIteration_utf16_unicodeScalars 97050 97052 +0.0% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 95827 95863 +0.0% 1.00x (?)
CharacterLiteralsLarge 5688 5694 +0.1% 1.00x (?)
CharacterLiteralsSmall 510 511 +0.2% 1.00x (?)
ClassArrayGetter 15 15 +0.0% 1.00x
Dictionary 653 656 +0.5% 1.00x (?)
Dictionary2 1874 1869 -0.3% 1.00x (?)
Dictionary2OfObjects 3238 3239 +0.0% 1.00x (?)
Dictionary3 553 553 +0.0% 1.00x
Dictionary3OfObjects 879 878 -0.1% 1.00x (?)
DictionaryBridge 3646 3778 +3.6% 0.97x (?)
DictionaryGroup 270 270 +0.0% 1.00x
DictionaryGroupOfObjects 1943 1942 -0.1% 1.00x (?)
DictionaryLiteral 1501 1500 -0.1% 1.00x (?)
DictionaryOfObjects 2286 2287 +0.0% 1.00x (?)
DictionaryRemove 2865 2895 +1.0% 0.99x (?)
DictionaryRemoveOfObjects 22422 22438 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutation 151 151 +0.0% 1.00x
DictionarySubscriptDefaultMutationArray 487 487 +0.0% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 3629 3620 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1285 1281 -0.3% 1.00x (?)
DictionarySwap 492 492 +0.0% 1.00x
DictionarySwapOfObjects 7153 7162 +0.1% 1.00x (?)
DropFirstAnyCollection 34 34 +0.0% 1.00x
DropFirstAnyCollectionLazy 66664 67009 +0.5% 0.99x (?)
DropFirstAnySeqCRangeIter 21291 21297 +0.0% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21294 21296 +0.0% 1.00x (?)
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 4824 4834 +0.2% 1.00x (?)
DropFirstAnySequenceLazy 4840 4833 -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 2625 2620 -0.2% 1.00x (?)
DropFirstSequenceLazy 2719 2715 -0.1% 1.00x
DropLastAnyCollection 19 19 +0.0% 1.00x
DropLastAnyCollectionLazy 22228 22572 +1.5% 0.98x (?)
DropLastAnySeqCRangeIter 4379 4369 -0.2% 1.00x (?)
DropLastAnySeqCRangeIterLazy 4327 4371 +1.0% 0.99x (?)
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 6020 5949 -1.2% 1.01x
DropLastAnySequenceLazy 6138 6052 -1.4% 1.01x
DropWhileAnyCollection 99 99 +0.0% 1.00x
DropWhileAnyCollectionLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCRangeIter 16943 16938 -0.0% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 147 147 +0.0% 1.00x
DropWhileAnySequence 5471 5472 +0.0% 1.00x (?)
DropWhileAnySequenceLazy 1831 1831 +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 1322 1322 +0.0% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 399 398 -0.3% 1.00x (?)
EqualSubstringString 400 400 +0.0% 1.00x
EqualSubstringSubstring 402 402 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 402 402 +0.0% 1.00x
ErrorHandling 1945 2004 +3.0% 0.97x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1278 1284 +0.5% 1.00x (?)
FilterEvenUsingReduceInto 143 146 +2.1% 0.98x (?)
FrequenciesUsingReduce 6513 6497 -0.2% 1.00x (?)
FrequenciesUsingReduceInto 2932 2936 +0.1% 1.00x (?)
Hanoi 3816 3742 -1.9% 1.02x
HashTest 1691 1695 +0.2% 1.00x (?)
Histogram 337 339 +0.6% 0.99x
Integrate 217 218 +0.5% 1.00x
IterateData 1291 1288 -0.2% 1.00x (?)
Join 373 382 +2.4% 0.98x (?)
LazilyFilteredArrayContains 31475 30685 -2.5% 1.03x
LazilyFilteredArrays 65501 64009 -2.3% 1.02x (?)
LessSubstringSubstring 402 402 +0.0% 1.00x
LessSubstringSubstringGenericComparable 402 402 +0.0% 1.00x
LinkedList 7175 7175 +0.0% 1.00x
MapReduce 454 455 +0.2% 1.00x (?)
MapReduceAnyCollection 455 458 +0.7% 0.99x (?)
MapReduceAnyCollectionShort 2009 2007 -0.1% 1.00x (?)
MapReduceClass 2992 2989 -0.1% 1.00x (?)
MapReduceClassShort 4451 4448 -0.1% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 435 434 -0.2% 1.00x (?)
MapReduceShort 1979 1980 +0.1% 1.00x (?)
MapReduceShortString 22 22 +0.0% 1.00x
MapReduceString 105 106 +1.0% 0.99x (?)
Memset 213 213 +0.0% 1.00x
MonteCarloE 10307 10451 +1.4% 0.99x
MonteCarloPi 43069 42893 -0.4% 1.00x
NSDictionaryCastToSwift 5133 5143 +0.2% 1.00x (?)
NSStringConversion 397 397 +0.0% 1.00x
ObjectAllocation 173 172 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObject 20355 21046 +3.4% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3715 3703 -0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 38130 37625 -1.3% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 32065 32978 +2.8% 0.97x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 126938 126369 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObject 62174 63524 +2.2% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4586 4588 +0.0% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 65790 65946 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSString 1034 1012 -2.1% 1.02x (?)
ObjectiveCBridgeFromNSStringForced 2129 2130 +0.0% 1.00x (?)
ObjectiveCBridgeStubDataAppend 4044 3862 -4.5% 1.05x (?)
ObjectiveCBridgeStubDateMutation 256 257 +0.4% 1.00x (?)
ObjectiveCBridgeStubFromArrayOfNSString 26306 25994 -1.2% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 4192 4188 -0.1% 1.00x
ObjectiveCBridgeStubFromNSString 617 618 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSStringRef 175 175 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2567 2537 -1.2% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 12529 12770 +1.9% 0.98x (?)
ObjectiveCBridgeStubToArrayOfNSString 27930 27590 -1.2% 1.01x (?)
ObjectiveCBridgeStubToNSDate 14594 13941 -4.5% 1.05x (?)
ObjectiveCBridgeStubToNSDateRef 3293 3261 -1.0% 1.01x (?)
ObjectiveCBridgeStubToNSString 1422 1423 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 129 126 -2.3% 1.02x
ObjectiveCBridgeStubURLAppendPath 322013 329384 +2.3% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 329815 332462 +0.8% 0.99x (?)
ObjectiveCBridgeToNSArray 28452 28265 -0.7% 1.01x (?)
ObjectiveCBridgeToNSDictionary 55955 56781 +1.5% 0.99x (?)
ObjectiveCBridgeToNSSet 46172 45434 -1.6% 1.02x (?)
ObjectiveCBridgeToNSString 1194 1196 +0.2% 1.00x (?)
ObserverClosure 1996 1999 +0.2% 1.00x (?)
ObserverForwarderStruct 862 865 +0.3% 1.00x (?)
ObserverPartiallyAppliedMethod 3445 3440 -0.1% 1.00x (?)
ObserverUnappliedMethod 2135 2130 -0.2% 1.00x (?)
OpenClose 5 5 +0.0% 1.00x
Phonebook 6362 6413 +0.8% 0.99x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1863 1868 +0.3% 1.00x (?)
PopFrontArrayGeneric 1869 1864 -0.3% 1.00x (?)
PopFrontUnsafePointer 8862 8853 -0.1% 1.00x (?)
PrefixAnyCollection 34 34 +0.0% 1.00x
PrefixAnyCollectionLazy 67800 67714 -0.1% 1.00x (?)
PrefixAnySeqCRangeIter 16475 16474 -0.0% 1.00x (?)
PrefixAnySeqCRangeIterLazy 16463 16480 +0.1% 1.00x (?)
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 4374 4381 +0.2% 1.00x (?)
PrefixAnySequenceLazy 4376 4387 +0.3% 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 1307 1306 -0.1% 1.00x (?)
PrefixSequenceLazy 1377 1377 +0.0% 1.00x
PrefixWhileAnyCollection 146 146 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCRangeIter 11934 11888 -0.4% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCntRange 141 141 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 106 106 +0.0% 1.00x
PrefixWhileAnySequence 13297 13355 +0.4% 1.00x (?)
PrefixWhileAnySequenceLazy 1373 1373 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 389 392 +0.8% 0.99x (?)
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 761 763 +0.3% 1.00x (?)
PrimsSplit 758 756 -0.3% 1.00x (?)
RC4 165 164 -0.6% 1.01x
RGBHistogram 2823 2812 -0.4% 1.00x (?)
RGBHistogramOfObjects 22951 22932 -0.1% 1.00x (?)
RangeAssignment 378 379 +0.3% 1.00x (?)
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RecursiveOwnedParameter 2266 2294 +1.2% 0.99x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 27599 27502 -0.4% 1.00x (?)
ReversedDictionary 122 119 -2.5% 1.03x (?)
SetExclusiveOr 3283 3320 +1.1% 0.99x (?)
SetExclusiveOr_OfObjects 8411 8467 +0.7% 0.99x (?)
SetIntersect 319 317 -0.6% 1.01x (?)
SetIntersect_OfObjects 1722 1724 +0.1% 1.00x (?)
SetIsSubsetOf 291 291 +0.0% 1.00x
SetIsSubsetOf_OfObjects 349 349 +0.0% 1.00x
SetUnion 2999 2998 -0.0% 1.00x (?)
SetUnion_OfObjects 7058 7089 +0.4% 1.00x (?)
SevenBoom 1487 1482 -0.3% 1.00x (?)
SortLargeExistentials 7715 7805 +1.2% 0.99x (?)
SortLettersInPlace 1100 1099 -0.1% 1.00x (?)
SortSortedStrings 1064 1058 -0.6% 1.01x
SortStrings 1898 1890 -0.4% 1.00x
SortStringsUnicode 8893 8828 -0.7% 1.01x (?)
StackPromo 22419 22569 +0.7% 0.99x (?)
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1986 1986 +0.0% 1.00x
StrToInt 2028 2111 +4.1% 0.96x
StringAdder 3360 3357 -0.1% 1.00x (?)
StringBuilder 982 996 +1.4% 0.99x (?)
StringBuilderLong 939 916 -2.4% 1.03x (?)
StringComparison_abnormal 699 699 +0.0% 1.00x
StringComparison_emoji 2054 2055 +0.0% 1.00x (?)
StringComparison_fastPrenormal 6951 7004 +0.8% 0.99x (?)
StringComparison_latin1 4747 4767 +0.4% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 3708 3711 +0.1% 1.00x (?)
StringComparison_slowerPrenormal 3165 3185 +0.6% 0.99x (?)
StringComparison_zalgo 1294 1309 +1.2% 0.99x
StringEdits 168119 168309 +0.1% 1.00x (?)
StringEnumRawValueInitialization 1269 1269 +0.0% 1.00x
StringEqualPointerComparison 414 414 +0.0% 1.00x
StringFromLongWholeSubstring 171 171 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 72 71 -1.4% 1.01x (?)
StringHasPrefixAscii 1259 1259 +0.0% 1.00x
StringHasPrefixUnicode 18321 18746 +2.3% 0.98x (?)
StringHasSuffixAscii 1402 1402 +0.0% 1.00x
StringHasSuffixUnicode 75793 76907 +1.5% 0.99x (?)
StringInterpolation 10733 10728 -0.0% 1.00x (?)
StringMatch 8798 8741 -0.6% 1.01x (?)
StringUTF16Builder 1802 1821 +1.1% 0.99x (?)
StringWalk 1541 1541 +0.0% 1.00x
StringWithCString 72645 72327 -0.4% 1.00x (?)
SubstringComparable 1690 1686 -0.2% 1.00x (?)
SubstringEqualString 1484 1484 +0.0% 1.00x
SubstringEquatable 3605 3606 +0.0% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 71 71 +0.0% 1.00x
SuffixAnyCollection 27 27 +0.0% 1.00x
SuffixAnyCollectionLazy 22583 22413 -0.8% 1.01x (?)
SuffixAnySeqCRangeIter 4668 4661 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4690 4651 -0.8% 1.01x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 5946 5979 +0.6% 0.99x (?)
SuffixAnySequenceLazy 6012 6064 +0.9% 0.99x (?)
SuffixArray 17 17 +0.0% 1.00x
SuffixArrayLazy 11 11 +0.0% 1.00x
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixSequence 4624 4616 -0.2% 1.00x (?)
SuffixSequenceLazy 4650 4629 -0.5% 1.00x (?)
SumUsingReduce 97 101 +4.1% 0.96x
SumUsingReduceInto 97 101 +4.1% 0.96x
SuperChars 85418 85878 +0.5% 0.99x (?)
TwoSum 999 988 -1.1% 1.01x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 314 314 +0.0% 1.00x
Walsh 435 435 +0.0% 1.00x
XorLoop 377 377 +0.0% 1.00x
Added (1)
TEST MIN MAX MEAN MAX_RSS
StringComparison_longSharedPrefix 5568 5598 5574 4403200

Unoptimized (Onone)

Improvement (8)
TEST OLD NEW DELTA SPEEDUP
StringComparison_abnormal 1555 1385 -10.9% 1.12x (?)
ArrayPlusEqualSingleElementCollection 261721 236214 -9.7% 1.11x (?)
CharIndexing_tweet_unicodeScalars 965575 891065 -7.7% 1.08x (?)
CStringShortAscii 8974 8353 -6.9% 1.07x (?)
CharIndexing_tweet_unicodeScalars_Backwards 1000944 939204 -6.2% 1.07x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 36446 34509 -5.3% 1.06x (?)
FilterEvenUsingReduce 4357 4132 -5.2% 1.05x (?)
BitCount 2263 2153 -4.9% 1.05x
No Changes (325)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4756 4762 +0.1% 1.00x (?)
AnyHashableWithAClass 87664 87399 -0.3% 1.00x (?)
Array2D 674705 674354 -0.1% 1.00x (?)
ArrayAppend 4744 4746 +0.0% 1.00x (?)
ArrayAppendArrayOfInt 791 796 +0.6% 0.99x (?)
ArrayAppendAscii 44776 44587 -0.4% 1.00x (?)
ArrayAppendFromGeneric 798 795 -0.4% 1.00x (?)
ArrayAppendGenericStructs 1411 1411 +0.0% 1.00x
ArrayAppendLatin1 66775 66859 +0.1% 1.00x (?)
ArrayAppendLazyMap 210532 210488 -0.0% 1.00x (?)
ArrayAppendOptionals 1406 1407 +0.1% 1.00x (?)
ArrayAppendRepeatCol 184254 184245 -0.0% 1.00x (?)
ArrayAppendReserved 4373 4488 +2.6% 0.97x
ArrayAppendSequence 141293 141170 -0.1% 1.00x (?)
ArrayAppendStrings 15244 15241 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 794 795 +0.1% 1.00x (?)
ArrayAppendToGeneric 797 781 -2.0% 1.02x (?)
ArrayAppendUTF16 67748 67769 +0.0% 1.00x (?)
ArrayInClass 6315 6326 +0.2% 1.00x (?)
ArrayLiteral 1677 1718 +2.4% 0.98x
ArrayOfGenericPOD 1559 1559 +0.0% 1.00x
ArrayOfGenericRef 9986 9986 +0.0% 1.00x
ArrayOfPOD 776 776 +0.0% 1.00x
ArrayOfRef 9207 9226 +0.2% 1.00x (?)
ArrayPlusEqualArrayOfInt 793 775 -2.3% 1.02x (?)
ArrayPlusEqualFiveElementCollection 237516 243603 +2.6% 0.98x (?)
ArrayPlusEqualThreeElements 9272 9405 +1.4% 0.99x (?)
ArraySetElement 4902 4805 -2.0% 1.02x
ArraySubscript 84369 83380 -1.2% 1.01x
ArrayValueProp 3423 3512 +2.6% 0.97x (?)
ArrayValueProp2 19393 18703 -3.6% 1.04x (?)
ArrayValueProp3 3912 3903 -0.2% 1.00x (?)
ArrayValueProp4 3848 3830 -0.5% 1.00x (?)
ByteSwap 3897 3935 +1.0% 0.99x (?)
CStringLongAscii 5758 5689 -1.2% 1.01x (?)
CStringLongNonAscii 2457 2461 +0.2% 1.00x (?)
Calculator 1207 1210 +0.2% 1.00x (?)
CaptureProp 389356 389542 +0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars 460996 458745 -0.5% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 478299 487873 +2.0% 0.98x (?)
CharIndexing_chinese_unicodeScalars 340491 340440 -0.0% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 368437 380781 +3.4% 0.97x (?)
CharIndexing_japanese_unicodeScalars 538532 554522 +3.0% 0.97x (?)
CharIndexing_japanese_unicodeScalars_Backwards 568141 581394 +2.3% 0.98x (?)
CharIndexing_korean_unicodeScalars 434736 455365 +4.7% 0.95x (?)
CharIndexing_korean_unicodeScalars_Backwards 469144 476281 +1.5% 0.99x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 79739 78918 -1.0% 1.01x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 81991 83952 +2.4% 0.98x (?)
CharIndexing_punctuated_unicodeScalars 98773 101693 +3.0% 0.97x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 103872 103186 -0.7% 1.01x (?)
CharIndexing_russian_unicodeScalars 373186 375964 +0.7% 0.99x (?)
CharIndexing_russian_unicodeScalars_Backwards 411819 397284 -3.5% 1.04x (?)
CharIndexing_utf16_unicodeScalars 464711 456691 -1.7% 1.02x (?)
CharIndexing_utf16_unicodeScalars_Backwards 473192 474929 +0.4% 1.00x (?)
CharIteration_ascii_unicodeScalars 185571 185603 +0.0% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 342860 345237 +0.7% 0.99x (?)
CharIteration_chinese_unicodeScalars 139863 140089 +0.2% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 259004 259898 +0.3% 1.00x (?)
CharIteration_japanese_unicodeScalars 223226 221955 -0.6% 1.01x (?)
CharIteration_japanese_unicodeScalars_Backwards 409904 409944 +0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 179869 179489 -0.2% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 333619 332527 -0.3% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 33088 33364 +0.8% 0.99x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 60244 60355 +0.2% 1.00x (?)
CharIteration_punctuated_unicodeScalars 41462 41382 -0.2% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 75827 76737 +1.2% 0.99x (?)
CharIteration_russian_unicodeScalars 153600 154231 +0.4% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 287770 287650 -0.0% 1.00x (?)
CharIteration_tweet_unicodeScalars 364778 365916 +0.3% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 680064 680596 +0.1% 1.00x (?)
CharIteration_utf16_unicodeScalars 216191 215061 -0.5% 1.01x (?)
CharIteration_utf16_unicodeScalars_Backwards 353844 352097 -0.5% 1.00x (?)
CharacterLiteralsLarge 5929 5891 -0.6% 1.01x (?)
CharacterLiteralsSmall 821 859 +4.6% 0.96x (?)
Chars 49447 49347 -0.2% 1.00x
ClassArrayGetter 981 981 +0.0% 1.00x
Dictionary 2962 2950 -0.4% 1.00x (?)
Dictionary2 2919 2929 +0.3% 1.00x (?)
Dictionary2OfObjects 5609 5652 +0.8% 0.99x (?)
Dictionary3 1340 1339 -0.1% 1.00x (?)
Dictionary3OfObjects 2258 2274 +0.7% 0.99x (?)
DictionaryBridge 3956 3795 -4.1% 1.04x (?)
DictionaryGroup 4688 4684 -0.1% 1.00x (?)
DictionaryGroupOfObjects 7955 7840 -1.4% 1.01x (?)
DictionaryLiteral 8342 8306 -0.4% 1.00x (?)
DictionaryOfObjects 6491 6609 +1.8% 0.98x (?)
DictionaryRemove 18230 18260 +0.2% 1.00x (?)
DictionaryRemoveOfObjects 49251 49115 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutation 1998 1996 -0.1% 1.00x
DictionarySubscriptDefaultMutationArray 2247 2242 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 8943 8957 +0.2% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 5374 5410 +0.7% 0.99x (?)
DictionarySwap 5289 5259 -0.6% 1.01x
DictionarySwapOfObjects 22087 21985 -0.5% 1.00x (?)
DropFirstAnyCollection 15591 15609 +0.1% 1.00x (?)
DropFirstAnyCollectionLazy 116458 120532 +3.5% 0.97x (?)
DropFirstAnySeqCRangeIter 23191 23133 -0.3% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 22761 22715 -0.2% 1.00x
DropFirstAnySeqCntRange 15610 15610 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 15569 15531 -0.2% 1.00x
DropFirstAnySequence 12409 12504 +0.8% 0.99x
DropFirstAnySequenceLazy 12295 12122 -1.4% 1.01x (?)
DropFirstArray 5844 5868 +0.4% 1.00x (?)
DropFirstArrayLazy 32869 32895 +0.1% 1.00x (?)
DropFirstCountableRange 326 327 +0.3% 1.00x
DropFirstCountableRangeLazy 29733 29706 -0.1% 1.00x (?)
DropFirstSequence 11939 12078 +1.2% 0.99x (?)
DropFirstSequenceLazy 11933 11758 -1.5% 1.01x
DropLastAnyCollection 5236 5215 -0.4% 1.00x
DropLastAnyCollectionLazy 40180 38905 -3.2% 1.03x (?)
DropLastAnySeqCRangeIter 41163 42764 +3.9% 0.96x (?)
DropLastAnySeqCRangeIterLazy 41582 40998 -1.4% 1.01x (?)
DropLastAnySeqCntRange 5224 5209 -0.3% 1.00x
DropLastAnySeqCntRangeLazy 5197 5204 +0.1% 1.00x (?)
DropLastAnySequence 31158 31134 -0.1% 1.00x (?)
DropLastAnySequenceLazy 31100 31153 +0.2% 1.00x (?)
DropLastCountableRange 113 114 +0.9% 0.99x (?)
DropLastCountableRangeLazy 9854 9855 +0.0% 1.00x (?)
DropLastSequence 31412 31277 -0.4% 1.00x
DropLastSequenceLazy 31002 31044 +0.1% 1.00x (?)
DropWhileAnyCollection 19870 19942 +0.4% 1.00x (?)
DropWhileAnyCollectionLazy 21489 21460 -0.1% 1.00x (?)
DropWhileAnySeqCRangeIter 24523 24540 +0.1% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 21540 21550 +0.0% 1.00x (?)
DropWhileAnySeqCntRange 19966 19946 -0.1% 1.00x
DropWhileAnySeqCntRangeLazy 21546 21545 -0.0% 1.00x (?)
DropWhileAnySequence 14098 13980 -0.8% 1.01x
DropWhileAnySequenceLazy 11300 11161 -1.2% 1.01x
DropWhileArrayLazy 17051 17044 -0.0% 1.00x (?)
DropWhileCountableRange 4835 4838 +0.1% 1.00x
DropWhileCountableRangeLazy 21110 21223 +0.5% 0.99x
DropWhileSequence 13898 13935 +0.3% 1.00x (?)
DropWhileSequenceLazy 10735 10719 -0.1% 1.00x (?)
EqualStringSubstring 691 710 +2.7% 0.97x (?)
EqualSubstringString 717 723 +0.8% 0.99x (?)
EqualSubstringSubstring 808 800 -1.0% 1.01x (?)
EqualSubstringSubstringGenericEquatable 462 461 -0.2% 1.00x
ErrorHandling 7260 7291 +0.4% 1.00x (?)
ExclusivityGlobal 197 203 +3.0% 0.97x (?)
ExclusivityInMatSet 321 320 -0.3% 1.00x
ExclusivityIndependent 73 73 +0.0% 1.00x
FilterEvenUsingReduceInto 2398 2392 -0.3% 1.00x (?)
FrequenciesUsingReduce 11158 10861 -2.7% 1.03x (?)
FrequenciesUsingReduceInto 5857 5889 +0.5% 0.99x (?)
Hanoi 21130 20943 -0.9% 1.01x (?)
HashTest 17407 17406 -0.0% 1.00x (?)
Histogram 7223 7290 +0.9% 0.99x
Integrate 819 811 -1.0% 1.01x
IterateData 7666 7613 -0.7% 1.01x
Join 1513 1513 +0.0% 1.00x
LazilyFilteredArrayContains 935399 937507 +0.2% 1.00x (?)
LazilyFilteredArrays 1588845 1599910 +0.7% 0.99x (?)
LazilyFilteredRange 530586 530724 +0.0% 1.00x (?)
LessSubstringSubstring 808 827 +2.4% 0.98x (?)
LessSubstringSubstringGenericComparable 460 461 +0.2% 1.00x
LinkedList 39427 39572 +0.4% 1.00x (?)
MapReduce 33615 33647 +0.1% 1.00x (?)
MapReduceAnyCollection 33556 33461 -0.3% 1.00x (?)
MapReduceAnyCollectionShort 47271 46090 -2.5% 1.03x (?)
MapReduceClass 38307 38246 -0.2% 1.00x (?)
MapReduceClassShort 49191 50365 +2.4% 0.98x (?)
MapReduceLazyCollection 28412 28478 +0.2% 1.00x (?)
MapReduceLazyCollectionShort 39544 38737 -2.0% 1.02x (?)
MapReduceLazySequence 20638 20634 -0.0% 1.00x (?)
MapReduceSequence 37158 37160 +0.0% 1.00x (?)
MapReduceShort 44984 45353 +0.8% 0.99x (?)
MapReduceShortString 267 272 +1.9% 0.98x (?)
MapReduceString 2324 2335 +0.5% 1.00x (?)
Memset 47527 47600 +0.2% 1.00x
MonteCarloE 930700 928986 -0.2% 1.00x (?)
MonteCarloPi 4038195 3966114 -1.8% 1.02x
NSDictionaryCastToSwift 6471 6580 +1.7% 0.98x (?)
NSError 709 698 -1.6% 1.02x (?)
NSStringConversion 443 443 +0.0% 1.00x
NopDeinit 180719 182015 +0.7% 0.99x (?)
ObjectAllocation 1449 1454 +0.3% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObject 25113 25009 -0.4% 1.00x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7731 7951 +2.8% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 41819 40910 -2.2% 1.02x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 138002 134671 -2.4% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 70218 69560 -0.9% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7491 7801 +4.1% 0.96x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 76131 79239 +4.1% 0.96x (?)
ObjectiveCBridgeFromNSString 2981 2985 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSStringForced 2499 2566 +2.7% 0.97x (?)
ObjectiveCBridgeStubDataAppend 4598 4642 +1.0% 0.99x (?)
ObjectiveCBridgeStubDateMutation 601 630 +4.8% 0.95x
ObjectiveCBridgeStubFromArrayOfNSString 26748 26813 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 4391 4397 +0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 661 649 -1.8% 1.02x (?)
ObjectiveCBridgeStubFromNSStringRef 207 209 +1.0% 0.99x
ObjectiveCBridgeStubNSDataAppend 3034 3122 +2.9% 0.97x
ObjectiveCBridgeStubNSDateMutationRef 15166 15589 +2.8% 0.97x (?)
ObjectiveCBridgeStubToArrayOfNSString 28705 28606 -0.3% 1.00x (?)
ObjectiveCBridgeStubToNSDate 15029 15162 +0.9% 0.99x (?)
ObjectiveCBridgeStubToNSDateRef 3366 3373 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSString 1488 1483 -0.3% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 158 161 +1.9% 0.98x
ObjectiveCBridgeStubURLAppendPath 345374 343417 -0.6% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 344995 335986 -2.6% 1.03x (?)
ObjectiveCBridgeToNSArray 29178 29244 +0.2% 1.00x (?)
ObjectiveCBridgeToNSDictionary 58724 57336 -2.4% 1.02x (?)
ObjectiveCBridgeToNSSet 47797 47884 +0.2% 1.00x (?)
ObjectiveCBridgeToNSString 1258 1255 -0.2% 1.00x (?)
ObserverClosure 6425 6367 -0.9% 1.01x (?)
ObserverForwarderStruct 4753 4751 -0.0% 1.00x (?)
ObserverPartiallyAppliedMethod 7778 7850 +0.9% 0.99x (?)
ObserverUnappliedMethod 8005 8012 +0.1% 1.00x (?)
OpenClose 417 420 +0.7% 0.99x
Phonebook 22491 22216 -1.2% 1.01x
PolymorphicCalls 6727 6911 +2.7% 0.97x (?)
PopFrontArray 8799 8852 +0.6% 0.99x (?)
PopFrontArrayGeneric 7887 7901 +0.2% 1.00x (?)
PopFrontUnsafePointer 10489 10478 -0.1% 1.00x (?)
PrefixAnyCollection 15639 15579 -0.4% 1.00x
PrefixAnyCollectionLazy 115820 116981 +1.0% 0.99x (?)
PrefixAnySeqCRangeIter 17993 17959 -0.2% 1.00x (?)
PrefixAnySeqCRangeIterLazy 18108 18092 -0.1% 1.00x (?)
PrefixAnySeqCntRange 15615 15595 -0.1% 1.00x (?)
PrefixAnySeqCntRangeLazy 15567 15609 +0.3% 1.00x (?)
PrefixAnySequence 10165 10275 +1.1% 0.99x
PrefixAnySequenceLazy 10084 10036 -0.5% 1.00x
PrefixArray 5876 5883 +0.1% 1.00x
PrefixArrayLazy 32848 32890 +0.1% 1.00x
PrefixCountableRange 327 327 +0.0% 1.00x
PrefixCountableRangeLazy 29724 29808 +0.3% 1.00x
PrefixSequence 9946 9978 +0.3% 1.00x (?)
PrefixSequenceLazy 9811 9800 -0.1% 1.00x (?)
PrefixWhileAnyCollection 28804 28648 -0.5% 1.01x
PrefixWhileAnyCollectionLazy 17852 17995 +0.8% 0.99x (?)
PrefixWhileAnySeqCRangeIter 37940 37666 -0.7% 1.01x (?)
PrefixWhileAnySeqCRangeIterLazy 17733 17621 -0.6% 1.01x (?)
PrefixWhileAnySeqCntRange 28770 28722 -0.2% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 17941 17964 +0.1% 1.00x (?)
PrefixWhileAnySequence 30284 30157 -0.4% 1.00x (?)
PrefixWhileAnySequenceLazy 10585 10389 -1.9% 1.02x
PrefixWhileArray 15872 15869 -0.0% 1.00x (?)
PrefixWhileArrayLazy 14633 14649 +0.1% 1.00x
PrefixWhileCountableRange 13865 13875 +0.1% 1.00x (?)
PrefixWhileCountableRangeLazy 17628 17620 -0.0% 1.00x (?)
PrefixWhileSequence 29971 30011 +0.1% 1.00x (?)
PrefixWhileSequenceLazy 9890 9909 +0.2% 1.00x (?)
Prims 10294 10235 -0.6% 1.01x (?)
PrimsSplit 10355 10346 -0.1% 1.00x (?)
RC4 17809 18106 +1.7% 0.98x
RGBHistogram 29047 29019 -0.1% 1.00x (?)
RGBHistogramOfObjects 96985 97649 +0.7% 0.99x (?)
RangeAssignment 4444 4372 -1.6% 1.02x (?)
RangeIterationSigned 17268 17248 -0.1% 1.00x (?)
RangeIterationSigned64 42756 42672 -0.2% 1.00x (?)
RangeIterationUnsigned 38460 38479 +0.0% 1.00x (?)
RecursiveOwnedParameter 7727 7765 +0.5% 1.00x (?)
ReversedArray 17208 17248 +0.2% 1.00x
ReversedBidirectional 69726 67888 -2.6% 1.03x (?)
ReversedDictionary 28898 28996 +0.3% 1.00x (?)
SetExclusiveOr 17857 17864 +0.0% 1.00x (?)
SetExclusiveOr_OfObjects 41713 41682 -0.1% 1.00x (?)
SetIntersect 9137 9128 -0.1% 1.00x
SetIntersect_OfObjects 12163 12048 -0.9% 1.01x (?)
SetIsSubsetOf 1484 1484 +0.0% 1.00x
SetIsSubsetOf_OfObjects 1531 1543 +0.8% 0.99x (?)
SetUnion 11957 11969 +0.1% 1.00x (?)
SetUnion_OfObjects 29048 29168 +0.4% 1.00x (?)
SevenBoom 1686 1617 -4.1% 1.04x (?)
Sim2DArray 43795 43797 +0.0% 1.00x (?)
SortLargeExistentials 15972 15953 -0.1% 1.00x (?)
SortLettersInPlace 2849 2845 -0.1% 1.00x (?)
SortSortedStrings 1330 1337 +0.5% 0.99x
SortStrings 2487 2558 +2.9% 0.97x
SortStringsUnicode 9347 9331 -0.2% 1.00x (?)
StackPromo 84682 87516 +3.3% 0.97x (?)
StaticArray 2622 2696 +2.8% 0.97x (?)
StrComplexWalk 7261 7261 +0.0% 1.00x
StrToInt 71471 71398 -0.1% 1.00x (?)
StringAdder 3622 3611 -0.3% 1.00x (?)
StringBuilder 7360 7518 +2.1% 0.98x (?)
StringBuilderLong 1093 1093 +0.0% 1.00x
StringComparison_ascii 13797 13802 +0.0% 1.00x (?)
StringComparison_emoji 3638 3631 -0.2% 1.00x (?)
StringComparison_fastPrenormal 12726 12782 +0.4% 1.00x (?)
StringComparison_latin1 9211 9286 +0.8% 0.99x (?)
StringComparison_nonBMPSlowestPrenormal 6569 6557 -0.2% 1.00x (?)
StringComparison_slowerPrenormal 6521 6480 -0.6% 1.01x (?)
StringComparison_zalgo 2715 2701 -0.5% 1.01x (?)
StringEdits 413052 406451 -1.6% 1.02x (?)
StringEnumRawValueInitialization 13854 13871 +0.1% 1.00x (?)
StringEqualPointerComparison 3324 3398 +2.2% 0.98x
StringFromLongWholeSubstring 205 205 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 200 200 +0.0% 1.00x
StringHasPrefixAscii 2858 2858 +0.0% 1.00x
StringHasPrefixUnicode 20136 20256 +0.6% 0.99x (?)
StringHasSuffixAscii 2971 2971 +0.0% 1.00x
StringHasSuffixUnicode 78458 78594 +0.2% 1.00x (?)
StringInterpolation 13668 13745 +0.6% 0.99x (?)
StringMatch 35645 35651 +0.0% 1.00x (?)
StringUTF16Builder 8083 8155 +0.9% 0.99x (?)
StringWalk 13843 13816 -0.2% 1.00x
StringWithCString 69558 69579 +0.0% 1.00x (?)
SubstringComparable 4380 4385 +0.1% 1.00x (?)
SubstringEqualString 6505 6431 -1.1% 1.01x (?)
SubstringEquatable 9118 9518 +4.4% 0.96x
SubstringFromLongString 15 15 +0.0% 1.00x
SubstringFromLongStringGeneric 100 101 +1.0% 0.99x (?)
SuffixAnyCollection 5227 5228 +0.0% 1.00x (?)
SuffixAnyCollectionLazy 39321 38462 -2.2% 1.02x (?)
SuffixAnySeqCRangeIter 37294 37373 +0.2% 1.00x (?)
SuffixAnySeqCRangeIterLazy 37197 37224 +0.1% 1.00x (?)
SuffixAnySeqCntRange 5218 5215 -0.1% 1.00x (?)
SuffixAnySeqCntRangeLazy 5219 5202 -0.3% 1.00x
SuffixAnySequence 27467 27449 -0.1% 1.00x (?)
SuffixAnySequenceLazy 27474 27480 +0.0% 1.00x (?)
SuffixArray 1965 1966 +0.1% 1.00x (?)
SuffixArrayLazy 11087 11091 +0.0% 1.00x (?)
SuffixCountableRange 115 114 -0.9% 1.01x (?)
SuffixCountableRangeLazy 9850 9851 +0.0% 1.00x (?)
SuffixSequence 27692 27611 -0.3% 1.00x
SuffixSequenceLazy 27390 27394 +0.0% 1.00x (?)
SumUsingReduce 214532 214413 -0.1% 1.00x (?)
SumUsingReduceInto 211255 211066 -0.1% 1.00x (?)
SuperChars 194071 194854 +0.4% 1.00x (?)
TwoSum 4073 4088 +0.4% 1.00x (?)
TypeFlood 160 158 -1.2% 1.01x (?)
UTF8Decode 37198 37140 -0.2% 1.00x
Walsh 12085 12053 -0.3% 1.00x (?)
XorLoop 23642 23638 -0.0% 1.00x (?)
Added (1)
TEST MIN MAX MEAN MAX_RSS
StringComparison_longSharedPrefix 7624 8322 7943 4938138
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

@lancep
Copy link
Contributor Author

lancep commented Dec 13, 2017

@swift-ci please smoke test and merge

2 similar comments
@lancep
Copy link
Contributor Author

lancep commented Dec 13, 2017

@swift-ci please smoke test and merge

@lancep
Copy link
Contributor Author

lancep commented Dec 13, 2017

@swift-ci please smoke test and merge

@swift-ci swift-ci merged commit ff67910 into swiftlang:master Dec 13, 2017
@lancep lancep deleted the long_shared_prefix branch December 13, 2017 20:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants