Skip to content

[benchmark] Add a CharacterProperties benchmark #13739

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 5, 2018

Conversation

milseman
Copy link
Member

@milseman milseman commented Jan 4, 2018

No description provided.

@milseman
Copy link
Member Author

milseman commented Jan 4, 2018

@swift-ci please smoke test

@milseman
Copy link
Member Author

milseman commented Jan 4, 2018

@swift-ci please smoke benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Jan 5, 2018

Build comment file:

Optimized (O)

Regression (5)
TEST OLD NEW DELTA SPEEDUP
ObserverForwarderStruct 866 1089 +25.8% 0.80x
StringEqualPointerComparison 415 457 +10.1% 0.91x
SumUsingReduceInto 96 102 +6.2% 0.94x
Chars 1034 1095 +5.9% 0.94x
ObjectiveCBridgeFromNSArrayAnyObject 21556 22696 +5.3% 0.95x (?)
Improvement (5)
TEST OLD NEW DELTA SPEEDUP
Sim2DArray 638 410 -35.7% 1.56x
RangeIterationSigned 200 171 -14.5% 1.17x
Integrate 230 217 -5.7% 1.06x
ObjectiveCBridgeStubToNSDate 14858 14020 -5.6% 1.06x (?)
CharIteration_japanese_unicodeScalars_Backwards 23670 22520 -4.9% 1.05x
No Changes (320)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2858 2951 +3.3% 0.97x
AnyHashableWithAClass 69994 69882 -0.2% 1.00x (?)
Array2D 2523 2523 +0.0% 1.00x
ArrayAppend 985 983 -0.2% 1.00x
ArrayAppendArrayOfInt 749 738 -1.5% 1.01x (?)
ArrayAppendAscii 22978 23033 +0.2% 1.00x (?)
ArrayAppendFromGeneric 746 744 -0.3% 1.00x (?)
ArrayAppendGenericStructs 1359 1360 +0.1% 1.00x
ArrayAppendLatin1 43764 43236 -1.2% 1.01x
ArrayAppendLazyMap 1297 1285 -0.9% 1.01x
ArrayAppendOptionals 1359 1351 -0.6% 1.01x (?)
ArrayAppendRepeatCol 1285 1284 -0.1% 1.00x
ArrayAppendReserved 729 730 +0.1% 1.00x (?)
ArrayAppendSequence 1081 1080 -0.1% 1.00x
ArrayAppendStrings 15019 15032 +0.1% 1.00x (?)
ArrayAppendToFromGeneric 744 744 +0.0% 1.00x
ArrayAppendToGeneric 740 746 +0.8% 0.99x
ArrayAppendUTF16 43923 45381 +3.3% 0.97x
ArrayInClass 86 85 -1.2% 1.01x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 221 221 +0.0% 1.00x
ArrayOfGenericRef 4285 4300 +0.4% 1.00x
ArrayOfPOD 176 177 +0.6% 0.99x (?)
ArrayOfRef 4206 4230 +0.6% 0.99x (?)
ArrayPlusEqualArrayOfInt 746 744 -0.3% 1.00x (?)
ArrayPlusEqualFiveElementCollection 5621 5607 -0.2% 1.00x (?)
ArrayPlusEqualSingleElementCollection 988 988 +0.0% 1.00x
ArrayPlusEqualThreeElements 1573 1572 -0.1% 1.00x
ArraySubscript 1499 1499 +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 211 202 -4.3% 1.04x
ByteSwap 103 100 -2.9% 1.03x (?)
CStringLongAscii 5744 5740 -0.1% 1.00x (?)
CStringLongNonAscii 2458 2442 -0.7% 1.01x
CStringShortAscii 4691 4678 -0.3% 1.00x (?)
Calculator 40 42 +5.0% 0.95x
CaptureProp 7743 8015 +3.5% 0.97x
CharIndexing_ascii_unicodeScalars 21042 21101 +0.3% 1.00x
CharIndexing_ascii_unicodeScalars_Backwards 24871 24871 +0.0% 1.00x
CharIndexing_chinese_unicodeScalars 15936 15966 +0.2% 1.00x
CharIndexing_chinese_unicodeScalars_Backwards 18837 18823 -0.1% 1.00x
CharIndexing_japanese_unicodeScalars 25210 25276 +0.3% 1.00x
CharIndexing_japanese_unicodeScalars_Backwards 29782 29808 +0.1% 1.00x (?)
CharIndexing_korean_unicodeScalars 20417 20458 +0.2% 1.00x
CharIndexing_korean_unicodeScalars_Backwards 24128 24121 -0.0% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 3792 3786 -0.2% 1.00x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 4401 4439 +0.9% 0.99x
CharIndexing_punctuated_unicodeScalars 4751 4748 -0.1% 1.00x
CharIndexing_punctuated_unicodeScalars_Backwards 5522 5561 +0.7% 0.99x
CharIndexing_russian_unicodeScalars 17524 17571 +0.3% 1.00x (?)
CharIndexing_russian_unicodeScalars_Backwards 20712 20702 -0.0% 1.00x
CharIndexing_tweet_unicodeScalars 41539 41595 +0.1% 1.00x
CharIndexing_tweet_unicodeScalars_Backwards 49241 49115 -0.3% 1.00x
CharIndexing_utf16_unicodeScalars 76571 76502 -0.1% 1.00x (?)
CharIndexing_utf16_unicodeScalars_Backwards 85637 85360 -0.3% 1.00x
CharIteration_ascii_unicodeScalars 22573 23256 +3.0% 0.97x
CharIteration_ascii_unicodeScalars_Backwards 19315 18852 -2.4% 1.02x
CharIteration_chinese_unicodeScalars 17070 17650 +3.4% 0.97x
CharIteration_chinese_unicodeScalars_Backwards 14748 14298 -3.1% 1.03x
CharIteration_japanese_unicodeScalars 27047 27977 +3.4% 0.97x
CharIteration_korean_unicodeScalars 21888 22640 +3.4% 0.97x
CharIteration_korean_unicodeScalars_Backwards 19163 18276 -4.6% 1.05x
CharIteration_punctuatedJapanese_unicodeScalars 4015 4158 +3.6% 0.97x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 3436 3448 +0.3% 1.00x
CharIteration_punctuated_unicodeScalars 5038 5191 +3.0% 0.97x
CharIteration_punctuated_unicodeScalars_Backwards 4339 4318 -0.5% 1.00x
CharIteration_russian_unicodeScalars 18792 19419 +3.3% 0.97x
CharIteration_russian_unicodeScalars_Backwards 16429 15720 -4.3% 1.05x
CharIteration_tweet_unicodeScalars 44836 45975 +2.5% 0.98x
CharIteration_tweet_unicodeScalars_Backwards 37265 37068 -0.5% 1.01x
CharIteration_utf16_unicodeScalars 84741 84972 +0.3% 1.00x
CharIteration_utf16_unicodeScalars_Backwards 77531 77546 +0.0% 1.00x (?)
CharacterLiteralsLarge 5678 5838 +2.8% 0.97x
CharacterLiteralsSmall 511 510 -0.2% 1.00x
ClassArrayGetter 15 15 +0.0% 1.00x
Dictionary 660 656 -0.6% 1.01x
Dictionary2 1877 1878 +0.1% 1.00x (?)
Dictionary2OfObjects 3250 3237 -0.4% 1.00x
Dictionary3 550 550 +0.0% 1.00x
Dictionary3OfObjects 880 880 +0.0% 1.00x
DictionaryBridge 3796 3884 +2.3% 0.98x (?)
DictionaryGroup 145 145 +0.0% 1.00x
DictionaryGroupOfObjects 1814 1804 -0.6% 1.01x (?)
DictionaryLiteral 1507 1531 +1.6% 0.98x (?)
DictionaryOfObjects 2321 2292 -1.2% 1.01x (?)
DictionaryRemove 2855 2857 +0.1% 1.00x (?)
DictionaryRemoveOfObjects 22488 22387 -0.4% 1.00x (?)
DictionarySubscriptDefaultMutation 152 152 +0.0% 1.00x
DictionarySubscriptDefaultMutationArray 490 489 -0.2% 1.00x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 3619 3621 +0.1% 1.00x (?)
DictionarySubscriptDefaultMutationOfObjects 1283 1281 -0.2% 1.00x (?)
DictionarySwap 485 486 +0.2% 1.00x (?)
DictionarySwapOfObjects 7161 7174 +0.2% 1.00x (?)
DropFirstAnyCollection 34 34 +0.0% 1.00x
DropFirstAnyCollectionLazy 66971 67893 +1.4% 0.99x (?)
DropFirstAnySeqCRangeIter 20827 20864 +0.2% 1.00x
DropFirstAnySeqCRangeIterLazy 20777 20812 +0.2% 1.00x (?)
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstAnySequence 4235 4232 -0.1% 1.00x
DropFirstAnySequenceLazy 4352 4264 -2.0% 1.02x
DropFirstArray 36 35 -2.8% 1.03x
DropFirstArrayLazy 36 35 -2.8% 1.03x
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 19 19 +0.0% 1.00x
DropLastAnyCollectionLazy 22282 22248 -0.2% 1.00x (?)
DropLastAnySeqCRangeIter 4339 4290 -1.1% 1.01x (?)
DropLastAnySeqCRangeIterLazy 4372 4376 +0.1% 1.00x (?)
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 5952 5967 +0.3% 1.00x
DropLastAnySequenceLazy 6014 6050 +0.6% 0.99x
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropLastSequence 681 693 +1.8% 0.98x
DropLastSequenceLazy 682 693 +1.6% 0.98x
DropWhileAnyCollection 99 99 +0.0% 1.00x
DropWhileAnyCollectionLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCRangeIter 16827 16810 -0.1% 1.00x (?)
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 147 147 +0.0% 1.00x
DropWhileAnySequence 4627 4617 -0.2% 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 400 401 +0.2% 1.00x
EqualSubstringString 400 401 +0.2% 1.00x
EqualSubstringSubstring 402 402 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 402 402 +0.0% 1.00x
ErrorHandling 2035 2083 +2.4% 0.98x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1282 1281 -0.1% 1.00x (?)
FilterEvenUsingReduceInto 148 147 -0.7% 1.01x (?)
FrequenciesUsingReduce 6605 6509 -1.5% 1.01x (?)
FrequenciesUsingReduceInto 2922 2898 -0.8% 1.01x (?)
Hanoi 3888 4026 +3.5% 0.97x
HashTest 1701 1702 +0.1% 1.00x (?)
Histogram 332 334 +0.6% 0.99x
IterateData 1337 1380 +3.2% 0.97x (?)
Join 382 379 -0.8% 1.01x (?)
LazilyFilteredArrayContains 32677 32701 +0.1% 1.00x (?)
LazilyFilteredArrays 65070 65769 +1.1% 0.99x (?)
LazilyFilteredRange 4016 3997 -0.5% 1.00x
LessSubstringSubstring 402 402 +0.0% 1.00x
LessSubstringSubstringGenericComparable 402 402 +0.0% 1.00x
LinkedList 7156 7158 +0.0% 1.00x (?)
MapReduce 457 457 +0.0% 1.00x
MapReduceAnyCollection 457 457 +0.0% 1.00x
MapReduceAnyCollectionShort 2029 2020 -0.4% 1.00x (?)
MapReduceClass 3015 3013 -0.1% 1.00x
MapReduceClassShort 4484 4485 +0.0% 1.00x (?)
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazyCollectionShort 39 39 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 441 438 -0.7% 1.01x
MapReduceShort 1974 1973 -0.1% 1.00x (?)
MapReduceShortString 22 22 +0.0% 1.00x
MapReduceString 106 109 +2.8% 0.97x
Memset 215 214 -0.5% 1.00x (?)
MonteCarloE 10314 10391 +0.7% 0.99x
MonteCarloPi 43066 42871 -0.5% 1.00x
NSDictionaryCastToSwift 5180 5233 +1.0% 0.99x (?)
NSError 319 317 -0.6% 1.01x (?)
NSStringConversion 406 406 +0.0% 1.00x
NopDeinit 23468 23239 -1.0% 1.01x
ObjectAllocation 175 177 +1.1% 0.99x
ObjectiveCBridgeFromNSArrayAnyObjectForced 3893 3945 +1.3% 0.99x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 39249 38445 -2.0% 1.02x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 33232 34968 +5.2% 0.95x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 129223 132648 +2.7% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObject 63183 63263 +0.1% 1.00x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5013 4780 -4.6% 1.05x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 68030 70325 +3.4% 0.97x (?)
ObjectiveCBridgeFromNSString 1033 1001 -3.1% 1.03x
ObjectiveCBridgeFromNSStringForced 2222 2221 -0.0% 1.00x (?)
ObjectiveCBridgeStubDataAppend 4046 4024 -0.5% 1.01x
ObjectiveCBridgeStubDateMutation 256 258 +0.8% 0.99x
ObjectiveCBridgeStubFromArrayOfNSString 27407 27685 +1.0% 0.99x
ObjectiveCBridgeStubFromNSDate 3986 4074 +2.2% 0.98x
ObjectiveCBridgeStubFromNSString 597 609 +2.0% 0.98x
ObjectiveCBridgeStubFromNSStringRef 167 170 +1.8% 0.98x
ObjectiveCBridgeStubNSDataAppend 2647 2631 -0.6% 1.01x (?)
ObjectiveCBridgeStubNSDateMutationRef 15155 15273 +0.8% 0.99x (?)
ObjectiveCBridgeStubToArrayOfNSString 29396 29105 -1.0% 1.01x (?)
ObjectiveCBridgeStubToNSDateRef 3380 3318 -1.8% 1.02x (?)
ObjectiveCBridgeStubToNSString 1408 1406 -0.1% 1.00x
ObjectiveCBridgeStubToNSStringRef 120 121 +0.8% 0.99x
ObjectiveCBridgeStubURLAppendPath 343725 333065 -3.1% 1.03x (?)
ObjectiveCBridgeStubURLAppendPathRef 338708 340986 +0.7% 0.99x (?)
ObjectiveCBridgeToNSArray 29444 29239 -0.7% 1.01x (?)
ObjectiveCBridgeToNSDictionary 57936 57703 -0.4% 1.00x (?)
ObjectiveCBridgeToNSSet 48787 48288 -1.0% 1.01x (?)
ObjectiveCBridgeToNSString 1180 1186 +0.5% 0.99x (?)
ObserverClosure 2005 2006 +0.0% 1.00x (?)
ObserverPartiallyAppliedMethod 3561 3539 -0.6% 1.01x
ObserverUnappliedMethod 2139 2161 +1.0% 0.99x
OpenClose 5 5 +0.0% 1.00x
Phonebook 6354 6559 +3.2% 0.97x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1874 1876 +0.1% 1.00x (?)
PopFrontArrayGeneric 1869 1873 +0.2% 1.00x (?)
PopFrontUnsafePointer 8861 8865 +0.0% 1.00x (?)
PrefixAnyCollection 34 34 +0.0% 1.00x
PrefixAnyCollectionLazy 66593 66528 -0.1% 1.00x (?)
PrefixAnySeqCRangeIter 16307 16286 -0.1% 1.00x (?)
PrefixAnySeqCRangeIterLazy 16270 16290 +0.1% 1.00x (?)
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 3690 3767 +2.1% 0.98x
PrefixAnySequenceLazy 3688 3725 +1.0% 0.99x
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 11643 11647 +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 12727 12711 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1374 1374 +0.0% 1.00x
PrefixWhileArray 88 88 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 53 53 +0.0% 1.00x
PrefixWhileCountableRangeLazy 35 35 +0.0% 1.00x
PrefixWhileSequence 390 390 +0.0% 1.00x
PrefixWhileSequenceLazy 52 52 +0.0% 1.00x
Prims 758 755 -0.4% 1.00x
PrimsSplit 776 762 -1.8% 1.02x
RC4 164 165 +0.6% 0.99x
RGBHistogram 2830 2891 +2.2% 0.98x
RGBHistogramOfObjects 22878 22912 +0.1% 1.00x (?)
RangeAssignment 379 383 +1.1% 0.99x
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RecursiveOwnedParameter 2686 2734 +1.8% 0.98x
ReversedArray 57 57 +0.0% 1.00x
ReversedBidirectional 16540 16617 +0.5% 1.00x
ReversedDictionary 125 123 -1.6% 1.02x (?)
SetExclusiveOr 3559 3536 -0.6% 1.01x (?)
SetExclusiveOr_OfObjects 8547 8496 -0.6% 1.01x (?)
SetIntersect 320 319 -0.3% 1.00x (?)
SetIntersect_OfObjects 1713 1719 +0.4% 1.00x
SetIsSubsetOf 292 291 -0.3% 1.00x
SetIsSubsetOf_OfObjects 349 349 +0.0% 1.00x
SetUnion 2953 3000 +1.6% 0.98x
SetUnion_OfObjects 7002 7001 -0.0% 1.00x (?)
SevenBoom 1650 1602 -2.9% 1.03x
SortLargeExistentials 7895 7805 -1.1% 1.01x
SortLettersInPlace 1099 1103 +0.4% 1.00x (?)
SortSortedStrings 1075 1089 +1.3% 0.99x
SortStrings 1918 1939 +1.1% 0.99x
SortStringsUnicode 9063 9040 -0.3% 1.00x (?)
StackPromo 23130 23235 +0.5% 1.00x (?)
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1987 1986 -0.1% 1.00x (?)
StrToInt 2123 2093 -1.4% 1.01x
StringAdder 3335 3372 +1.1% 0.99x (?)
StringBuilder 994 1012 +1.8% 0.98x (?)
StringBuilderLong 969 939 -3.1% 1.03x (?)
StringComparison_abnormal 701 698 -0.4% 1.00x
StringComparison_ascii 1401 1401 +0.0% 1.00x
StringComparison_emoji 2056 2061 +0.2% 1.00x
StringComparison_fastPrenormal 7020 7005 -0.2% 1.00x (?)
StringComparison_latin1 4784 4817 +0.7% 0.99x (?)
StringComparison_longSharedPrefix 5568 5574 +0.1% 1.00x
StringComparison_nonBMPSlowestPrenormal 3722 3713 -0.2% 1.00x (?)
StringComparison_slowerPrenormal 3205 3168 -1.2% 1.01x
StringComparison_zalgo 1303 1307 +0.3% 1.00x
StringEdits 171784 175932 +2.4% 0.98x (?)
StringEnumRawValueInitialization 1104 1114 +0.9% 0.99x (?)
StringFromLongWholeSubstring 171 172 +0.6% 0.99x (?)
StringFromLongWholeSubstringGeneric 72 72 +0.0% 1.00x
StringHasPrefixAscii 1260 1259 -0.1% 1.00x
StringHasPrefixUnicode 18509 18815 +1.7% 0.98x
StringHasSuffixAscii 1402 1374 -2.0% 1.02x
StringHasSuffixUnicode 78854 78800 -0.1% 1.00x
StringInterpolation 11056 10913 -1.3% 1.01x (?)
StringMatch 8441 8777 +4.0% 0.96x
StringUTF16Builder 1849 1841 -0.4% 1.00x (?)
StringWalk 1540 1542 +0.1% 1.00x
StringWithCString 72753 72696 -0.1% 1.00x (?)
SubstringComparable 1691 1688 -0.2% 1.00x
SubstringEqualString 1485 1483 -0.1% 1.00x
SubstringEquatable 3610 3606 -0.1% 1.00x
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 70 71 +1.4% 0.99x
SuffixAnyCollection 27 27 +0.0% 1.00x
SuffixAnyCollectionLazy 22215 22554 +1.5% 0.98x (?)
SuffixAnySeqCRangeIter 4643 4644 +0.0% 1.00x (?)
SuffixAnySeqCRangeIterLazy 4643 4642 -0.0% 1.00x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 5964 5923 -0.7% 1.01x
SuffixAnySequenceLazy 6016 6072 +0.9% 0.99x
SuffixCountableRange 11 11 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 4680 4585 -2.0% 1.02x
SuffixSequenceLazy 4677 4630 -1.0% 1.01x
SumUsingReduce 97 102 +5.2% 0.95x
SuperChars 85567 85149 -0.5% 1.00x (?)
TwoSum 1000 994 -0.6% 1.01x (?)
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 314 324 +3.2% 0.97x
Walsh 435 429 -1.4% 1.01x
XorLoop 385 384 -0.3% 1.00x (?)
Added (2)
TEST MIN MAX MEAN MAX_RSS
CharacterPropertiesFetch 445 450 447 5128192
CharacterPropertiesStashed 158 158 158 5890048

