Skip to content

[string] Hoist UTF8View fast-path for known ASCII #14052

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jan 23, 2018

Conversation

milseman
Copy link
Member

No description provided.

@milseman milseman requested a review from lorentey January 22, 2018 07:35
@milseman
Copy link
Member Author

@swift-ci please test

@milseman
Copy link
Member Author

@swift-ci please smoke benchmark

@milseman
Copy link
Member Author

This speeds up ArrayAppendAscii by ~2x.

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (11)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 412 652 +58.3% 0.63x
ObserverForwarderStruct 870 1084 +24.6% 0.80x (?)
PrefixWhileArray 88 105 +19.3% 0.84x
SuffixCountableRange 11 12 +9.1% 0.92x
DropLastCountableRange 11 12 +9.1% 0.92x
NopDeinit 21571 23306 +8.0% 0.93x
BinaryFloatingPointConversionFromBinaryInteger 45 48 +6.7% 0.94x
StringWordBuilderReservingCapacity 960 1020 +6.2% 0.94x
ArrayAppendUTF16 35741 37916 +6.1% 0.94x
FrequenciesUsingReduce 6752 7134 +5.7% 0.95x
NibbleSort 3956 4170 +5.4% 0.95x
Improvement (34)
TEST OLD NEW DELTA SPEEDUP
ArrayAppendAscii 25218 13684 -45.7% 1.84x
RangeIterationSigned 200 171 -14.5% 1.17x
CStringLongAscii 5881 5091 -13.4% 1.16x
PrefixWhileCountableRange 53 46 -13.2% 1.15x
StringWithCString 53773 46789 -13.0% 1.15x
Calculator 509 450 -11.6% 1.13x
MapReduceLazyCollectionShort 38 34 -10.5% 1.12x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 46206 42146 -8.8% 1.10x
PointerArithmetics 34351 31486 -8.3% 1.09x
DropLastCountableRangeLazy 12 11 -8.3% 1.09x
ObjectiveCBridgeFromNSArrayAnyObjectForced 4980 4578 -8.1% 1.09x (?)
DropLastSequenceLazy 738 684 -7.3% 1.08x
DropLastSequence 734 681 -7.2% 1.08x
CharIndexing_tweet_unicodeScalars 35402 33003 -6.8% 1.07x
ObjectiveCBridgeFromNSSetAnyObjectToString 83698 78061 -6.7% 1.07x (?)
MapReduceAnyCollection 456 428 -6.1% 1.07x
CharIteration_tweet_unicodeScalars_Backwards 27847 26147 -6.1% 1.07x
CharIteration_punctuated_unicodeScalars_Backwards 3231 3034 -6.1% 1.06x
CharIteration_korean_unicodeScalars_Backwards 13686 12866 -6.0% 1.06x
CharIteration_ascii_unicodeScalars_Backwards 14118 13284 -5.9% 1.06x
CharIndexing_ascii_unicodeScalars 17777 16745 -5.8% 1.06x
CharIndexing_korean_unicodeScalars 17239 16242 -5.8% 1.06x
CharIndexing_chinese_unicodeScalars 13457 12680 -5.8% 1.06x
CharIndexing_japanese_unicodeScalars 21272 20046 -5.8% 1.06x
CharIndexing_russian_unicodeScalars 14802 13955 -5.7% 1.06x
CharIteration_russian_unicodeScalars_Backwards 11768 11099 -5.7% 1.06x
CharIndexing_punctuated_unicodeScalars 4019 3793 -5.6% 1.06x
CharIteration_utf16_unicodeScalars_Backwards 17341 16388 -5.5% 1.06x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2594 2452 -5.5% 1.06x
CharIndexing_punctuatedJapanese_unicodeScalars 3212 3037 -5.4% 1.06x
CharIteration_chinese_unicodeScalars_Backwards 10702 10121 -5.4% 1.06x
CharIteration_japanese_unicodeScalars_Backwards 16891 16041 -5.0% 1.05x
ObjectiveCBridgeStubFromArrayOfNSString 33143 31488 -5.0% 1.05x (?)
ObjectiveCBridgeFromNSArrayAnyObject 22309 21243 -4.8% 1.05x (?)
No Changes (312)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3457 3463 +0.2% 1.00x (?)
AnyHashableWithAClass 70168 70234 +0.1% 1.00x (?)
Array2D 2519 2518 -0.0% 1.00x (?)
ArrayAppend 979 978 -0.1% 1.00x (?)
ArrayAppendArrayOfInt 743 744 +0.1% 1.00x (?)
ArrayAppendFromGeneric 744 738 -0.8% 1.01x (?)
ArrayAppendGenericStructs 1359 1357 -0.1% 1.00x (?)
ArrayAppendLatin1 37306 38381 +2.9% 0.97x
ArrayAppendLazyMap 1288 1287 -0.1% 1.00x (?)
ArrayAppendOptionals 1357 1358 +0.1% 1.00x (?)
ArrayAppendRepeatCol 1285 1285 +0.0% 1.00x
ArrayAppendReserved 724 724 +0.0% 1.00x
ArrayAppendSequence 1080 1081 +0.1% 1.00x (?)
ArrayAppendStrings 15152 15156 +0.0% 1.00x (?)
ArrayAppendToFromGeneric 744 743 -0.1% 1.00x (?)
ArrayAppendToGeneric 743 743 +0.0% 1.00x
ArrayInClass 86 85 -1.2% 1.01x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 146 146 +0.0% 1.00x
ArrayOfGenericRef 4275 4267 -0.2% 1.00x
ArrayOfPOD 177 177 +0.0% 1.00x
ArrayOfRef 4247 4248 +0.0% 1.00x (?)
ArrayPlusEqualArrayOfInt 747 742 -0.7% 1.01x
ArrayPlusEqualFiveElementCollection 5577 5583 +0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 977 979 +0.2% 1.00x
ArrayPlusEqualThreeElements 1579 1578 -0.1% 1.00x (?)
ArraySubscript 1487 1487 +0.0% 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 202 202 +0.0% 1.00x
ByteSwap 102 102 +0.0% 1.00x
COWTree 3363 3379 +0.5% 1.00x
CSVParsing 969581 960662 -0.9% 1.01x (?)
CSVParsingAlt 713351 717699 +0.6% 0.99x
CSVParsingAltIndices 351966 358384 +1.8% 0.98x
CStringLongNonAscii 2132 2225 +4.4% 0.96x
CStringShortAscii 4796 4651 -3.0% 1.03x
CaptureProp 7685 7729 +0.6% 0.99x
CharIndexing_ascii_unicodeScalars_Backwards 15975 15515 -2.9% 1.03x
CharIndexing_chinese_unicodeScalars_Backwards 12101 11743 -3.0% 1.03x
CharIndexing_japanese_unicodeScalars_Backwards 19120 18558 -2.9% 1.03x
CharIndexing_korean_unicodeScalars_Backwards 15493 15035 -3.0% 1.03x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2905 2829 -2.6% 1.03x
CharIndexing_punctuated_unicodeScalars_Backwards 3632 3530 -2.8% 1.03x
CharIndexing_russian_unicodeScalars_Backwards 13317 12924 -3.0% 1.03x
CharIndexing_tweet_unicodeScalars_Backwards 31562 30312 -4.0% 1.04x
CharIndexing_utf16_unicodeScalars 25412 25060 -1.4% 1.01x
CharIndexing_utf16_unicodeScalars_Backwards 25586 25504 -0.3% 1.00x
CharIteration_ascii_unicodeScalars 20558 21041 +2.3% 0.98x
CharIteration_chinese_unicodeScalars 15536 15901 +2.3% 0.98x
CharIteration_japanese_unicodeScalars 24623 25184 +2.3% 0.98x
CharIteration_korean_unicodeScalars 19926 20389 +2.3% 0.98x
CharIteration_punctuatedJapanese_unicodeScalars 3723 3778 +1.5% 0.99x
CharIteration_punctuated_unicodeScalars 4634 4727 +2.0% 0.98x
CharIteration_russian_unicodeScalars 17088 17513 +2.5% 0.98x
CharIteration_tweet_unicodeScalars 40663 41475 +2.0% 0.98x
CharIteration_utf16_unicodeScalars 26969 27318 +1.3% 0.99x
CharacterLiteralsLarge 5755 5752 -0.1% 1.00x (?)
CharacterLiteralsSmall 403 411 +2.0% 0.98x
CharacterPropertiesFetch 4386 4386 +0.0% 1.00x
CharacterPropertiesPrecomputed 953 952 -0.1% 1.00x
CharacterPropertiesStashed 1505 1507 +0.1% 1.00x (?)
CharacterPropertiesStashedMemo 1498 1503 +0.3% 1.00x (?)
Chars 965 964 -0.1% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 454 451 -0.7% 1.01x
DictOfArraysToArrayOfDicts 857 855 -0.2% 1.00x (?)
Dictionary 756 767 +1.5% 0.99x
Dictionary2 1919 1914 -0.3% 1.00x
Dictionary2OfObjects 3296 3291 -0.2% 1.00x
Dictionary3 566 566 +0.0% 1.00x
Dictionary3OfObjects 916 915 -0.1% 1.00x (?)
DictionaryBridge 2205 2109 -4.4% 1.05x (?)
DictionaryGroup 145 145 +0.0% 1.00x
DictionaryGroupOfObjects 1809 1814 +0.3% 1.00x (?)
DictionaryLiteral 1547 1545 -0.1% 1.00x (?)
DictionaryOfObjects 2395 2405 +0.4% 1.00x
DictionaryRemove 2802 2855 +1.9% 0.98x
DictionaryRemoveOfObjects 22437 22592 +0.7% 0.99x
DictionarySubscriptDefaultMutation 152 151 -0.7% 1.01x
DictionarySubscriptDefaultMutationArray 487 487 +0.0% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 3659 3646 -0.4% 1.00x
DictionarySubscriptDefaultMutationOfObjects 1292 1295 +0.2% 1.00x (?)
DictionarySwap 485 485 +0.0% 1.00x
DictionarySwapOfObjects 7247 7527 +3.9% 0.96x
DropFirstAnyCollection 75 75 +0.0% 1.00x
DropFirstAnyCollectionLazy 65948 65851 -0.1% 1.00x (?)
DropFirstAnySeqCRangeIter 19241 19277 +0.2% 1.00x
DropFirstAnySeqCRangeIterLazy 19239 19280 +0.2% 1.00x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 4338 4363 +0.6% 0.99x
DropFirstAnySequenceLazy 4342 4389 +1.1% 0.99x
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 2621 2621 +0.0% 1.00x
DropFirstSequenceLazy 2714 2715 +0.0% 1.00x (?)
DropLastAnyCollection 27 27 +0.0% 1.00x
DropLastAnyCollectionLazy 21815 21914 +0.5% 1.00x (?)
DropLastAnySeqCRangeIter 3515 3544 +0.8% 0.99x
DropLastAnySeqCRangeIterLazy 3510 3548 +1.1% 0.99x
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 5081 5119 +0.7% 0.99x
DropLastAnySequenceLazy 5168 5206 +0.7% 0.99x
DropWhileAnyCollection 99 99 +0.0% 1.00x
DropWhileAnyCollectionLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCRangeIter 15557 15631 +0.5% 1.00x
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 147 147 +0.0% 1.00x
DropWhileAnySequence 4696 4685 -0.2% 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 1321 -0.1% 1.00x (?)
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 418 421 +0.7% 0.99x (?)
EqualSubstringString 418 421 +0.7% 0.99x (?)
EqualSubstringSubstring 419 421 +0.5% 1.00x
EqualSubstringSubstringGenericEquatable 419 421 +0.5% 1.00x
ErrorHandling 2300 2283 -0.7% 1.01x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1286 1282 -0.3% 1.00x (?)
FilterEvenUsingReduceInto 144 144 +0.0% 1.00x
FrequenciesUsingReduceInto 3192 3204 +0.4% 1.00x (?)
Hanoi 3692 3698 +0.2% 1.00x
HashTest 1663 1669 +0.4% 1.00x (?)
Histogram 347 339 -2.3% 1.02x
Integrate 217 217 +0.0% 1.00x
IterateData 1316 1372 +4.3% 0.96x
Join 357 357 +0.0% 1.00x
LazilyFilteredArrayContains 31481 30681 -2.5% 1.03x
LazilyFilteredArrays 66295 66277 -0.0% 1.00x (?)
LazilyFilteredRange 3911 3810 -2.6% 1.03x
LessSubstringSubstring 419 421 +0.5% 1.00x (?)
LessSubstringSubstringGenericComparable 419 421 +0.5% 1.00x (?)
LinkedList 7129 7130 +0.0% 1.00x (?)
LuhnAlgoEager 580 588 +1.4% 0.99x (?)
LuhnAlgoLazy 588 587 -0.2% 1.00x (?)
MapReduce 457 458 +0.2% 1.00x (?)
MapReduceAnyCollectionShort 1996 2007 +0.6% 0.99x (?)
MapReduceClass 3026 3025 -0.0% 1.00x (?)
MapReduceClassShort 4491 4551 +1.3% 0.99x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 454 454 +0.0% 1.00x
MapReduceShort 2012 1988 -1.2% 1.01x (?)
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 85 85 +0.0% 1.00x
Memset 213 213 +0.0% 1.00x
MonteCarloE 10314 10424 +1.1% 0.99x
MonteCarloPi 42872 42872 +0.0% 1.00x
NSDictionaryCastToSwift 5345 5256 -1.7% 1.02x (?)
NSError 292 291 -0.3% 1.00x
NSStringConversion 335 335 +0.0% 1.00x
ObjectAllocation 176 178 +1.1% 0.99x
ObjectiveCBridgeFromNSArrayAnyObjectToString 46148 44860 -2.8% 1.03x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 131873 134249 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObject 62539 63414 +1.4% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4509 4520 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSString 1604 1635 +1.9% 0.98x (?)
ObjectiveCBridgeFromNSStringForced 2783 2762 -0.8% 1.01x
ObjectiveCBridgeStubDataAppend 4134 4098 -0.9% 1.01x
ObjectiveCBridgeStubDateMutation 256 257 +0.4% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 4023 4074 +1.3% 0.99x
ObjectiveCBridgeStubFromNSString 1049 1045 -0.4% 1.00x
ObjectiveCBridgeStubFromNSStringRef 169 164 -3.0% 1.03x
ObjectiveCBridgeStubNSDataAppend 2611 2572 -1.5% 1.02x (?)
ObjectiveCBridgeStubNSDateMutationRef 12779 12753 -0.2% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 29855 29329 -1.8% 1.02x (?)
ObjectiveCBridgeStubToNSDate 15039 15548 +3.4% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3385 3434 +1.4% 0.99x (?)
ObjectiveCBridgeStubToNSString 1442 1443 +0.1% 1.00x
ObjectiveCBridgeStubToNSStringRef 118 120 +1.7% 0.98x
ObjectiveCBridgeStubURLAppendPath 340611 352948 +3.6% 0.97x (?)
ObjectiveCBridgeStubURLAppendPathRef 349509 349149 -0.1% 1.00x (?)
ObjectiveCBridgeToNSArray 28480 28396 -0.3% 1.00x (?)
ObjectiveCBridgeToNSDictionary 62167 61365 -1.3% 1.01x (?)
ObjectiveCBridgeToNSSet 53146 53104 -0.1% 1.00x (?)
ObjectiveCBridgeToNSString 1216 1220 +0.3% 1.00x
ObserverClosure 2011 2074 +3.1% 0.97x (?)
ObserverPartiallyAppliedMethod 3474 3555 +2.3% 0.98x
ObserverUnappliedMethod 2138 2140 +0.1% 1.00x (?)
OpenClose 263 266 +1.1% 0.99x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4162 4149 -0.3% 1.00x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1870 1877 +0.4% 1.00x (?)
PopFrontArrayGeneric 1897 1894 -0.2% 1.00x
PopFrontUnsafePointer 8872 8854 -0.2% 1.00x (?)
PrefixAnyCollection 75 75 +0.0% 1.00x
PrefixAnyCollectionLazy 65310 65332 +0.0% 1.00x (?)
PrefixAnySeqCRangeIter 14954 14980 +0.2% 1.00x
PrefixAnySeqCRangeIterLazy 14952 14979 +0.2% 1.00x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 3713 3739 +0.7% 0.99x
PrefixAnySequenceLazy 3705 3678 -0.7% 1.01x
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 9366 9440 +0.8% 0.99x (?)
PrefixWhileAnySeqCRangeIterLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCntRange 141 141 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 106 106 +0.0% 1.00x
PrefixWhileAnySequence 10434 10389 -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 390 390 +0.0% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 763 759 -0.5% 1.01x
PrimsSplit 759 762 +0.4% 1.00x (?)
RC4 164 165 +0.6% 0.99x
RGBHistogram 2812 2834 +0.8% 0.99x
RGBHistogramOfObjects 23372 23316 -0.2% 1.00x (?)
RangeAssignment 380 382 +0.5% 0.99x (?)
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 955 954 -0.1% 1.00x (?)
RecursiveOwnedParameter 2267 2294 +1.2% 0.99x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 15495 15491 -0.0% 1.00x (?)
ReversedDictionary 121 122 +0.8% 0.99x (?)
RomanNumbers 110643 110319 -0.3% 1.00x (?)
SetExclusiveOr 3558 3529 -0.8% 1.01x (?)
SetExclusiveOr_OfObjects 8414 8386 -0.3% 1.00x
SetIntersect 317 319 +0.6% 0.99x
SetIntersect_OfObjects 1708 1712 +0.2% 1.00x
SetIsSubsetOf 291 292 +0.3% 1.00x
SetIsSubsetOf_OfObjects 349 349 +0.0% 1.00x
SetUnion 2946 2944 -0.1% 1.00x (?)
SetUnion_OfObjects 6902 6931 +0.4% 1.00x
SevenBoom 1474 1467 -0.5% 1.00x (?)
SortLargeExistentials 6814 6755 -0.9% 1.01x
SortLettersInPlace 1096 1097 +0.1% 1.00x (?)
SortSortedStrings 1160 1116 -3.8% 1.04x
SortStrings 2050 1969 -4.0% 1.04x
SortStringsUnicode 15149 15199 +0.3% 1.00x (?)
StackPromo 22107 21976 -0.6% 1.01x
StaticArray 6 6 +0.0% 1.00x
StrComplexWalk 1569 1572 +0.2% 1.00x
StrToInt 2183 2149 -1.6% 1.02x
StringAdder 4091 4086 -0.1% 1.00x (?)
StringBuilder 1290 1300 +0.8% 0.99x
StringBuilderLong 1044 1048 +0.4% 1.00x (?)
StringComparison_abnormal 852 854 +0.2% 1.00x (?)
StringComparison_ascii 992 1007 +1.5% 0.99x
StringComparison_emoji 2452 2467 +0.6% 0.99x
StringComparison_fastPrenormal 8632 8672 +0.5% 1.00x
StringComparison_latin1 5924 5951 +0.5% 1.00x (?)
StringComparison_longSharedPrefix 11233 11244 +0.1% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 4498 4523 +0.6% 0.99x
StringComparison_slowerPrenormal 4094 4116 +0.5% 0.99x
StringComparison_zalgo 1692 1694 +0.1% 1.00x
StringEdits 201187 194374 -3.4% 1.04x
StringEnumRawValueInitialization 1360 1360 +0.0% 1.00x
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 10 10 +0.0% 1.00x
StringHasPrefixAscii 1660 1603 -3.4% 1.04x
StringHasPrefixUnicode 28228 28102 -0.4% 1.00x
StringHasSuffixAscii 1774 1746 -1.6% 1.02x
StringHasSuffixUnicode 87977 88024 +0.1% 1.00x (?)
StringInterpolation 8685 8647 -0.4% 1.00x (?)
StringMatch 7609 7419 -2.5% 1.03x
StringRemoveDupes 1091 1091 +0.0% 1.00x
StringUTF16Builder 2275 2267 -0.4% 1.00x (?)
StringWalk 1601 1580 -1.3% 1.01x
StringWordBuilder 1261 1324 +5.0% 0.95x
SubstringComparable 1990 2017 +1.4% 0.99x (?)
SubstringEqualString 2080 2086 +0.3% 1.00x (?)
SubstringEquatable 3146 3141 -0.2% 1.00x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 69 70 +1.4% 0.99x (?)
SuffixAnyCollection 27 27 +0.0% 1.00x
SuffixAnyCollectionLazy 21993 22156 +0.7% 0.99x (?)
SuffixAnySeqCRangeIter 3809 3842 +0.9% 0.99x
SuffixAnySeqCRangeIterLazy 3805 3826 +0.6% 0.99x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 5067 5098 +0.6% 0.99x
SuffixAnySequenceLazy 5162 5205 +0.8% 0.99x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3770 3798 +0.7% 0.99x
SuffixSequenceLazy 3766 3789 +0.6% 0.99x
SumUsingReduce 97 102 +5.2% 0.95x
SumUsingReduceInto 97 102 +5.2% 0.95x
SuperChars 40721 40645 -0.2% 1.00x (?)
TwoSum 993 993 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 313 318 +1.6% 0.98x
Walsh 428 433 +1.2% 0.99x
WordCountHistogramASCII 8854 8876 +0.2% 1.00x (?)
WordCountHistogramUTF16 51913 53494 +3.0% 0.97x (?)
WordCountUniqueASCII 2549 2609 +2.4% 0.98x
WordCountUniqueUTF16 21746 21917 +0.8% 0.99x (?)
WordSplitASCII 21834 21775 -0.3% 1.00x (?)
WordSplitUTF16 22365 22292 -0.3% 1.00x (?)
XorLoop 384 384 +0.0% 1.00x