Unoptimized (Onone)

Regression (6)
TEST OLD NEW DELTA SPEEDUP
ReversedArray 17579 19238 +9.4% 0.91x
CharIteration_tweet_unicodeScalars_Backwards 672322 732689 +9.0% 0.92x
DictionarySubscriptDefaultMutationArrayOfObjects 8981 9657 +7.5% 0.93x
CharIndexing_punctuated_unicodeScalars_Backwards 102413 109994 +7.4% 0.93x (?)
EqualStringSubstring 696 736 +5.7% 0.95x (?)
HashTest 17367 18344 +5.6% 0.95x
Improvement (9)
TEST OLD NEW DELTA SPEEDUP
DropFirstAnySeqCntRange 20208 15436 -23.6% 1.31x
CharIndexing_punctuated_unicodeScalars 117411 103708 -11.7% 1.13x
CharIndexing_tweet_unicodeScalars_Backwards 1011986 931055 -8.0% 1.09x
CharIndexing_utf16_unicodeScalars 488224 453867 -7.0% 1.08x (?)
EqualSubstringSubstring 831 778 -6.4% 1.07x (?)
Sim2DArray 46529 43778 -5.9% 1.06x
ExclusivityIndependent 75 71 -5.3% 1.06x (?)
PrefixAnySeqCRangeIter 19651 18634 -5.2% 1.05x (?)
DictionarySwap 5529 5246 -5.1% 1.05x
No Changes (315)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4869 4798 -1.5% 1.01x
AnyHashableWithAClass 90470 86802 -4.1% 1.04x
Array2D 633312 631489 -0.3% 1.00x
ArrayAppend 4865 4860 -0.1% 1.00x (?)
ArrayAppendArrayOfInt 788 794 +0.8% 0.99x (?)
ArrayAppendAscii 44836 45038 +0.5% 1.00x
ArrayAppendFromGeneric 780 797 +2.2% 0.98x (?)
ArrayAppendGenericStructs 1409 1378 -2.2% 1.02x
ArrayAppendLatin1 68630 68574 -0.1% 1.00x (?)
ArrayAppendLazyMap 197348 196593 -0.4% 1.00x
ArrayAppendOptionals 1409 1406 -0.2% 1.00x (?)
ArrayAppendRepeatCol 192535 194177 +0.9% 0.99x
ArrayAppendReserved 4486 4603 +2.6% 0.97x
ArrayAppendSequence 136896 136916 +0.0% 1.00x (?)
ArrayAppendStrings 15195 15312 +0.8% 0.99x (?)
ArrayAppendToFromGeneric 793 794 +0.1% 1.00x (?)
ArrayAppendToGeneric 790 798 +1.0% 0.99x (?)
ArrayAppendUTF16 70567 70745 +0.3% 1.00x
ArrayInClass 6220 6274 +0.9% 0.99x (?)
ArrayLiteral 1677 1685 +0.5% 1.00x
ArrayOfGenericPOD 1730 1731 +0.1% 1.00x (?)
ArrayOfGenericRef 10024 9961 -0.6% 1.01x (?)
ArrayOfPOD 853 858 +0.6% 0.99x
ArrayOfRef 9297 9173 -1.3% 1.01x (?)
ArrayPlusEqualArrayOfInt 795 776 -2.4% 1.02x (?)
ArrayPlusEqualFiveElementCollection 256158 246552 -3.8% 1.04x (?)
ArrayPlusEqualSingleElementCollection 252109 242217 -3.9% 1.04x (?)
ArrayPlusEqualThreeElements 9504 9409 -1.0% 1.01x (?)
ArraySubscript 83940 82901 -1.2% 1.01x (?)
ArrayValueProp 3424 3601 +5.2% 0.95x
ArrayValueProp2 18588 19471 +4.8% 0.95x (?)
ArrayValueProp3 3925 3953 +0.7% 0.99x
ArrayValueProp4 3904 3927 +0.6% 0.99x
BitCount 2101 2209 +5.1% 0.95x
ByteSwap 3914 3948 +0.9% 0.99x
CStringLongAscii 5669 5660 -0.2% 1.00x (?)
CStringLongNonAscii 2519 2490 -1.2% 1.01x (?)
CStringShortAscii 8402 8731 +3.9% 0.96x (?)
Calculator 1220 1218 -0.2% 1.00x (?)
CaptureProp 349484 348307 -0.3% 1.00x
CharIndexing_ascii_unicodeScalars 519105 507434 -2.2% 1.02x (?)
CharIndexing_ascii_unicodeScalars_Backwards 466446 472516 +1.3% 0.99x (?)
CharIndexing_chinese_unicodeScalars 385194 378874 -1.6% 1.02x (?)
CharIndexing_chinese_unicodeScalars_Backwards 356473 357273 +0.2% 1.00x (?)
CharIndexing_japanese_unicodeScalars 576196 581002 +0.8% 0.99x (?)
CharIndexing_japanese_unicodeScalars_Backwards 561914 555375 -1.2% 1.01x (?)
CharIndexing_korean_unicodeScalars 480883 486910 +1.3% 0.99x (?)
CharIndexing_korean_unicodeScalars_Backwards 450515 452371 +0.4% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 88224 88515 +0.3% 1.00x (?)
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 80709 83444 +3.4% 0.97x (?)
CharIndexing_russian_unicodeScalars 423304 408472 -3.5% 1.04x (?)
CharIndexing_russian_unicodeScalars_Backwards 389735 396023 +1.6% 0.98x (?)
CharIndexing_tweet_unicodeScalars 1032706 1002929 -2.9% 1.03x (?)
CharIndexing_utf16_unicodeScalars_Backwards 485626 474554 -2.3% 1.02x (?)
CharIteration_ascii_unicodeScalars 185701 186118 +0.2% 1.00x
CharIteration_ascii_unicodeScalars_Backwards 338585 335848 -0.8% 1.01x (?)
CharIteration_chinese_unicodeScalars 143525 144408 +0.6% 0.99x (?)
CharIteration_chinese_unicodeScalars_Backwards 260431 258837 -0.6% 1.01x (?)
CharIteration_japanese_unicodeScalars 230066 227812 -1.0% 1.01x (?)
CharIteration_japanese_unicodeScalars_Backwards 412650 406100 -1.6% 1.02x (?)
CharIteration_korean_unicodeScalars 180761 180035 -0.4% 1.00x (?)
CharIteration_korean_unicodeScalars_Backwards 328889 324467 -1.3% 1.01x (?)
CharIteration_punctuatedJapanese_unicodeScalars 33106 33390 +0.9% 0.99x (?)
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 59577 59550 -0.0% 1.00x (?)
CharIteration_punctuated_unicodeScalars 41713 41589 -0.3% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 74243 74014 -0.3% 1.00x (?)
CharIteration_russian_unicodeScalars 154711 154526 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 282971 279552 -1.2% 1.01x (?)
CharIteration_tweet_unicodeScalars 367298 371211 +1.1% 0.99x
CharIteration_utf16_unicodeScalars 205089 203028 -1.0% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 350853 350526 -0.1% 1.00x (?)
CharacterLiteralsLarge 5894 6149 +4.3% 0.96x
CharacterLiteralsSmall 824 857 +4.0% 0.96x
Chars 50091 50083 -0.0% 1.00x (?)
ClassArrayGetter 982 978 -0.4% 1.00x
Dictionary 3069 3018 -1.7% 1.02x (?)
Dictionary2 2915 2912 -0.1% 1.00x (?)
Dictionary2OfObjects 5737 5690 -0.8% 1.01x (?)
Dictionary3 1335 1337 +0.1% 1.00x (?)
Dictionary3OfObjects 2253 2293 +1.8% 0.98x (?)
DictionaryBridge 4086 4059 -0.7% 1.01x (?)
DictionaryGroup 4594 4581 -0.3% 1.00x (?)
DictionaryGroupOfObjects 7774 7708 -0.8% 1.01x (?)
DictionaryLiteral 8383 8427 +0.5% 0.99x (?)
DictionaryOfObjects 6675 6584 -1.4% 1.01x (?)
DictionaryRemove 18755 18657 -0.5% 1.01x (?)
DictionaryRemoveOfObjects 49099 48774 -0.7% 1.01x (?)
DictionarySubscriptDefaultMutation 2073 2021 -2.5% 1.03x (?)
DictionarySubscriptDefaultMutationArray 2245 2298 +2.4% 0.98x (?)
DictionarySubscriptDefaultMutationOfObjects 5499 5616 +2.1% 0.98x (?)
DictionarySwapOfObjects 22210 22320 +0.5% 1.00x (?)
DropFirstAnyCollection 15565 15481 -0.5% 1.01x (?)
DropFirstAnyCollectionLazy 127532 129490 +1.5% 0.98x (?)
DropFirstAnySeqCRangeIter 23158 23149 -0.0% 1.00x (?)
DropFirstAnySeqCRangeIterLazy 23446 23212 -1.0% 1.01x
DropFirstAnySeqCntRangeLazy 15864 15544 -2.0% 1.02x (?)
DropFirstAnySequence 10505 10420 -0.8% 1.01x
DropFirstAnySequenceLazy 10326 10222 -1.0% 1.01x
DropFirstArray 5811 5814 +0.1% 1.00x
DropFirstArrayLazy 33011 33022 +0.0% 1.00x (?)
DropFirstCountableRange 327 325 -0.6% 1.01x
DropFirstCountableRangeLazy 29925 30020 +0.3% 1.00x (?)
DropFirstSequence 9830 9817 -0.1% 1.00x (?)
DropFirstSequenceLazy 9930 9844 -0.9% 1.01x
DropLastAnyCollection 5251 5175 -1.4% 1.01x (?)
DropLastAnyCollectionLazy 42770 42338 -1.0% 1.01x (?)
DropLastAnySeqCRangeIter 43106 42853 -0.6% 1.01x (?)
DropLastAnySeqCRangeIterLazy 41239 43020 +4.3% 0.96x (?)
DropLastAnySeqCntRange 5176 5197 +0.4% 1.00x (?)
DropLastAnySeqCntRangeLazy 5243 5198 -0.9% 1.01x (?)
DropLastAnySequence 29552 29564 +0.0% 1.00x (?)
DropLastAnySequenceLazy 29611 29564 -0.2% 1.00x (?)
DropLastCountableRange 113 113 +0.0% 1.00x
DropLastCountableRangeLazy 9970 9993 +0.2% 1.00x (?)
DropLastSequence 29505 29418 -0.3% 1.00x (?)
DropLastSequenceLazy 29365 29510 +0.5% 1.00x (?)
DropWhileAnyCollection 20178 20216 +0.2% 1.00x (?)
DropWhileAnyCollectionLazy 21844 21353 -2.2% 1.02x
DropWhileAnySeqCRangeIter 25929 24898 -4.0% 1.04x
DropWhileAnySeqCRangeIterLazy 21743 21414 -1.5% 1.02x
DropWhileAnySeqCntRange 20080 20176 +0.5% 1.00x
DropWhileAnySeqCntRangeLazy 21954 21347 -2.8% 1.03x
DropWhileAnySequence 11881 11809 -0.6% 1.01x (?)
DropWhileAnySequenceLazy 10096 9686 -4.1% 1.04x
DropWhileArrayLazy 16860 16845 -0.1% 1.00x (?)
DropWhileCountableRange 4861 4826 -0.7% 1.01x
DropWhileCountableRangeLazy 21724 21244 -2.2% 1.02x (?)
DropWhileSequence 11561 11604 +0.4% 1.00x (?)
DropWhileSequenceLazy 9233 9470 +2.6% 0.97x
EqualSubstringString 720 723 +0.4% 1.00x (?)
EqualSubstringSubstringGenericEquatable 461 460 -0.2% 1.00x
ErrorHandling 6687 6788 +1.5% 0.99x (?)
ExclusivityGlobal 194 194 +0.0% 1.00x
FilterEvenUsingReduce 4125 4137 +0.3% 1.00x (?)
FilterEvenUsingReduceInto 2367 2403 +1.5% 0.99x
FrequenciesUsingReduce 11238 11098 -1.2% 1.01x (?)
FrequenciesUsingReduceInto 5388 5388 +0.0% 1.00x
Hanoi 21550 21667 +0.5% 0.99x (?)
Histogram 7871 7766 -1.3% 1.01x
Integrate 820 820 +0.0% 1.00x
IterateData 7579 7576 -0.0% 1.00x (?)
Join 1506 1499 -0.5% 1.00x
LazilyFilteredArrayContains 928450 925399 -0.3% 1.00x
LazilyFilteredArrays 1609049 1603083 -0.4% 1.00x (?)
LazilyFilteredRange 534815 533522 -0.2% 1.00x (?)
LessSubstringSubstring 795 780 -1.9% 1.02x (?)
LessSubstringSubstringGenericComparable 461 461 +0.0% 1.00x
LinkedList 31221 31101 -0.4% 1.00x (?)
MapReduce 33315 33473 +0.5% 1.00x (?)
MapReduceAnyCollection 33395 33344 -0.2% 1.00x (?)
MapReduceAnyCollectionShort 45321 45687 +0.8% 0.99x (?)
MapReduceClass 37869 37960 +0.2% 1.00x (?)
MapReduceClassShort 49841 50415 +1.2% 0.99x
MapReduceLazyCollection 26658 26810 +0.6% 0.99x (?)
MapReduceLazyCollectionShort 37245 37784 +1.4% 0.99x (?)
MapReduceLazySequence 17571 17578 +0.0% 1.00x (?)
MapReduceSequence 34703 34309 -1.1% 1.01x
MapReduceShort 44763 46012 +2.8% 0.97x (?)
MapReduceShortString 272 282 +3.7% 0.96x (?)
MapReduceString 2325 2316 -0.4% 1.00x (?)
Memset 44964 44959 -0.0% 1.00x (?)
MonteCarloE 938381 937554 -0.1% 1.00x (?)
MonteCarloPi 4008459 3957644 -1.3% 1.01x
NSDictionaryCastToSwift 7470 7246 -3.0% 1.03x (?)
NSError 720 728 +1.1% 0.99x (?)
NSStringConversion 449 449 +0.0% 1.00x
NopDeinit 173387 173432 +0.0% 1.00x (?)
ObjectAllocation 1467 1530 +4.3% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObject 24484 24917 +1.8% 0.98x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7875 8208 +4.2% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 43012 44179 +2.7% 0.97x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 35071 36370 +3.7% 0.96x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 135680 133334 -1.7% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObject 68340 67009 -1.9% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7133 7496 +5.1% 0.95x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 73340 73620 +0.4% 1.00x (?)
ObjectiveCBridgeFromNSString 3091 3071 -0.6% 1.01x (?)
ObjectiveCBridgeFromNSStringForced 2553 2581 +1.1% 0.99x
ObjectiveCBridgeStubDataAppend 4387 4484 +2.2% 0.98x (?)
ObjectiveCBridgeStubDateMutation 630 631 +0.2% 1.00x (?)
ObjectiveCBridgeStubFromArrayOfNSString 28894 28699 -0.7% 1.01x (?)
ObjectiveCBridgeStubFromNSDate 4392 4392 +0.0% 1.00x
ObjectiveCBridgeStubFromNSString 633 644 +1.7% 0.98x
ObjectiveCBridgeStubFromNSStringRef 202 202 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 3151 3150 -0.0% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 17526 17526 +0.0% 1.00x
ObjectiveCBridgeStubToArrayOfNSString 29333 29653 +1.1% 0.99x (?)
ObjectiveCBridgeStubToNSDate 15647 16356 +4.5% 0.96x (?)
ObjectiveCBridgeStubToNSDateRef 3397 3395 -0.1% 1.00x (?)
ObjectiveCBridgeStubToNSString 1508 1477 -2.1% 1.02x
ObjectiveCBridgeStubToNSStringRef 161 161 +0.0% 1.00x
ObjectiveCBridgeStubURLAppendPath 352282 346834 -1.5% 1.02x (?)
ObjectiveCBridgeStubURLAppendPathRef 346480 354492 +2.3% 0.98x (?)
ObjectiveCBridgeToNSArray 29768 29756 -0.0% 1.00x (?)
ObjectiveCBridgeToNSDictionary 58520 58611 +0.2% 1.00x (?)
ObjectiveCBridgeToNSSet 50138 49608 -1.1% 1.01x (?)
ObjectiveCBridgeToNSString 1245 1243 -0.2% 1.00x (?)
ObserverClosure 6627 6420 -3.1% 1.03x
ObserverForwarderStruct 4772 4813 +0.9% 0.99x
ObserverPartiallyAppliedMethod 8100 7906 -2.4% 1.02x (?)
ObserverUnappliedMethod 7986 8253 +3.3% 0.97x
OpenClose 440 440 +0.0% 1.00x
Phonebook 22596 22682 +0.4% 1.00x
PolymorphicCalls 6904 6642 -3.8% 1.04x
PopFrontArray 8947 8972 +0.3% 1.00x (?)
PopFrontArrayGeneric 7900 7868 -0.4% 1.00x (?)
PopFrontUnsafePointer 10535 10480 -0.5% 1.01x (?)
PrefixAnyCollection 15604 15451 -1.0% 1.01x
PrefixAnyCollectionLazy 126295 127777 +1.2% 0.99x (?)
PrefixAnySeqCRangeIterLazy 18584 18538 -0.2% 1.00x (?)
PrefixAnySeqCntRange 15565 15437 -0.8% 1.01x
PrefixAnySeqCntRangeLazy 15836 15576 -1.6% 1.02x (?)
PrefixAnySequence 8660 8584 -0.9% 1.01x
PrefixAnySequenceLazy 8531 8605 +0.9% 0.99x
PrefixArray 5809 5839 +0.5% 0.99x
PrefixArrayLazy 33174 32919 -0.8% 1.01x (?)
PrefixCountableRange 326 325 -0.3% 1.00x (?)
PrefixCountableRangeLazy 29976 30135 +0.5% 0.99x (?)
PrefixSequence 8352 8326 -0.3% 1.00x (?)
PrefixSequenceLazy 8339 8455 +1.4% 0.99x
PrefixWhileAnyCollection 29073 29085 +0.0% 1.00x
PrefixWhileAnyCollectionLazy 17782 17597 -1.0% 1.01x
PrefixWhileAnySeqCRangeIter 38958 39098 +0.4% 1.00x
PrefixWhileAnySeqCRangeIterLazy 18050 17735 -1.7% 1.02x (?)
PrefixWhileAnySeqCntRange 29003 29154 +0.5% 0.99x
PrefixWhileAnySeqCntRangeLazy 17980 17620 -2.0% 1.02x
PrefixWhileAnySequence 28929 28793 -0.5% 1.00x
PrefixWhileAnySequenceLazy 8916 8855 -0.7% 1.01x
PrefixWhileArray 16144 15919 -1.4% 1.01x
PrefixWhileArrayLazy 14254 14216 -0.3% 1.00x
PrefixWhileCountableRange 13798 13866 +0.5% 1.00x (?)
PrefixWhileCountableRangeLazy 17782 17317 -2.6% 1.03x (?)
PrefixWhileSequence 28582 28485 -0.3% 1.00x (?)
PrefixWhileSequenceLazy 8640 8555 -1.0% 1.01x
Prims 10351 10322 -0.3% 1.00x (?)
PrimsSplit 10319 10288 -0.3% 1.00x (?)
RC4 17886 18442 +3.1% 0.97x
RGBHistogram 30043 30291 +0.8% 0.99x (?)
RGBHistogramOfObjects 100307 99887 -0.4% 1.00x (?)
RangeAssignment 4430 4417 -0.3% 1.00x (?)
RangeIterationSigned 17066 17192 +0.7% 0.99x
RangeIterationSigned64 43072 43254 +0.4% 1.00x (?)
RangeIterationUnsigned 38380 38617 +0.6% 0.99x (?)
RecursiveOwnedParameter 7848 7848 +0.0% 1.00x
ReversedBidirectional 46507 46487 -0.0% 1.00x
ReversedDictionary 27984 27575 -1.5% 1.01x (?)
SetExclusiveOr 17171 17193 +0.1% 1.00x (?)
SetExclusiveOr_OfObjects 41349 41379 +0.1% 1.00x (?)
SetIntersect 8307 8300 -0.1% 1.00x
SetIntersect_OfObjects 12186 12171 -0.1% 1.00x (?)
SetIsSubsetOf 1333 1323 -0.8% 1.01x
SetIsSubsetOf_OfObjects 1548 1547 -0.1% 1.00x (?)
SetUnion 11675 11725 +0.4% 1.00x
SetUnion_OfObjects 28851 29040 +0.7% 0.99x (?)
SevenBoom 1768 1832 +3.6% 0.97x
SortLargeExistentials 15955 15848 -0.7% 1.01x
SortLettersInPlace 2895 2870 -0.9% 1.01x
SortSortedStrings 1350 1343 -0.5% 1.01x
SortStrings 2531 2513 -0.7% 1.01x
SortStringsUnicode 9522 9468 -0.6% 1.01x (?)
StackPromo 91488 89973 -1.7% 1.02x (?)
StaticArray 2667 2661 -0.2% 1.00x (?)
StrComplexWalk 6969 6966 -0.0% 1.00x (?)
StrToInt 78161 77694 -0.6% 1.01x (?)
StringAdder 3717 3653 -1.7% 1.02x
StringBuilder 7032 6991 -0.6% 1.01x (?)
StringBuilderLong 1106 1104 -0.2% 1.00x (?)
StringComparison_abnormal 1395 1383 -0.9% 1.01x
StringComparison_ascii 13783 13749 -0.2% 1.00x
StringComparison_emoji 3636 3623 -0.4% 1.00x (?)
StringComparison_fastPrenormal 12663 12727 +0.5% 0.99x
StringComparison_latin1 9202 9242 +0.4% 1.00x
StringComparison_longSharedPrefix 7643 7631 -0.2% 1.00x
StringComparison_nonBMPSlowestPrenormal 6525 6530 +0.1% 1.00x (?)
StringComparison_slowerPrenormal 6476 6475 -0.0% 1.00x (?)
StringComparison_zalgo 2708 2707 -0.0% 1.00x (?)
StringEdits 441889 430269 -2.6% 1.03x (?)
StringEnumRawValueInitialization 13721 13648 -0.5% 1.01x (?)
StringEqualPointerComparison 3377 3383 +0.2% 1.00x
StringFromLongWholeSubstring 205 206 +0.5% 1.00x
StringFromLongWholeSubstringGeneric 215 211 -1.9% 1.02x
StringHasPrefixAscii 2877 2826 -1.8% 1.02x
StringHasPrefixUnicode 19832 20095 +1.3% 0.99x
StringHasSuffixAscii 3062 3075 +0.4% 1.00x
StringHasSuffixUnicode 80528 80395 -0.2% 1.00x
StringInterpolation 14151 13833 -2.2% 1.02x (?)
StringMatch 39659 38780 -2.2% 1.02x (?)
StringUTF16Builder 7899 7800 -1.3% 1.01x (?)
StringWalk 13204 12921 -2.1% 1.02x
StringWithCString 68590 68552 -0.1% 1.00x (?)
SubstringComparable 4286 4277 -0.2% 1.00x (?)
SubstringEqualString 7037 6794 -3.5% 1.04x (?)
SubstringEquatable 9091 8966 -1.4% 1.01x (?)
SubstringFromLongString 15 15 +0.0% 1.00x
SubstringFromLongStringGeneric 104 103 -1.0% 1.01x
SuffixAnyCollection 5208 5167 -0.8% 1.01x (?)
SuffixAnyCollectionLazy 42626 42665 +0.1% 1.00x (?)
SuffixAnySeqCRangeIter 38977 39076 +0.3% 1.00x
SuffixAnySeqCRangeIterLazy 38664 38626 -0.1% 1.00x (?)
SuffixAnySeqCntRange 5179 5193 +0.3% 1.00x (?)
SuffixAnySeqCntRangeLazy 5235 5201 -0.6% 1.01x (?)
SuffixAnySequence 25555 25577 +0.1% 1.00x (?)
SuffixAnySequenceLazy 25595 25598 +0.0% 1.00x (?)
SuffixCountableRange 114 113 -0.9% 1.01x (?)
SuffixCountableRangeLazy 9974 9966 -0.1% 1.00x (?)
SuffixSequence 25431 25442 +0.0% 1.00x
SuffixSequenceLazy 25363 25436 +0.3% 1.00x
SumUsingReduce 208451 214411 +2.9% 0.97x
SumUsingReduceInto 204890 214339 +4.6% 0.96x
SuperChars 190703 191632 +0.5% 1.00x
TwoSum 4113 3960 -3.7% 1.04x (?)
TypeFlood 164 158 -3.7% 1.04x (?)
UTF8Decode 37483 37425 -0.2% 1.00x
Walsh 12155 12272 +1.0% 0.99x
XorLoop 23642 23641 -0.0% 1.00x (?)
Added (2)
TEST MIN MAX MEAN MAX_RSS
CharacterPropertiesFetch 575 706 622 4833280
CharacterPropertiesStashed 263 273 269 4829184
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

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.