Unoptimized (Onone)

Regression (8)
TEST OLD NEW DELTA SPEEDUP
ObjectiveCBridgeFromNSArrayAnyObjectForced 8570 9363 +9.3% 0.92x (?)
DropFirstAnyCollectionLazy 98336 105751 +7.5% 0.93x (?)
StackPromo 85113 91290 +7.3% 0.93x
CharIndexing_punctuated_unicodeScalars 78870 83935 +6.4% 0.94x (?)
TypeFlood 159 169 +6.3% 0.94x
CharIndexing_korean_unicodeScalars 351574 373533 +6.2% 0.94x (?)
ArrayAppendUTF16 60621 63839 +5.3% 0.95x
ObjectiveCBridgeFromNSArrayAnyObject 23667 24916 +5.3% 0.95x (?)
Improvement (12)
TEST OLD NEW DELTA SPEEDUP
ArrayAppendAscii 49902 40415 -19.0% 1.23x
ObjectiveCBridgeStubFromArrayOfNSString 35182 30455 -13.4% 1.16x (?)
CharacterPropertiesFetch 5803 5203 -10.3% 1.12x
ObjectiveCBridgeFromNSSetAnyObjectToString 94784 85004 -10.3% 1.12x
ArrayOfPOD 834 748 -10.3% 1.11x
CStringLongAscii 5736 5241 -8.6% 1.09x
StringWithCString 49138 45183 -8.0% 1.09x
Combos 2079 1940 -6.7% 1.07x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 51782 48448 -6.4% 1.07x
CharIndexing_japanese_unicodeScalars_Backwards 547469 515184 -5.9% 1.06x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 8034 7572 -5.8% 1.06x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 77399 73468 -5.1% 1.05x
No Changes (337)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 5018 4947 -1.4% 1.01x (?)
AnyHashableWithAClass 87168 86907 -0.3% 1.00x
Array2D 632231 631632 -0.1% 1.00x (?)
ArrayAppend 4866 4865 -0.0% 1.00x
ArrayAppendArrayOfInt 788 789 +0.1% 1.00x (?)
ArrayAppendFromGeneric 791 791 +0.0% 1.00x
ArrayAppendGenericStructs 1404 1403 -0.1% 1.00x (?)
ArrayAppendLatin1 62291 63613 +2.1% 0.98x
ArrayAppendLazyMap 168806 169136 +0.2% 1.00x
ArrayAppendOptionals 1404 1400 -0.3% 1.00x (?)
ArrayAppendRepeatCol 177092 175308 -1.0% 1.01x
ArrayAppendReserved 4610 4605 -0.1% 1.00x (?)
ArrayAppendSequence 142992 146280 +2.3% 0.98x
ArrayAppendStrings 15315 15301 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 788 788 +0.0% 1.00x
ArrayAppendToGeneric 796 791 -0.6% 1.01x (?)
ArrayInClass 6215 6217 +0.0% 1.00x (?)
ArrayLiteral 1683 1677 -0.4% 1.00x
ArrayOfGenericPOD2 1183 1127 -4.7% 1.05x
ArrayOfGenericRef 10031 9965 -0.7% 1.01x
ArrayOfRef 9463 9495 +0.3% 1.00x (?)
ArrayPlusEqualArrayOfInt 788 786 -0.3% 1.00x (?)
ArrayPlusEqualFiveElementCollection 230362 229714 -0.3% 1.00x (?)
ArrayPlusEqualSingleElementCollection 226528 226339 -0.1% 1.00x (?)
ArrayPlusEqualThreeElements 9100 8988 -1.2% 1.01x (?)
ArraySubscript 81354 80874 -0.6% 1.01x (?)
ArrayValueProp 3444 3433 -0.3% 1.00x
ArrayValueProp2 15883 15897 +0.1% 1.00x (?)
ArrayValueProp3 3921 3910 -0.3% 1.00x (?)
ArrayValueProp4 3930 3868 -1.6% 1.02x
BinaryFloatingPointConversionFromBinaryInteger 6106 5993 -1.9% 1.02x (?)
BitCount 2211 2208 -0.1% 1.00x (?)
ByteSwap 3932 3932 +0.0% 1.00x
COWTree 12276 12140 -1.1% 1.01x
CSVParsing 2801685 2807108 +0.2% 1.00x (?)
CSVParsingAlt 1399656 1417753 +1.3% 0.99x (?)
CSVParsingAltIndices 2679540 2603873 -2.8% 1.03x (?)
CStringLongNonAscii 2206 2316 +5.0% 0.95x
CStringShortAscii 7654 7571 -1.1% 1.01x (?)
Calculator 1688 1691 +0.2% 1.00x (?)
CaptureProp 348249 348984 +0.2% 1.00x
CharIndexing_ascii_unicodeScalars 382972 383440 +0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars_Backwards 426425 431938 +1.3% 0.99x (?)
CharIndexing_chinese_unicodeScalars 272008 271609 -0.1% 1.00x (?)
CharIndexing_chinese_unicodeScalars_Backwards 322900 330528 +2.4% 0.98x (?)
CharIndexing_japanese_unicodeScalars 437327 430358 -1.6% 1.02x (?)
CharIndexing_korean_unicodeScalars_Backwards 419997 441606 +5.1% 0.95x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 64006 64101 +0.1% 1.00x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 94901 94142 -0.8% 1.01x (?)
CharIndexing_russian_unicodeScalars 298487 300471 +0.7% 0.99x (?)
CharIndexing_russian_unicodeScalars_Backwards 363297 358633 -1.3% 1.01x (?)
CharIndexing_tweet_unicodeScalars 703349 711430 +1.1% 0.99x (?)
CharIndexing_tweet_unicodeScalars_Backwards 865257 857990 -0.8% 1.01x (?)
CharIndexing_utf16_unicodeScalars 319194 317708 -0.5% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 350853 349402 -0.4% 1.00x (?)
CharIteration_ascii_unicodeScalars 154411 154945 +0.3% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 328725 328857 +0.0% 1.00x (?)
CharIteration_chinese_unicodeScalars 118246 118688 +0.4% 1.00x (?)
CharIteration_chinese_unicodeScalars_Backwards 251137 249906 -0.5% 1.00x (?)
CharIteration_japanese_unicodeScalars 187057 187844 +0.4% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 402412 402424 +0.0% 1.00x (?)
CharIteration_korean_unicodeScalars 150248 150113 -0.1% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 320352 334354 +4.4% 0.96x (?)
CharIteration_punctuatedJapanese_unicodeScalars 27641 28269 +2.3% 0.98x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 59757 57082 -4.5% 1.05x (?)
CharIteration_punctuated_unicodeScalars 34657 34849 +0.6% 0.99x (?)
CharIteration_punctuated_unicodeScalars_Backwards 73358 72523 -1.1% 1.01x (?)
CharIteration_russian_unicodeScalars 128513 129220 +0.6% 0.99x (?)
CharIteration_russian_unicodeScalars_Backwards 271547 272188 +0.2% 1.00x (?)
CharIteration_tweet_unicodeScalars 305139 305863 +0.2% 1.00x (?)
CharIteration_tweet_unicodeScalars_Backwards 646553 650465 +0.6% 0.99x (?)
CharIteration_utf16_unicodeScalars 131104 130492 -0.5% 1.00x (?)
CharIteration_utf16_unicodeScalars_Backwards 272821 274020 +0.4% 1.00x (?)
CharacterLiteralsLarge 5639 5636 -0.1% 1.00x (?)
CharacterLiteralsSmall 741 740 -0.1% 1.00x
CharacterPropertiesPrecomputed 4273 4290 +0.4% 1.00x (?)
CharacterPropertiesStashed 2284 2292 +0.4% 1.00x (?)
CharacterPropertiesStashedMemo 4876 4960 +1.7% 0.98x (?)
Chars 39493 39597 +0.3% 1.00x (?)
ClassArrayGetter 983 979 -0.4% 1.00x
DictOfArraysToArrayOfDicts 3362 3397 +1.0% 0.99x (?)
Dictionary 2652 2608 -1.7% 1.02x
Dictionary2 2962 2957 -0.2% 1.00x (?)
Dictionary2OfObjects 5665 5719 +1.0% 0.99x (?)
Dictionary3 1336 1339 +0.2% 1.00x (?)
Dictionary3OfObjects 2262 2337 +3.3% 0.97x
DictionaryBridge 2297 2286 -0.5% 1.00x (?)
DictionaryGroup 4340 4364 +0.6% 0.99x (?)
DictionaryGroupOfObjects 7325 7337 +0.2% 1.00x (?)
DictionaryLiteral 8368 8318 -0.6% 1.01x
DictionaryOfObjects 6208 6237 +0.5% 1.00x (?)
DictionaryRemove 18315 18239 -0.4% 1.00x
DictionaryRemoveOfObjects 48704 48648 -0.1% 1.00x (?)
DictionarySubscriptDefaultMutation 2003 1997 -0.3% 1.00x (?)
DictionarySubscriptDefaultMutationArray 2248 2248 +0.0% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 8957 9056 +1.1% 0.99x
DictionarySubscriptDefaultMutationOfObjects 5677 5478 -3.5% 1.04x (?)
DictionarySwap 5221 5264 +0.8% 0.99x
DictionarySwapOfObjects 22149 22137 -0.1% 1.00x (?)
DropFirstAnyCollection 14554 14837 +1.9% 0.98x
DropFirstAnySeqCRangeIter 21675 21713 +0.2% 1.00x
DropFirstAnySeqCRangeIterLazy 21693 21754 +0.3% 1.00x (?)
DropFirstAnySeqCntRange 14287 14526 +1.7% 0.98x
DropFirstAnySeqCntRangeLazy 14337 14550 +1.5% 0.99x
DropFirstAnySequence 10770 10866 +0.9% 0.99x
DropFirstAnySequenceLazy 10691 10857 +1.6% 0.98x
DropFirstArray 3826 3832 +0.2% 1.00x (?)
DropFirstArrayLazy 25635 25572 -0.2% 1.00x
DropFirstCountableRange 325 325 +0.0% 1.00x
DropFirstCountableRangeLazy 26634 26683 +0.2% 1.00x
DropFirstSequence 10499 10616 +1.1% 0.99x
DropFirstSequenceLazy 10370 10496 +1.2% 0.99x
DropLastAnyCollection 4872 4932 +1.2% 0.99x
DropLastAnyCollectionLazy 32746 34287 +4.7% 0.96x (?)
DropLastAnySeqCRangeIter 38493 38467 -0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 38377 38408 +0.1% 1.00x (?)
DropLastAnySeqCntRange 4778 4845 +1.4% 0.99x
DropLastAnySeqCntRangeLazy 4774 4796 +0.5% 1.00x (?)
DropLastAnySequence 28883 29022 +0.5% 1.00x (?)
DropLastAnySequenceLazy 28842 28946 +0.4% 1.00x
DropLastCountableRange 113 113 +0.0% 1.00x
DropLastCountableRangeLazy 8887 8882 -0.1% 1.00x (?)
DropLastSequence 28783 28807 +0.1% 1.00x (?)
DropLastSequenceLazy 28822 28877 +0.2% 1.00x
DropWhileAnyCollection 18605 18617 +0.1% 1.00x (?)
DropWhileAnyCollectionLazy 19815 19853 +0.2% 1.00x
DropWhileAnySeqCRangeIter 23338 23404 +0.3% 1.00x
DropWhileAnySeqCRangeIterLazy 19991 20014 +0.1% 1.00x
DropWhileAnySeqCntRange 18329 18448 +0.6% 0.99x (?)
DropWhileAnySeqCntRangeLazy 19772 19823 +0.3% 1.00x (?)
DropWhileAnySequence 12334 12489 +1.3% 0.99x
DropWhileAnySequenceLazy 10178 10159 -0.2% 1.00x (?)
DropWhileArrayLazy 13556 13601 +0.3% 1.00x (?)
DropWhileCountableRange 4474 4485 +0.2% 1.00x
DropWhileCountableRangeLazy 19354 19444 +0.5% 1.00x
DropWhileSequence 12032 12103 +0.6% 0.99x
DropWhileSequenceLazy 9769 9772 +0.0% 1.00x (?)
EqualStringSubstring 464 465 +0.2% 1.00x
EqualSubstringString 464 465 +0.2% 1.00x (?)
EqualSubstringSubstring 465 466 +0.2% 1.00x
EqualSubstringSubstringGenericEquatable 472 473 +0.2% 1.00x
ErrorHandling 7148 7310 +2.3% 0.98x (?)
ExclusivityGlobal 194 194 +0.0% 1.00x
ExclusivityIndependent 74 74 +0.0% 1.00x
FilterEvenUsingReduce 3716 3712 -0.1% 1.00x (?)
FilterEvenUsingReduceInto 2002 2000 -0.1% 1.00x (?)
FrequenciesUsingReduce 10469 10535 +0.6% 0.99x (?)
FrequenciesUsingReduceInto 5428 5403 -0.5% 1.00x (?)
Hanoi 20357 20230 -0.6% 1.01x
HashTest 16982 16882 -0.6% 1.01x (?)
Histogram 6524 6528 +0.1% 1.00x
Integrate 810 810 +0.0% 1.00x
IterateData 7694 7698 +0.1% 1.00x (?)
Join 1094 1099 +0.5% 1.00x
LazilyFilteredArrayContains 773706 774382 +0.1% 1.00x (?)
LazilyFilteredArrays 1455763 1464856 +0.6% 0.99x
LazilyFilteredRange 488796 490217 +0.3% 1.00x
LessSubstringSubstring 466 467 +0.2% 1.00x (?)
LessSubstringSubstringGenericComparable 471 471 +0.0% 1.00x
LinkedList 30876 30875 -0.0% 1.00x (?)
LuhnAlgoEager 5284 5331 +0.9% 0.99x (?)
LuhnAlgoLazy 5423 5248 -3.2% 1.03x (?)
MapReduce 27824 27898 +0.3% 1.00x
MapReduceAnyCollection 28291 28219 -0.3% 1.00x
MapReduceAnyCollectionShort 39769 40340 +1.4% 0.99x (?)
MapReduceClass 31970 31980 +0.0% 1.00x (?)
MapReduceClassShort 42907 42598 -0.7% 1.01x (?)
MapReduceLazyCollection 23429 23467 +0.2% 1.00x (?)
MapReduceLazyCollectionShort 34489 34444 -0.1% 1.00x (?)
MapReduceLazySequence 18318 18433 +0.6% 0.99x
MapReduceSequence 30852 31001 +0.5% 1.00x
MapReduceShort 39501 38722 -2.0% 1.02x (?)
MapReduceShortString 242 237 -2.1% 1.02x (?)
MapReduceString 1925 1932 +0.4% 1.00x (?)
Memset 44971 44975 +0.0% 1.00x (?)
MonteCarloE 909625 906563 -0.3% 1.00x (?)
MonteCarloPi 3945642 3925512 -0.5% 1.01x
NSDictionaryCastToSwift 6577 6570 -0.1% 1.00x (?)
NSError 699 697 -0.3% 1.00x (?)
NSStringConversion 379 375 -1.1% 1.01x
NibbleSort 311833 307159 -1.5% 1.02x
NopDeinit 180541 180537 -0.0% 1.00x (?)
ObjectAllocation 1361 1325 -2.6% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 41598 41576 -0.1% 1.00x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 138728 137119 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSSetAnyObject 67555 68398 +1.2% 0.99x (?)
ObjectiveCBridgeFromNSString 3602 3584 -0.5% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 3104 3109 +0.2% 1.00x (?)
ObjectiveCBridgeStubDataAppend 4468 4533 +1.5% 0.99x
ObjectiveCBridgeStubDateMutation 604 601 -0.5% 1.00x (?)
ObjectiveCBridgeStubFromNSDate 4301 4359 +1.3% 0.99x
ObjectiveCBridgeStubFromNSString 1085 1104 +1.8% 0.98x
ObjectiveCBridgeStubFromNSStringRef 205 204 -0.5% 1.00x
ObjectiveCBridgeStubNSDataAppend 3099 3035 -2.1% 1.02x (?)
ObjectiveCBridgeStubNSDateMutationRef 15621 15196 -2.7% 1.03x (?)
ObjectiveCBridgeStubToArrayOfNSString 29174 28643 -1.8% 1.02x
ObjectiveCBridgeStubToNSDate 15695 15648 -0.3% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3374 3379 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1486 1488 +0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 163 161 -1.2% 1.01x
ObjectiveCBridgeStubURLAppendPath 360119 367375 +2.0% 0.98x
ObjectiveCBridgeStubURLAppendPathRef 361014 355433 -1.5% 1.02x (?)
ObjectiveCBridgeToNSArray 29406 29489 +0.3% 1.00x (?)
ObjectiveCBridgeToNSDictionary 63830 62432 -2.2% 1.02x (?)
ObjectiveCBridgeToNSSet 53339 53196 -0.3% 1.00x (?)
ObjectiveCBridgeToNSString 1253 1253 +0.0% 1.00x
ObserverClosure 6175 6158 -0.3% 1.00x (?)
ObserverForwarderStruct 4306 4306 +0.0% 1.00x
ObserverPartiallyAppliedMethod 7552 7533 -0.3% 1.00x (?)
ObserverUnappliedMethod 7761 7919 +2.0% 0.98x
OpenClose 573 567 -1.0% 1.01x
PartialApplyDynamicType 38981 39104 +0.3% 1.00x (?)
Phonebook 21052 20844 -1.0% 1.01x
PointerArithmetics 117374 117340 -0.0% 1.00x (?)
PolymorphicCalls 6472 6453 -0.3% 1.00x (?)
PopFrontArray 6718 6705 -0.2% 1.00x (?)
PopFrontArrayGeneric 5655 5648 -0.1% 1.00x (?)
PopFrontUnsafePointer 10778 10840 +0.6% 0.99x (?)
PrefixAnyCollection 14516 14809 +2.0% 0.98x
PrefixAnyCollectionLazy 99402 101722 +2.3% 0.98x (?)
PrefixAnySeqCRangeIter 17348 17462 +0.7% 0.99x
PrefixAnySeqCRangeIterLazy 17365 17469 +0.6% 0.99x
PrefixAnySeqCntRange 14295 14470 +1.2% 0.99x
PrefixAnySeqCntRangeLazy 14323 14509 +1.3% 0.99x
PrefixAnySequence 8942 8985 +0.5% 1.00x
PrefixAnySequenceLazy 8997 9010 +0.1% 1.00x
PrefixArray 3823 3829 +0.2% 1.00x
PrefixArrayLazy 25674 25600 -0.3% 1.00x
PrefixCountableRange 325 325 +0.0% 1.00x
PrefixCountableRangeLazy 26647 26686 +0.1% 1.00x (?)
PrefixSequence 8678 8781 +1.2% 0.99x
PrefixSequenceLazy 8657 8735 +0.9% 0.99x
PrefixWhileAnyCollection 26538 26562 +0.1% 1.00x (?)
PrefixWhileAnyCollectionLazy 16406 16279 -0.8% 1.01x
PrefixWhileAnySeqCRangeIter 33724 33829 +0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 16634 16653 +0.1% 1.00x (?)
PrefixWhileAnySeqCntRange 26326 26516 +0.7% 0.99x (?)
PrefixWhileAnySeqCntRangeLazy 16437 16447 +0.1% 1.00x (?)
PrefixWhileAnySequence 26332 26434 +0.4% 1.00x
PrefixWhileAnySequenceLazy 9133 9206 +0.8% 0.99x
PrefixWhileArray 11609 11852 +2.1% 0.98x
PrefixWhileArrayLazy 11874 11874 +0.0% 1.00x
PrefixWhileCountableRange 12961 12949 -0.1% 1.00x (?)
PrefixWhileCountableRangeLazy 16170 16177 +0.0% 1.00x (?)
PrefixWhileSequence 26146 26239 +0.4% 1.00x
PrefixWhileSequenceLazy 9173 9506 +3.6% 0.96x
Prims 9997 9888 -1.1% 1.01x (?)
PrimsSplit 9935 9940 +0.1% 1.00x (?)
RC4 16728 16737 +0.1% 1.00x (?)
RGBHistogram 26643 26514 -0.5% 1.00x (?)
RGBHistogramOfObjects 94627 94756 +0.1% 1.00x (?)
RangeAssignment 2718 2747 +1.1% 0.99x (?)
RangeIterationSigned 17202 17173 -0.2% 1.00x
RangeIterationSigned64 40296 40363 +0.2% 1.00x (?)
RangeIterationUnsigned 36399 36319 -0.2% 1.00x (?)
RangeReplaceableCollectionPlusDefault 8536 8351 -2.2% 1.02x (?)
RecursiveOwnedParameter 7750 7749 -0.0% 1.00x (?)
ReversedArray 13006 12975 -0.2% 1.00x
ReversedBidirectional 42506 42797 +0.7% 0.99x (?)
ReversedDictionary 23207 23020 -0.8% 1.01x
RomanNumbers 1188277 1172627 -1.3% 1.01x (?)
SetExclusiveOr 17116 17169 +0.3% 1.00x
SetExclusiveOr_OfObjects 41297 41624 +0.8% 0.99x (?)
SetIntersect 8334 8367 +0.4% 1.00x
SetIntersect_OfObjects 12139 12221 +0.7% 0.99x (?)
SetIsSubsetOf 1351 1350 -0.1% 1.00x
SetIsSubsetOf_OfObjects 1537 1544 +0.5% 1.00x (?)
SetUnion 11659 11656 -0.0% 1.00x (?)
SetUnion_OfObjects 28872 28942 +0.2% 1.00x (?)
SevenBoom 1639 1630 -0.5% 1.01x (?)
Sim2DArray 43770 43786 +0.0% 1.00x (?)
SortLargeExistentials 15681 15585 -0.6% 1.01x
SortLettersInPlace 2896 2896 +0.0% 1.00x
SortSortedStrings 1330 1337 +0.5% 0.99x
SortStrings 2532 2530 -0.1% 1.00x
SortStringsUnicode 16139 16129 -0.1% 1.00x (?)
StaticArray 2644 2673 +1.1% 0.99x (?)
StrComplexWalk 6433 6435 +0.0% 1.00x (?)
StrToInt 57145 57726 +1.0% 0.99x
StringAdder 4777 4698 -1.7% 1.02x
StringBuilder 6835 6947 +1.6% 0.98x (?)
StringBuilderLong 2673 2706 +1.2% 0.99x
StringComparison_abnormal 1435 1410 -1.7% 1.02x
StringComparison_ascii 9520 9530 +0.1% 1.00x (?)
StringComparison_emoji 3777 3754 -0.6% 1.01x (?)
StringComparison_fastPrenormal 13257 13193 -0.5% 1.00x
StringComparison_latin1 9609 9551 -0.6% 1.01x (?)
StringComparison_longSharedPrefix 12835 12824 -0.1% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 6905 6762 -2.1% 1.02x
StringComparison_slowerPrenormal 6752 6753 +0.0% 1.00x (?)
StringComparison_zalgo 2839 2829 -0.4% 1.00x
StringEdits 362273 367449 +1.4% 0.99x (?)
StringEnumRawValueInitialization 21352 21395 +0.2% 1.00x (?)
StringEqualPointerComparison 3407 3406 -0.0% 1.00x
StringFromLongWholeSubstring 22 22 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 198 197 -0.5% 1.01x
StringHasPrefixAscii 3064 3063 -0.0% 1.00x
StringHasPrefixUnicode 31070 30985 -0.3% 1.00x (?)
StringHasSuffixAscii 3256 3255 -0.0% 1.00x (?)
StringHasSuffixUnicode 90984 90976 -0.0% 1.00x (?)
StringInterpolation 12914 12512 -3.1% 1.03x (?)
StringMatch 33188 33150 -0.1% 1.00x (?)
StringRemoveDupes 1438 1439 +0.1% 1.00x (?)
StringUTF16Builder 7762 7750 -0.2% 1.00x (?)
StringWalk 13491 13587 +0.7% 0.99x
StringWordBuilder 2306 2335 +1.3% 0.99x (?)
StringWordBuilderReservingCapacity 2035 2052 +0.8% 0.99x (?)
SubstringComparable 4058 4063 +0.1% 1.00x (?)
SubstringEqualString 3539 3519 -0.6% 1.01x (?)
SubstringEquatable 8004 7817 -2.3% 1.02x (?)
SubstringFromLongString 24 24 +0.0% 1.00x
SubstringFromLongStringGeneric 107 107 +0.0% 1.00x
SuffixAnyCollection 4861 4988 +2.6% 0.97x (?)
SuffixAnyCollectionLazy 33222 33105 -0.4% 1.00x (?)
SuffixAnySeqCRangeIter 34541 34607 +0.2% 1.00x (?)
SuffixAnySeqCRangeIterLazy 34628 34693 +0.2% 1.00x
SuffixAnySeqCntRange 4785 4833 +1.0% 0.99x
SuffixAnySeqCntRangeLazy 4807 4790 -0.4% 1.00x (?)
SuffixAnySequence 24947 25057 +0.4% 1.00x
SuffixAnySequenceLazy 24965 25054 +0.4% 1.00x
SuffixCountableRange 113 113 +0.0% 1.00x
SuffixCountableRangeLazy 8887 8885 -0.0% 1.00x (?)
SuffixSequence 24957 25012 +0.2% 1.00x (?)
SuffixSequenceLazy 24828 24969 +0.6% 0.99x
SumUsingReduce 174072 173774 -0.2% 1.00x
SumUsingReduceInto 171133 171205 +0.0% 1.00x (?)
SuperChars 216124 216830 +0.3% 1.00x (?)
TwoSum 3925 3960 +0.9% 0.99x
UTF8Decode 29984 30112 +0.4% 1.00x
Walsh 12080 12081 +0.0% 1.00x (?)
WordCountHistogramASCII 48789 49024 +0.5% 1.00x
WordCountHistogramUTF16 102390 101005 -1.4% 1.01x (?)
WordCountUniqueASCII 8023 8022 -0.0% 1.00x (?)
WordCountUniqueUTF16 33083 32831 -0.8% 1.01x (?)
WordSplitASCII 25565 25494 -0.3% 1.00x (?)
WordSplitUTF16 26321 26109 -0.8% 1.01x (?)
XorLoop 23650 23638 -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

@milseman
Copy link
Member Author

@swift-ci please smoke benchmark

@milseman
Copy link
Member Author

I've been seeing Sim2DArray pop up a lot of a supposed regression, only to disappear in subsequent runs. Is there something wrong with this benchmark?

@milseman
Copy link
Member Author

milseman commented Jan 22, 2018

(Also improvement was more modest than what I was producing locally).

edit: never mind, was looking at unoptimized. These are totally the results I was expecting.

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (15)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 411 644 +56.7% 0.64x
ObserverForwarderStruct 867 1076 +24.1% 0.81x (?)
ObjectiveCBridgeStubToNSDate 15166 18414 +21.4% 0.82x
PrefixWhileArray 88 105 +19.3% 0.84x
ObjectiveCBridgeStubFromArrayOfNSString 30027 32899 +9.6% 0.91x (?)
SuffixCountableRange 11 12 +9.1% 0.92x
DropLastCountableRange 11 12 +9.1% 0.92x
NopDeinit 21575 23267 +7.8% 0.93x
BinaryFloatingPointConversionFromBinaryInteger 45 48 +6.7% 0.94x
IterateData 1292 1373 +6.3% 0.94x
StringWordBuilderReservingCapacity 960 1020 +6.2% 0.94x
ObjectiveCBridgeFromNSArrayAnyObjectForced 4631 4915 +6.1% 0.94x (?)
ArrayAppendUTF16 35765 37934 +6.1% 0.94x
StringWordBuilder 1252 1323 +5.7% 0.95x
NibbleSort 3958 4173 +5.4% 0.95x
Improvement (33)
TEST OLD NEW DELTA SPEEDUP
ArrayAppendAscii 25275 13685 -45.9% 1.85x
StringBuilderLong 1580 1044 -33.9% 1.51x (?)
RangeIterationSigned 200 171 -14.5% 1.17x
PrefixWhileCountableRange 53 46 -13.2% 1.15x
MapReduceLazyCollectionShort 39 34 -12.8% 1.15x
StringWithCString 53581 46784 -12.7% 1.15x
CStringLongAscii 5819 5088 -12.6% 1.14x
Calculator 509 450 -11.6% 1.13x
ObjectiveCBridgeFromNSArrayAnyObjectToString 51543 45781 -11.2% 1.13x (?)
DropLastCountableRangeLazy 12 11 -8.3% 1.09x
PointerArithmetics 34346 31493 -8.3% 1.09x
DropLastSequence 734 681 -7.2% 1.08x
DropLastSequenceLazy 736 683 -7.2% 1.08x
CharIndexing_tweet_unicodeScalars 35398 33001 -6.8% 1.07x
CharIteration_tweet_unicodeScalars_Backwards 27847 26124 -6.2% 1.07x
CharIteration_punctuated_unicodeScalars_Backwards 3232 3033 -6.2% 1.07x
MapReduceAnyCollection 456 428 -6.1% 1.07x (?)
CharIteration_korean_unicodeScalars_Backwards 13687 12869 -6.0% 1.06x
CharIteration_ascii_unicodeScalars_Backwards 14116 13285 -5.9% 1.06x
CharIndexing_ascii_unicodeScalars 17774 16746 -5.8% 1.06x
CharIndexing_chinese_unicodeScalars 13458 12681 -5.8% 1.06x
CharIteration_russian_unicodeScalars_Backwards 11771 11093 -5.8% 1.06x
CharIndexing_korean_unicodeScalars 17236 16245 -5.7% 1.06x
CharIndexing_russian_unicodeScalars 14800 13951 -5.7% 1.06x
CharIndexing_japanese_unicodeScalars 21272 20052 -5.7% 1.06x
CharIteration_utf16_unicodeScalars_Backwards 17301 16312 -5.7% 1.06x
CharIndexing_punctuated_unicodeScalars 4020 3795 -5.6% 1.06x
CharIndexing_punctuatedJapanese_unicodeScalars 3212 3037 -5.4% 1.06x
CharIteration_chinese_unicodeScalars_Backwards 10702 10119 -5.4% 1.06x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 2594 2453 -5.4% 1.06x
CharIteration_japanese_unicodeScalars_Backwards 16888 16040 -5.0% 1.05x
WordSplitUTF16 22695 21556 -5.0% 1.05x
WordCountUniqueUTF16 22655 21524 -5.0% 1.05x
No Changes (309)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 3455 3461 +0.2% 1.00x (?)
AnyHashableWithAClass 70060 70836 +1.1% 0.99x
Array2D 2528 2522 -0.2% 1.00x
ArrayAppend 978 979 +0.1% 1.00x
ArrayAppendArrayOfInt 743 743 +0.0% 1.00x
ArrayAppendFromGeneric 744 740 -0.5% 1.01x
ArrayAppendGenericStructs 1359 1358 -0.1% 1.00x (?)
ArrayAppendLatin1 37375 38469 +2.9% 0.97x
ArrayAppendLazyMap 1288 1288 +0.0% 1.00x
ArrayAppendOptionals 1357 1357 +0.0% 1.00x
ArrayAppendRepeatCol 1285 1285 +0.0% 1.00x
ArrayAppendReserved 725 724 -0.1% 1.00x (?)
ArrayAppendSequence 1079 1080 +0.1% 1.00x (?)
ArrayAppendStrings 15157 15152 -0.0% 1.00x (?)
ArrayAppendToFromGeneric 744 743 -0.1% 1.00x (?)
ArrayAppendToGeneric 744 743 -0.1% 1.00x (?)
ArrayInClass 85 86 +1.2% 0.99x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD2 146 146 +0.0% 1.00x
ArrayOfGenericRef 4278 4244 -0.8% 1.01x
ArrayOfPOD 177 177 +0.0% 1.00x
ArrayOfRef 4249 4251 +0.0% 1.00x (?)
ArrayPlusEqualArrayOfInt 743 743 +0.0% 1.00x
ArrayPlusEqualFiveElementCollection 5583 5577 -0.1% 1.00x
ArrayPlusEqualSingleElementCollection 976 978 +0.2% 1.00x
ArrayPlusEqualThreeElements 1641 1580 -3.7% 1.04x
ArraySubscript 1485 1486 +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 202 202 +0.0% 1.00x
ByteSwap 102 102 +0.0% 1.00x
COWTree 3354 3393 +1.2% 0.99x (?)
CSVParsing 960502 970345 +1.0% 0.99x (?)
CSVParsingAlt 713077 718749 +0.8% 0.99x (?)
CSVParsingAltIndices 351781 358336 +1.9% 0.98x (?)
CStringLongNonAscii 2134 2228 +4.4% 0.96x
CStringShortAscii 4834 4655 -3.7% 1.04x (?)
CaptureProp 7682 7728 +0.6% 0.99x
CharIndexing_ascii_unicodeScalars_Backwards 15972 15511 -2.9% 1.03x
CharIndexing_chinese_unicodeScalars_Backwards 12103 11742 -3.0% 1.03x
CharIndexing_japanese_unicodeScalars_Backwards 19118 18557 -2.9% 1.03x
CharIndexing_korean_unicodeScalars_Backwards 15493 15035 -3.0% 1.03x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 2905 2828 -2.7% 1.03x
CharIndexing_punctuated_unicodeScalars_Backwards 3631 3529 -2.8% 1.03x
CharIndexing_russian_unicodeScalars_Backwards 13313 12923 -2.9% 1.03x
CharIndexing_tweet_unicodeScalars_Backwards 31554 30305 -4.0% 1.04x
CharIndexing_utf16_unicodeScalars 25301 24947 -1.4% 1.01x
CharIndexing_utf16_unicodeScalars_Backwards 25466 25382 -0.3% 1.00x
CharIteration_ascii_unicodeScalars 20646 21163 +2.5% 0.98x
CharIteration_chinese_unicodeScalars 15598 16008 +2.6% 0.97x
CharIteration_japanese_unicodeScalars 24686 25347 +2.7% 0.97x
CharIteration_korean_unicodeScalars 19977 20525 +2.7% 0.97x
CharIteration_punctuatedJapanese_unicodeScalars 3693 3782 +2.4% 0.98x
CharIteration_punctuated_unicodeScalars 4619 4751 +2.9% 0.97x
CharIteration_russian_unicodeScalars 17152 17627 +2.8% 0.97x
CharIteration_tweet_unicodeScalars 40643 41764 +2.8% 0.97x
CharIteration_utf16_unicodeScalars 27081 27347 +1.0% 0.99x
CharacterLiteralsLarge 5750 5735 -0.3% 1.00x (?)
CharacterLiteralsSmall 403 409 +1.5% 0.99x
CharacterPropertiesFetch 4378 4373 -0.1% 1.00x (?)
CharacterPropertiesPrecomputed 953 951 -0.2% 1.00x (?)
CharacterPropertiesStashed 1507 1509 +0.1% 1.00x (?)
CharacterPropertiesStashedMemo 1498 1502 +0.3% 1.00x (?)
Chars 966 964 -0.2% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Combos 455 450 -1.1% 1.01x
DictOfArraysToArrayOfDicts 859 847 -1.4% 1.01x
Dictionary 758 768 +1.3% 0.99x
Dictionary2 1923 1913 -0.5% 1.01x (?)
Dictionary2OfObjects 3301 3296 -0.2% 1.00x
Dictionary3 567 567 +0.0% 1.00x
Dictionary3OfObjects 903 915 +1.3% 0.99x (?)
DictionaryBridge 2140 2187 +2.2% 0.98x (?)
DictionaryGroup 145 145 +0.0% 1.00x
DictionaryGroupOfObjects 1812 1824 +0.7% 0.99x
DictionaryLiteral 1523 1545 +1.4% 0.99x (?)
DictionaryOfObjects 2399 2400 +0.0% 1.00x (?)
DictionaryRemove 2827 2838 +0.4% 1.00x (?)
DictionaryRemoveOfObjects 22422 22580 +0.7% 0.99x
DictionarySubscriptDefaultMutation 150 151 +0.7% 0.99x (?)
DictionarySubscriptDefaultMutationArray 488 488 +0.0% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 3650 3647 -0.1% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1295 1295 +0.0% 1.00x
DictionarySwap 484 485 +0.2% 1.00x
DictionarySwapOfObjects 7507 7533 +0.3% 1.00x (?)
DropFirstAnyCollection 75 75 +0.0% 1.00x
DropFirstAnyCollectionLazy 66110 66151 +0.1% 1.00x (?)
DropFirstAnySeqCRangeIter 19291 19170 -0.6% 1.01x
DropFirstAnySeqCRangeIterLazy 19290 19172 -0.6% 1.01x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 4281 4347 +1.5% 0.98x
DropFirstAnySequenceLazy 4287 4338 +1.2% 0.99x
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 2621 +0.0% 1.00x (?)
DropFirstSequenceLazy 2714 2714 +0.0% 1.00x
DropLastAnyCollection 27 27 +0.0% 1.00x
DropLastAnyCollectionLazy 21814 21678 -0.6% 1.01x (?)
DropLastAnySeqCRangeIter 3516 3512 -0.1% 1.00x (?)
DropLastAnySeqCRangeIterLazy 3517 3508 -0.3% 1.00x (?)
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 5081 5090 +0.2% 1.00x
DropLastAnySequenceLazy 5158 5188 +0.6% 0.99x (?)
DropWhileAnyCollection 99 99 +0.0% 1.00x
DropWhileAnyCollectionLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCRangeIter 15690 15624 -0.4% 1.00x
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 147 147 +0.0% 1.00x
DropWhileAnySequence 4692 4764 +1.5% 0.98x
DropWhileAnySequenceLazy 1830 1831 +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 419 420 +0.2% 1.00x (?)
EqualSubstringString 419 421 +0.5% 1.00x (?)
EqualSubstringSubstring 419 420 +0.2% 1.00x
EqualSubstringSubstringGenericEquatable 419 421 +0.5% 1.00x
ErrorHandling 2286 2298 +0.5% 0.99x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1295 1281 -1.1% 1.01x (?)
FilterEvenUsingReduceInto 145 144 -0.7% 1.01x (?)
FrequenciesUsingReduce 6764 6719 -0.7% 1.01x
FrequenciesUsingReduceInto 3194 3200 +0.2% 1.00x (?)
Hanoi 3692 3689 -0.1% 1.00x (?)
HashTest 1668 1669 +0.1% 1.00x (?)
Histogram 347 339 -2.3% 1.02x
Integrate 217 217 +0.0% 1.00x
Join 356 356 +0.0% 1.00x
LazilyFilteredArrayContains 31486 30682 -2.6% 1.03x
LazilyFilteredArrays 66252 66166 -0.1% 1.00x (?)
LazilyFilteredRange 3915 3809 -2.7% 1.03x
LessSubstringSubstring 419 420 +0.2% 1.00x (?)
LessSubstringSubstringGenericComparable 419 420 +0.2% 1.00x
LinkedList 7129 7130 +0.0% 1.00x (?)
LuhnAlgoEager 579 589 +1.7% 0.98x (?)
LuhnAlgoLazy 577 582 +0.9% 0.99x (?)
MapReduce 462 456 -1.3% 1.01x
MapReduceAnyCollectionShort 2009 2017 +0.4% 1.00x
MapReduceClass 3024 3025 +0.0% 1.00x (?)
MapReduceClassShort 4552 4498 -1.2% 1.01x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 451 448 -0.7% 1.01x (?)
MapReduceShort 2049 1996 -2.6% 1.03x (?)
MapReduceShortString 20 20 +0.0% 1.00x
MapReduceString 85 85 +0.0% 1.00x
Memset 213 214 +0.5% 1.00x (?)
MonteCarloE 10311 10414 +1.0% 0.99x
MonteCarloPi 42866 42868 +0.0% 1.00x (?)
NSDictionaryCastToSwift 5256 5368 +2.1% 0.98x (?)
NSError 292 291 -0.3% 1.00x
NSStringConversion 334 335 +0.3% 1.00x
ObjectAllocation 174 174 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 20679 21209 +2.6% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 39861 40587 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 132767 137103 +3.3% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObject 64515 63060 -2.3% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4535 4582 +1.0% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 84569 81436 -3.7% 1.04x (?)
ObjectiveCBridgeFromNSString 1629 1621 -0.5% 1.00x
ObjectiveCBridgeFromNSStringForced 2793 2806 +0.5% 1.00x (?)
ObjectiveCBridgeStubDataAppend 4135 4086 -1.2% 1.01x
ObjectiveCBridgeStubDateMutation 257 257 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 4023 4076 +1.3% 0.99x
ObjectiveCBridgeStubFromNSString 1030 1049 +1.8% 0.98x
ObjectiveCBridgeStubFromNSStringRef 169 164 -3.0% 1.03x
ObjectiveCBridgeStubNSDataAppend 2635 2668 +1.3% 0.99x
ObjectiveCBridgeStubNSDateMutationRef 12628 12941 +2.5% 0.98x (?)
ObjectiveCBridgeStubToArrayOfNSString 29366 29302 -0.2% 1.00x (?)
ObjectiveCBridgeStubToNSDateRef 3326 3338 +0.4% 1.00x (?)
ObjectiveCBridgeStubToNSString 1445 1444 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 118 121 +2.5% 0.98x
ObjectiveCBridgeStubURLAppendPath 346422 346345 -0.0% 1.00x (?)
ObjectiveCBridgeStubURLAppendPathRef 340855 346841 +1.8% 0.98x (?)
ObjectiveCBridgeToNSArray 28513 28987 +1.7% 0.98x (?)
ObjectiveCBridgeToNSDictionary 63756 62004 -2.7% 1.03x (?)
ObjectiveCBridgeToNSSet 53808 53510 -0.6% 1.01x (?)
ObjectiveCBridgeToNSString 1223 1217 -0.5% 1.00x
ObserverClosure 2075 2009 -3.2% 1.03x
ObserverPartiallyAppliedMethod 3536 3487 -1.4% 1.01x (?)
ObserverUnappliedMethod 2144 2140 -0.2% 1.00x (?)
OpenClose 263 266 +1.1% 0.99x
PartialApplyDynamicType 0 0 +0.0% 1.00x
Phonebook 4164 4149 -0.4% 1.00x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1869 1886 +0.9% 0.99x (?)
PopFrontArrayGeneric 1898 1890 -0.4% 1.00x
PopFrontUnsafePointer 9090 8883 -2.3% 1.02x (?)
PrefixAnyCollection 76 75 -1.3% 1.01x
PrefixAnyCollectionLazy 65395 65374 -0.0% 1.00x (?)
PrefixAnySeqCRangeIter 15027 14938 -0.6% 1.01x
PrefixAnySeqCRangeIterLazy 15034 14939 -0.6% 1.01x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 3685 3700 +0.4% 1.00x
PrefixAnySequenceLazy 3689 3678 -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 1307 +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 9375 9371 -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 10423 10375 -0.5% 1.00x
PrefixWhileAnySequenceLazy 1373 1373 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 390 390 +0.0% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 764 763 -0.1% 1.00x
PrimsSplit 760 763 +0.4% 1.00x
RC4 164 165 +0.6% 0.99x
RGBHistogram 2810 2836 +0.9% 0.99x
RGBHistogramOfObjects 23381 23345 -0.2% 1.00x (?)
RangeAssignment 382 382 +0.0% 1.00x
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RangeReplaceableCollectionPlusDefault 956 954 -0.2% 1.00x (?)
RecursiveOwnedParameter 2267 2294 +1.2% 0.99x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 15515 15517 +0.0% 1.00x (?)
ReversedDictionary 119 119 +0.0% 1.00x
RomanNumbers 110915 113134 +2.0% 0.98x (?)
SetExclusiveOr 3548 3521 -0.8% 1.01x (?)
SetExclusiveOr_OfObjects 8407 8363 -0.5% 1.01x (?)
SetIntersect 316 319 +0.9% 0.99x
SetIntersect_OfObjects 1709 1710 +0.1% 1.00x (?)
SetIsSubsetOf 292 292 +0.0% 1.00x
SetIsSubsetOf_OfObjects 349 349 +0.0% 1.00x
SetUnion 2948 2944 -0.1% 1.00x (?)
SetUnion_OfObjects 6910 6940 +0.4% 1.00x (?)
SevenBoom 1475 1470 -0.3% 1.00x (?)
SortLargeExistentials 6820 6753 -1.0% 1.01x
SortLettersInPlace 1096 1097 +0.1% 1.00x (?)
SortSortedStrings 1154 1116 -3.3% 1.03x
SortStrings 2048 1970 -3.8% 1.04x
SortStringsUnicode 15042 15164 +0.8% 0.99x
StackPromo 21963 21978 +0.1% 1.00x (?)
StaticArray 6 6 +0.0% 1.00x
StrComplexWalk 1567 1572 +0.3% 1.00x
StrToInt 2182 2151 -1.4% 1.01x
StringAdder 4083 4077 -0.1% 1.00x (?)
StringBuilder 1287 1296 +0.7% 0.99x
StringComparison_abnormal 851 853 +0.2% 1.00x (?)
StringComparison_ascii 992 1007 +1.5% 0.99x
StringComparison_emoji 2453 2470 +0.7% 0.99x
StringComparison_fastPrenormal 8650 8673 +0.3% 1.00x (?)
StringComparison_latin1 5915 5938 +0.4% 1.00x (?)
StringComparison_longSharedPrefix 11225 11229 +0.0% 1.00x
StringComparison_nonBMPSlowestPrenormal 4499 4513 +0.3% 1.00x (?)
StringComparison_slowerPrenormal 4095 4106 +0.3% 1.00x
StringComparison_zalgo 1688 1685 -0.2% 1.00x (?)
StringEdits 142094 143314 +0.9% 0.99x (?)
StringEnumRawValueInitialization 1360 1361 +0.1% 1.00x
StringEqualPointerComparison 286 286 +0.0% 1.00x
StringFromLongWholeSubstring 21 21 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 10 10 +0.0% 1.00x
StringHasPrefixAscii 1660 1602 -3.5% 1.04x
StringHasPrefixUnicode 28341 28241 -0.4% 1.00x (?)
StringHasSuffixAscii 1774 1746 -1.6% 1.02x
StringHasSuffixUnicode 87983 89025 +1.2% 0.99x
StringInterpolation 8676 8641 -0.4% 1.00x
StringMatch 7614 7427 -2.5% 1.03x
StringRemoveDupes 1036 1035 -0.1% 1.00x (?)
StringUTF16Builder 2287 2252 -1.5% 1.02x
StringWalk 1600 1581 -1.2% 1.01x
SubstringComparable 1989 1997 +0.4% 1.00x
SubstringEqualString 2077 2093 +0.8% 0.99x (?)
SubstringEquatable 3119 3136 +0.5% 0.99x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 70 70 +0.0% 1.00x
SuffixAnyCollection 27 27 +0.0% 1.00x
SuffixAnyCollectionLazy 22091 22086 -0.0% 1.00x (?)
SuffixAnySeqCRangeIter 3815 3798 -0.4% 1.00x
SuffixAnySeqCRangeIterLazy 3816 3800 -0.4% 1.00x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 5069 5068 -0.0% 1.00x (?)
SuffixAnySequenceLazy 5175 5173 -0.0% 1.00x (?)
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 3755 3777 +0.6% 0.99x
SuffixSequenceLazy 3759 3778 +0.5% 0.99x
SumUsingReduce 97 101 +4.1% 0.96x
SumUsingReduceInto 97 102 +5.2% 0.95x
SuperChars 39807 40678 +2.2% 0.98x (?)
TwoSum 996 996 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 313 318 +1.6% 0.98x
Walsh 429 434 +1.2% 0.99x
WordCountHistogramASCII 8921 8907 -0.2% 1.00x (?)
WordCountHistogramUTF16 52039 52310 +0.5% 0.99x (?)
WordCountUniqueASCII 2529 2589 +2.4% 0.98x
WordSplitASCII 22038 21820 -1.0% 1.01x (?)
XorLoop 384 384 +0.0% 1.00x