LGTM! Wow, fetching has pretty significant overhead.

@@ -0,0 +1,108 @@
//===--- StringMatch.swift ------------------------------------------------===//
Copy link
Member

Choose a reason for hiding this comment

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

Nit: file name

% # Ignore the following warning. This _is_ the correct file to edit.
////////////////////////////////////////////////////////////////////////////////
// WARNING: This file is manually generated from .gyb template and should not
// be directly modified. Instead, make changes to StringWalk.swift.gyb and run
Copy link
Member

Choose a reason for hiding this comment

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

Nit: file name

// Compute on the fly
//
// TODO: If UnicodeScalars ever exposes category, etc., implement the others!
func isNewlineComputed(_ c: Character) -> Bool {
Copy link
Member

Choose a reason for hiding this comment

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

Is it a good idea to leave this in without a run_CharacterPropertiesComputed?

Copy link
Member Author

@milseman milseman Jan 5, 2018

Choose a reason for hiding this comment

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

We only have an implementation of isNewline because CharacterSet's newlines are fixed, while the others are defined in terms of Unicode categories or properties that are version-specific (and thus run-time-dependent).

A run_CharacterPropertiesComputed that only executes on newlines wouldn't be comparable to others, so I'm not sure it gives a useful signal.

edit: clearer wording

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm open to suggestions :-)

@milseman milseman force-pushed the char_prop_bench branch 2 times, most recently from 9ab2ac9 to 212c201 Compare January 5, 2018 19:25
@milseman
Copy link
Member Author

milseman commented Jan 5, 2018

Whoops, hold on, need to base off of master proper...

@milseman
Copy link
Member Author

milseman commented Jan 5, 2018

@swift-ci please smoke test and merge

@milseman
Copy link
Member Author

milseman commented Jan 5, 2018

@swift-ci please smoke test

@milseman milseman merged commit e783bef into swiftlang:master Jan 5, 2018
@milseman milseman deleted the char_prop_bench branch July 26, 2018 16:34
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