Unoptimized (Onone)

Regression (23)
TEST OLD NEW DELTA SPEEDUP
CharIteration_japanese_unicodeScalars_Backwards 360463 428381 +18.8% 0.84x
CharIndexing_punctuated_unicodeScalars_Backwards 85927 101859 +18.5% 0.84x (?)
CharIndexing_tweet_unicodeScalars_Backwards 764657 893455 +16.8% 0.86x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 51626 60248 +16.7% 0.86x
CharIndexing_japanese_unicodeScalars_Backwards 473960 553078 +16.7% 0.86x
CharIndexing_punctuated_unicodeScalars 79634 90525 +13.7% 0.88x
ObjectiveCBridgeStubFromNSString 1085 1224 +12.8% 0.89x (?)
CharIndexing_ascii_unicodeScalars_Backwards 410009 457820 +11.7% 0.90x (?)
CharIteration_ascii_unicodeScalars_Backwards 293287 326939 +11.5% 0.90x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 63941 70636 +10.5% 0.91x
CharIndexing_korean_unicodeScalars_Backwards 380709 420528 +10.5% 0.91x (?)
CharIteration_tweet_unicodeScalars_Backwards 588634 646883 +9.9% 0.91x (?)
CharIteration_korean_unicodeScalars_Backwards 290777 319218 +9.8% 0.91x (?)
CharIteration_chinese_unicodeScalars_Backwards 225061 246505 +9.5% 0.91x (?)
CSVParsingAlt 1314975 1439823 +9.5% 0.91x (?)
CharIteration_utf16_unicodeScalars_Backwards 248803 272299 +9.4% 0.91x (?)
CharIndexing_utf16_unicodeScalars_Backwards 344200 371935 +8.1% 0.93x (?)
ObjectiveCBridgeFromNSArrayAnyObject 23606 25168 +6.6% 0.94x (?)
CharIndexing_tweet_unicodeScalars 714172 760646 +6.5% 0.94x
ArrayAppendUTF16 60653 64210 +5.9% 0.94x
CharIteration_chinese_unicodeScalars 118098 124676 +5.6% 0.95x
CStringLongNonAscii 2184 2303 +5.4% 0.95x
CharIndexing_chinese_unicodeScalars_Backwards 312190 328740 +5.3% 0.95x (?)
Improvement (9)
TEST OLD NEW DELTA SPEEDUP
ArrayAppendAscii 49746 40575 -18.4% 1.23x
TypeFlood 176 157 -10.8% 1.12x
ArrayOfPOD 833 748 -10.2% 1.11x
StringWithCString 49294 45262 -8.2% 1.09x
ArrayValueProp2 17210 16011 -7.0% 1.07x (?)
StringInterpolation 13200 12419 -5.9% 1.06x (?)
CStringLongAscii 5732 5409 -5.6% 1.06x
ObjectiveCBridgeFromNSSetAnyObjectForced 7769 7351 -5.4% 1.06x (?)
ObjectiveCBridgeFromNSStringForced 3274 3102 -5.3% 1.06x
No Changes (325)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4992 4968 -0.5% 1.00x (?)
AnyHashableWithAClass 86107 87289 +1.4% 0.99x
Array2D 632789 632110 -0.1% 1.00x (?)
ArrayAppend 4863 4863 +0.0% 1.00x
ArrayAppendArrayOfInt 787 787 +0.0% 1.00x
ArrayAppendFromGeneric 792 791 -0.1% 1.00x (?)
ArrayAppendGenericStructs 1405 1405 +0.0% 1.00x
ArrayAppendLatin1 62224 63879 +2.7% 0.97x
ArrayAppendLazyMap 168698 168189 -0.3% 1.00x (?)
ArrayAppendOptionals 1404 1406 +0.1% 1.00x (?)
ArrayAppendRepeatCol 174552 175248 +0.4% 1.00x
ArrayAppendReserved 4611 4617 +0.1% 1.00x (?)
ArrayAppendSequence 147552 145461 -1.4% 1.01x
ArrayAppendStrings 15284 15301 +0.1% 1.00x
ArrayAppendToFromGeneric 789 789 +0.0% 1.00x
ArrayAppendToGeneric 790 790 +0.0% 1.00x
ArrayInClass 6219 6216 -0.0% 1.00x
ArrayLiteral 1674 1682 +0.5% 1.00x
ArrayOfGenericPOD2 1181 1135 -3.9% 1.04x
ArrayOfGenericRef 10034 10033 -0.0% 1.00x (?)
ArrayOfRef 9467 9474 +0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 789 787 -0.3% 1.00x (?)
ArrayPlusEqualFiveElementCollection 229587 229818 +0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 226756 226377 -0.2% 1.00x (?)
ArrayPlusEqualThreeElements 8990 8987 -0.0% 1.00x (?)
ArraySubscript 81065 81580 +0.6% 0.99x (?)
ArrayValueProp 3421 3440 +0.6% 0.99x
ArrayValueProp3 3913 3921 +0.2% 1.00x
ArrayValueProp4 3914 3914 +0.0% 1.00x
BinaryFloatingPointConversionFromBinaryInteger 5989 5847 -2.4% 1.02x (?)
BitCount 2212 2210 -0.1% 1.00x (?)
ByteSwap 3933 3932 -0.0% 1.00x (?)
COWTree 12498 12169 -2.6% 1.03x
CSVParsing 2803207 2818541 +0.5% 0.99x (?)
CSVParsingAltIndices 2642268 2613067 -1.1% 1.01x (?)
CStringShortAscii 7636 7637 +0.0% 1.00x (?)
Calculator 1688 1689 +0.1% 1.00x (?)
CaptureProp 346396 345990 -0.1% 1.00x (?)
CharIndexing_ascii_unicodeScalars 357420 363861 +1.8% 0.98x
CharIndexing_chinese_unicodeScalars 271510 273245 +0.6% 0.99x (?)
CharIndexing_japanese_unicodeScalars 434343 440931 +1.5% 0.99x (?)
CharIndexing_korean_unicodeScalars 348747 350538 +0.5% 0.99x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 72293 73148 +1.2% 0.99x (?)
CharIndexing_russian_unicodeScalars 318710 311240 -2.3% 1.02x (?)
CharIndexing_russian_unicodeScalars_Backwards 373519 356842 -4.5% 1.05x (?)
CharIndexing_utf16_unicodeScalars 316230 302977 -4.2% 1.04x (?)
CharIteration_ascii_unicodeScalars 154087 155225 +0.7% 0.99x
CharIteration_japanese_unicodeScalars 187095 188464 +0.7% 0.99x
CharIteration_korean_unicodeScalars 149261 150381 +0.8% 0.99x
CharIteration_punctuatedJapanese_unicodeScalars 27618 27992 +1.4% 0.99x (?)
CharIteration_punctuated_unicodeScalars 34599 34949 +1.0% 0.99x (?)
CharIteration_punctuated_unicodeScalars_Backwards 72520 71758 -1.1% 1.01x
CharIteration_russian_unicodeScalars 128327 132723 +3.4% 0.97x
CharIteration_russian_unicodeScalars_Backwards 263718 273816 +3.8% 0.96x (?)
CharIteration_tweet_unicodeScalars 304017 313540 +3.1% 0.97x
CharIteration_utf16_unicodeScalars 130229 132073 +1.4% 0.99x
CharacterLiteralsLarge 5603 5632 +0.5% 0.99x (?)
CharacterLiteralsSmall 746 747 +0.1% 1.00x (?)
CharacterPropertiesFetch 5558 5368 -3.4% 1.04x (?)
CharacterPropertiesPrecomputed 4288 4278 -0.2% 1.00x (?)
CharacterPropertiesStashed 2316 2287 -1.3% 1.01x (?)
CharacterPropertiesStashedMemo 4918 5138 +4.5% 0.96x (?)
Chars 39449 39503 +0.1% 1.00x
ClassArrayGetter 982 982 +0.0% 1.00x
Combos 2104 2154 +2.4% 0.98x (?)
DictOfArraysToArrayOfDicts 3390 3405 +0.4% 1.00x (?)
Dictionary 2638 2680 +1.6% 0.98x
Dictionary2 2960 2973 +0.4% 1.00x (?)
Dictionary2OfObjects 5611 5617 +0.1% 1.00x (?)
Dictionary3 1341 1339 -0.1% 1.00x (?)
Dictionary3OfObjects 2281 2300 +0.8% 0.99x (?)
DictionaryBridge 2310 2339 +1.3% 0.99x (?)
DictionaryGroup 4328 4345 +0.4% 1.00x (?)
DictionaryGroupOfObjects 7351 7315 -0.5% 1.00x (?)
DictionaryLiteral 8330 8353 +0.3% 1.00x (?)
DictionaryOfObjects 6269 6174 -1.5% 1.02x
DictionaryRemove 18369 18403 +0.2% 1.00x (?)
DictionaryRemoveOfObjects 48677 48649 -0.1% 1.00x (?)
DictionarySubscriptDefaultMutation 2002 2001 -0.0% 1.00x
DictionarySubscriptDefaultMutationArray 2249 2247 -0.1% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9055 8983 -0.8% 1.01x (?)
DictionarySubscriptDefaultMutationOfObjects 5583 5555 -0.5% 1.01x (?)
DictionarySwap 5234 5242 +0.2% 1.00x (?)
DictionarySwapOfObjects 22257 22228 -0.1% 1.00x (?)
DropFirstAnyCollection 14473 14640 +1.2% 0.99x
DropFirstAnyCollectionLazy 102858 100081 -2.7% 1.03x (?)
DropFirstAnySeqCRangeIter 21714 21671 -0.2% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 21779 21719 -0.3% 1.00x
DropFirstAnySeqCntRange 14219 14414 +1.4% 0.99x
DropFirstAnySeqCntRangeLazy 14278 14456 +1.2% 0.99x
DropFirstAnySequence 10737 10828 +0.8% 0.99x
DropFirstAnySequenceLazy 10752 10822 +0.7% 0.99x
DropFirstArray 3811 3824 +0.3% 1.00x
DropFirstArrayLazy 25713 25665 -0.2% 1.00x (?)
DropFirstCountableRange 325 325 +0.0% 1.00x
DropFirstCountableRangeLazy 26387 26630 +0.9% 0.99x
DropFirstSequence 10424 10570 +1.4% 0.99x
DropFirstSequenceLazy 10357 10540 +1.8% 0.98x
DropLastAnyCollection 4817 4915 +2.0% 0.98x
DropLastAnyCollectionLazy 33987 33568 -1.2% 1.01x (?)
DropLastAnySeqCRangeIter 38507 38458 -0.1% 1.00x
DropLastAnySeqCRangeIterLazy 38382 38348 -0.1% 1.00x
DropLastAnySeqCntRange 4755 4793 +0.8% 0.99x
DropLastAnySeqCntRangeLazy 4771 4788 +0.4% 1.00x
DropLastAnySequence 28938 28888 -0.2% 1.00x
DropLastAnySequenceLazy 28940 28936 -0.0% 1.00x (?)
DropLastCountableRange 113 113 +0.0% 1.00x
DropLastCountableRangeLazy 8900 8895 -0.1% 1.00x (?)
DropLastSequence 28814 28851 +0.1% 1.00x (?)
DropLastSequenceLazy 28821 28796 -0.1% 1.00x (?)
DropWhileAnyCollection 18464 18478 +0.1% 1.00x (?)
DropWhileAnyCollectionLazy 19792 19809 +0.1% 1.00x
DropWhileAnySeqCRangeIter 23611 23530 -0.3% 1.00x
DropWhileAnySeqCRangeIterLazy 20008 19987 -0.1% 1.00x
DropWhileAnySeqCntRange 18256 18320 +0.4% 1.00x (?)
DropWhileAnySeqCntRangeLazy 19769 19798 +0.1% 1.00x (?)
DropWhileAnySequence 12365 12504 +1.1% 0.99x
DropWhileAnySequenceLazy 10227 10281 +0.5% 0.99x
DropWhileArrayLazy 13557 13584 +0.2% 1.00x
DropWhileCountableRange 4416 4458 +1.0% 0.99x
DropWhileCountableRangeLazy 19481 19370 -0.6% 1.01x
DropWhileSequence 12110 12103 -0.1% 1.00x
DropWhileSequenceLazy 9727 9830 +1.1% 0.99x
EqualStringSubstring 465 463 -0.4% 1.00x
EqualSubstringString 465 464 -0.2% 1.00x
EqualSubstringSubstring 466 465 -0.2% 1.00x
EqualSubstringSubstringGenericEquatable 472 474 +0.4% 1.00x (?)
ErrorHandling 7488 7259 -3.1% 1.03x
ExclusivityGlobal 194 194 +0.0% 1.00x
ExclusivityIndependent 74 74 +0.0% 1.00x
FilterEvenUsingReduce 3703 3724 +0.6% 0.99x (?)
FilterEvenUsingReduceInto 2006 2008 +0.1% 1.00x (?)
FrequenciesUsingReduce 10749 10409 -3.2% 1.03x (?)
FrequenciesUsingReduceInto 5469 5335 -2.5% 1.03x
Hanoi 20228 20137 -0.4% 1.00x (?)
HashTest 16864 17480 +3.7% 0.96x (?)
Histogram 6444 6440 -0.1% 1.00x (?)
Integrate 810 809 -0.1% 1.00x
IterateData 7682 7698 +0.2% 1.00x
Join 1094 1098 +0.4% 1.00x (?)
LazilyFilteredArrayContains 772932 773478 +0.1% 1.00x
LazilyFilteredArrays 1464609 1454677 -0.7% 1.01x (?)
LazilyFilteredRange 489651 492444 +0.6% 0.99x
LessSubstringSubstring 467 467 +0.0% 1.00x
LessSubstringSubstringGenericComparable 470 472 +0.4% 1.00x
LinkedList 30872 30872 +0.0% 1.00x
LuhnAlgoEager 5224 5148 -1.5% 1.01x (?)
LuhnAlgoLazy 5025 5105 +1.6% 0.98x (?)
MapReduce 27824 27985 +0.6% 0.99x
MapReduceAnyCollection 28037 28235 +0.7% 0.99x
MapReduceAnyCollectionShort 39732 40314 +1.5% 0.99x (?)
MapReduceClass 32067 32004 -0.2% 1.00x (?)
MapReduceClassShort 42944 44256 +3.1% 0.97x
MapReduceLazyCollection 23327 23293 -0.1% 1.00x (?)
MapReduceLazyCollectionShort 33126 34073 +2.9% 0.97x (?)
MapReduceLazySequence 18165 18502 +1.9% 0.98x
MapReduceSequence 30625 30962 +1.1% 0.99x
MapReduceShort 38589 38707 +0.3% 1.00x (?)
MapReduceShortString 245 252 +2.9% 0.97x
MapReduceString 1941 1949 +0.4% 1.00x (?)
Memset 44952 44968 +0.0% 1.00x (?)
MonteCarloE 887905 886953 -0.1% 1.00x (?)
MonteCarloPi 3924172 3922570 -0.0% 1.00x (?)
NSDictionaryCastToSwift 6471 6506 +0.5% 0.99x (?)
NSError 683 694 +1.6% 0.98x (?)
NSStringConversion 379 375 -1.1% 1.01x
NibbleSort 310405 308760 -0.5% 1.01x
NopDeinit 180518 180599 +0.0% 1.00x (?)
ObjectAllocation 1392 1332 -4.3% 1.05x
ObjectiveCBridgeFromNSArrayAnyObjectForced 9280 8896 -4.1% 1.04x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 46293 44966 -2.9% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 41079 43168 +5.1% 0.95x
ObjectiveCBridgeFromNSDictionaryAnyObject 137446 142443 +3.6% 0.96x
ObjectiveCBridgeFromNSSetAnyObject 68497 69230 +1.1% 0.99x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 91399 91597 +0.2% 1.00x (?)
ObjectiveCBridgeFromNSString 3723 3591 -3.5% 1.04x (?)
ObjectiveCBridgeStubDataAppend 4470 4530 +1.3% 0.99x
ObjectiveCBridgeStubDateMutation 605 602 -0.5% 1.00x (?)
ObjectiveCBridgeStubFromArrayOfNSString 32557 32070 -1.5% 1.02x (?)
ObjectiveCBridgeStubFromNSDate 4301 4363 +1.4% 0.99x
ObjectiveCBridgeStubFromNSStringRef 204 204 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 3102 3097 -0.2% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 14943 15024 +0.5% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 28478 28681 +0.7% 0.99x (?)
ObjectiveCBridgeStubToNSDate 15305 15758 +3.0% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3403 3399 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1476 1475 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSStringRef 161 161 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 349244 366249 +4.9% 0.95x (?)
ObjectiveCBridgeStubURLAppendPathRef 369856 366410 -0.9% 1.01x (?)
ObjectiveCBridgeToNSArray 29266 29318 +0.2% 1.00x (?)
ObjectiveCBridgeToNSDictionary 61549 63759 +3.6% 0.97x (?)
ObjectiveCBridgeToNSSet 53363 53644 +0.5% 0.99x (?)
ObjectiveCBridgeToNSString 1256 1255 -0.1% 1.00x (?)
ObserverClosure 6139 6146 +0.1% 1.00x (?)
ObserverForwarderStruct 4302 4304 +0.0% 1.00x
ObserverPartiallyAppliedMethod 7584 7567 -0.2% 1.00x
ObserverUnappliedMethod 7925 7927 +0.0% 1.00x (?)
OpenClose 574 572 -0.3% 1.00x
PartialApplyDynamicType 39139 39189 +0.1% 1.00x (?)
Phonebook 20992 20758 -1.1% 1.01x
PointerArithmetics 117355 117390 +0.0% 1.00x (?)
PolymorphicCalls 6640 6429 -3.2% 1.03x (?)
PopFrontArray 6723 6709 -0.2% 1.00x (?)
PopFrontArrayGeneric 5663 5630 -0.6% 1.01x
PopFrontUnsafePointer 10761 10841 +0.7% 0.99x
PrefixAnyCollection 14426 14670 +1.7% 0.98x
PrefixAnyCollectionLazy 99132 100058 +0.9% 0.99x (?)
PrefixAnySeqCRangeIter 17493 17524 +0.2% 1.00x (?)
PrefixAnySeqCRangeIterLazy 17442 17410 -0.2% 1.00x (?)
PrefixAnySeqCntRange 14215 14433 +1.5% 0.98x
PrefixAnySeqCntRangeLazy 14334 14438 +0.7% 0.99x
PrefixAnySequence 8925 8977 +0.6% 0.99x (?)
PrefixAnySequenceLazy 8958 8968 +0.1% 1.00x (?)
PrefixArray 3812 3826 +0.4% 1.00x
PrefixArrayLazy 25707 25655 -0.2% 1.00x (?)
PrefixCountableRange 325 325 +0.0% 1.00x
PrefixCountableRangeLazy 26453 26669 +0.8% 0.99x
PrefixSequence 8756 8758 +0.0% 1.00x (?)
PrefixSequenceLazy 8660 8679 +0.2% 1.00x (?)
PrefixWhileAnyCollection 26415 26562 +0.6% 0.99x
PrefixWhileAnyCollectionLazy 16501 16428 -0.4% 1.00x (?)
PrefixWhileAnySeqCRangeIter 33769 33765 -0.0% 1.00x (?)
PrefixWhileAnySeqCRangeIterLazy 16708 16580 -0.8% 1.01x
PrefixWhileAnySeqCntRange 26230 26196 -0.1% 1.00x (?)
PrefixWhileAnySeqCntRangeLazy 16481 16567 +0.5% 0.99x
PrefixWhileAnySequence 26347 26487 +0.5% 0.99x
PrefixWhileAnySequenceLazy 9110 9195 +0.9% 0.99x
PrefixWhileArray 11848 11702 -1.2% 1.01x (?)
PrefixWhileArrayLazy 11909 11910 +0.0% 1.00x (?)
PrefixWhileCountableRange 12943 12973 +0.2% 1.00x (?)
PrefixWhileCountableRangeLazy 16228 16179 -0.3% 1.00x (?)
PrefixWhileSequence 26112 26151 +0.1% 1.00x
PrefixWhileSequenceLazy 9499 9488 -0.1% 1.00x (?)
Prims 9867 9852 -0.2% 1.00x (?)
PrimsSplit 9904 10032 +1.3% 0.99x (?)
RC4 16714 16680 -0.2% 1.00x (?)
RGBHistogram 26796 26810 +0.1% 1.00x (?)
RGBHistogramOfObjects 94847 96230 +1.5% 0.99x
RangeAssignment 2705 2741 +1.3% 0.99x (?)
RangeIterationSigned 16933 17088 +0.9% 0.99x
RangeIterationSigned64 40397 40551 +0.4% 1.00x
RangeIterationUnsigned 36132 36250 +0.3% 1.00x (?)
RangeReplaceableCollectionPlusDefault 8130 8484 +4.4% 0.96x
RecursiveOwnedParameter 7759 7755 -0.1% 1.00x (?)
ReversedArray 12987 12985 -0.0% 1.00x (?)
ReversedBidirectional 42941 42762 -0.4% 1.00x
ReversedDictionary 23079 23194 +0.5% 1.00x
RomanNumbers 1174888 1176609 +0.1% 1.00x (?)
SetExclusiveOr 17058 17114 +0.3% 1.00x
SetExclusiveOr_OfObjects 41843 41396 -1.1% 1.01x (?)
SetIntersect 8308 8319 +0.1% 1.00x (?)
SetIntersect_OfObjects 12140 12321 +1.5% 0.99x (?)
SetIsSubsetOf 1342 1346 +0.3% 1.00x
SetIsSubsetOf_OfObjects 1535 1548 +0.8% 0.99x
SetUnion 11654 11675 +0.2% 1.00x (?)
SetUnion_OfObjects 29052 29086 +0.1% 1.00x (?)
SevenBoom 1614 1590 -1.5% 1.02x (?)
Sim2DArray 43777 43774 -0.0% 1.00x (?)
SortLargeExistentials 15638 15691 +0.3% 1.00x
SortLettersInPlace 2883 2859 -0.8% 1.01x (?)
SortSortedStrings 1397 1400 +0.2% 1.00x (?)
SortStrings 2611 2575 -1.4% 1.01x
SortStringsUnicode 15989 16081 +0.6% 0.99x
StackPromo 86372 84899 -1.7% 1.02x
StaticArray 2652 2669 +0.6% 0.99x (?)
StrComplexWalk 6438 6434 -0.1% 1.00x
StrToInt 57080 58755 +2.9% 0.97x
StringAdder 4644 4749 +2.3% 0.98x (?)
StringBuilder 6916 6965 +0.7% 0.99x (?)
StringBuilderLong 2666 2703 +1.4% 0.99x
StringComparison_abnormal 1436 1413 -1.6% 1.02x (?)
StringComparison_ascii 9468 9609 +1.5% 0.99x
StringComparison_emoji 3774 3753 -0.6% 1.01x (?)
StringComparison_fastPrenormal 13498 13211 -2.1% 1.02x
StringComparison_latin1 9746 9602 -1.5% 1.01x
StringComparison_longSharedPrefix 12864 12814 -0.4% 1.00x (?)
StringComparison_nonBMPSlowestPrenormal 6816 6780 -0.5% 1.01x (?)
StringComparison_slowerPrenormal 6779 6809 +0.4% 1.00x (?)
StringComparison_zalgo 2835 2867 +1.1% 0.99x (?)
StringEdits 366087 362756 -0.9% 1.01x (?)
StringEnumRawValueInitialization 21076 21318 +1.1% 0.99x (?)
StringEqualPointerComparison 3406 3406 +0.0% 1.00x
StringFromLongWholeSubstring 22 22 +0.0% 1.00x
StringFromLongWholeSubstringGeneric 198 197 -0.5% 1.01x (?)
StringHasPrefixAscii 3063 3064 +0.0% 1.00x (?)
StringHasPrefixUnicode 31029 31013 -0.1% 1.00x (?)
StringHasSuffixAscii 3240 3255 +0.5% 1.00x (?)
StringHasSuffixUnicode 91064 90560 -0.6% 1.01x
StringMatch 33092 33329 +0.7% 0.99x (?)
StringRemoveDupes 1433 1438 +0.3% 1.00x (?)
StringUTF16Builder 7799 8140 +4.4% 0.96x
StringWalk 13559 13518 -0.3% 1.00x (?)
StringWordBuilder 2339 2336 -0.1% 1.00x (?)
StringWordBuilderReservingCapacity 2053 2030 -1.1% 1.01x (?)
SubstringComparable 4057 4090 +0.8% 0.99x (?)
SubstringEqualString 3459 3519 +1.7% 0.98x (?)
SubstringEquatable 8019 7828 -2.4% 1.02x (?)
SubstringFromLongString 24 24 +0.0% 1.00x
SubstringFromLongStringGeneric 107 107 +0.0% 1.00x
SuffixAnyCollection 4825 4896 +1.5% 0.99x
SuffixAnyCollectionLazy 34293 33421 -2.5% 1.03x (?)
SuffixAnySeqCRangeIter 34556 34521 -0.1% 1.00x (?)
SuffixAnySeqCRangeIterLazy 34639 34608 -0.1% 1.00x
SuffixAnySeqCntRange 4768 4832 +1.3% 0.99x
SuffixAnySeqCntRangeLazy 4775 4778 +0.1% 1.00x (?)
SuffixAnySequence 25107 25087 -0.1% 1.00x (?)
SuffixAnySequenceLazy 25125 25030 -0.4% 1.00x
SuffixCountableRange 113 113 +0.0% 1.00x
SuffixCountableRangeLazy 8825 8872 +0.5% 0.99x
SuffixSequence 25049 25010 -0.2% 1.00x (?)
SuffixSequenceLazy 25034 24959 -0.3% 1.00x
SumUsingReduce 174291 173754 -0.3% 1.00x
SumUsingReduceInto 169956 171417 +0.9% 0.99x
SuperChars 221372 224074 +1.2% 0.99x (?)
TwoSum 3939 3951 +0.3% 1.00x (?)
UTF8Decode 30045 30027 -0.1% 1.00x (?)
Walsh 12081 12080 -0.0% 1.00x (?)
WordCountHistogramASCII 48855 48767 -0.2% 1.00x (?)
WordCountHistogramUTF16 105188 101809 -3.2% 1.03x (?)
WordCountUniqueASCII 7997 7960 -0.5% 1.00x (?)
WordCountUniqueUTF16 33142 32098 -3.2% 1.03x (?)
WordSplitASCII 25706 25325 -1.5% 1.02x (?)
WordSplitUTF16 25689 25743 +0.2% 1.00x (?)
XorLoop 23636 23643 +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

@milseman
Copy link
Member Author

Not sure how a benchmark that has no Strings in it is being regressed by a minor tweak to UTF8 decoding

@milseman milseman merged commit 51c560f into swiftlang:master Jan 23, 2018
@milseman milseman deleted the ascii_view branch January 23, 2018 05:11
Copy link
Member

@lorentey lorentey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! 👍

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