Skip to content
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

[stdlib] Nest Iterator and Index types for various stdlib types #13489

Merged
merged 5 commits into from Dec 18, 2017

Conversation

airspeedswift
Copy link
Member

@airspeedswift airspeedswift commented Dec 16, 2017

Nests various custom iterators and indexes for stdlib types inside their used types. This has been possible for a while now that we have nested generics, and cleans up the namespace.

Should be a non-functional-change for now with type aliases for the old names which aren't yet deprecated (deprecation/removal of type aliases is not ABI impacting so can be done at any time).

Ignoring Range and String types for now since they're in flux.

@airspeedswift
Copy link
Member Author

@swift-ci please smoke benchmark

@airspeedswift
Copy link
Member Author

@swift-ci please test source compatibility

@airspeedswift
Copy link
Member Author

@swift-ci please smoke test compiler performance

@airspeedswift
Copy link
Member Author

@swift-ci please test

@airspeedswift airspeedswift changed the title [stdlib] Nest Iterator and Index types for various stdlib types [stdlib] Nest Iterator and Index types for various stdlib types Dec 16, 2017
@swift-ci
Copy link
Collaborator

Build comment file:

Optimized (O)

Regression (5)
TEST OLD NEW DELTA SPEEDUP
CharIndexing_utf16_unicodeScalars_Backwards 66111 79618 +20.4% 0.83x
DropFirstAnySequenceLazy 4729 5243 +10.9% 0.90x
DropFirstAnySequence 4722 5232 +10.8% 0.90x
ObjectiveCBridgeStubFromArrayOfNSString 25800 28135 +9.1% 0.92x
NopDeinit 21572 23062 +6.9% 0.94x
Improvement (18)
TEST OLD NEW DELTA SPEEDUP
ReversedBidirectional 27709 16671 -39.8% 1.66x
CharIteration_utf16_unicodeScalars_Backwards 95730 70267 -26.6% 1.36x
MapReduceLazyCollectionShort 40 34 -15.0% 1.18x
CharIteration_tweet_unicodeScalars_Backwards 43866 39096 -10.9% 1.12x
ObjectiveCBridgeStubToNSDate 14784 13221 -10.6% 1.12x (?)
CharIteration_ascii_unicodeScalars_Backwards 22195 19997 -9.9% 1.11x
CharIteration_japanese_unicodeScalars_Backwards 26589 23966 -9.9% 1.11x
CharIteration_korean_unicodeScalars_Backwards 21520 19415 -9.8% 1.11x
CharIteration_russian_unicodeScalars_Backwards 18475 16685 -9.7% 1.11x
CharIteration_chinese_unicodeScalars_Backwards 16790 15166 -9.7% 1.11x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 3957 3613 -8.7% 1.10x
CharIteration_punctuated_unicodeScalars_Backwards 4967 4571 -8.0% 1.09x
DictionaryRemove 3146 2906 -7.6% 1.08x
DropLastSequenceLazy 743 691 -7.0% 1.08x
ObjectiveCBridgeToNSDictionary 58571 54664 -6.7% 1.07x
DropLastSequence 743 695 -6.5% 1.07x
ArrayAppendAscii 24670 23211 -5.9% 1.06x
DropLastAnyCollectionLazy 23498 22239 -5.4% 1.06x (?)
No Changes (307)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 2955 2866 -3.0% 1.03x
AnyHashableWithAClass 70974 71502 +0.7% 0.99x
Array2D 2524 2524 +0.0% 1.00x
ArrayAppend 982 979 -0.3% 1.00x (?)
ArrayAppendArrayOfInt 744 740 -0.5% 1.01x (?)
ArrayAppendFromGeneric 744 739 -0.7% 1.01x (?)
ArrayAppendGenericStructs 1359 1357 -0.1% 1.00x (?)
ArrayAppendLatin1 44986 43482 -3.3% 1.03x
ArrayAppendLazyMap 1284 1286 +0.2% 1.00x (?)
ArrayAppendOptionals 1359 1357 -0.1% 1.00x (?)
ArrayAppendRepeatCol 1285 1287 +0.2% 1.00x (?)
ArrayAppendReserved 729 729 +0.0% 1.00x
ArrayAppendSequence 1081 1076 -0.5% 1.00x (?)
ArrayAppendStrings 15584 15053 -3.4% 1.04x (?)
ArrayAppendToFromGeneric 746 740 -0.8% 1.01x
ArrayAppendToGeneric 746 740 -0.8% 1.01x
ArrayAppendUTF16 46815 45312 -3.2% 1.03x
ArrayInClass 85 85 +0.0% 1.00x
ArrayLiteral 0 0 +0.0% 1.00x
ArrayOfGenericPOD 217 222 +2.3% 0.98x (?)
ArrayOfGenericRef 4243 4286 +1.0% 0.99x (?)
ArrayOfPOD 178 177 -0.6% 1.01x
ArrayOfRef 4217 4207 -0.2% 1.00x
ArrayPlusEqualArrayOfInt 740 743 +0.4% 1.00x
ArrayPlusEqualFiveElementCollection 6370 6376 +0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 981 981 +0.0% 1.00x
ArrayPlusEqualThreeElements 1574 1611 +2.4% 0.98x (?)
ArraySubscript 1489 1500 +0.7% 0.99x
ArrayValueProp 8 8 +0.0% 1.00x
ArrayValueProp2 8 8 +0.0% 1.00x
ArrayValueProp3 8 8 +0.0% 1.00x
ArrayValueProp4 8 8 +0.0% 1.00x
BitCount 202 202 +0.0% 1.00x
ByteSwap 100 100 +0.0% 1.00x
CStringLongAscii 6049 5905 -2.4% 1.02x
CStringLongNonAscii 2536 2491 -1.8% 1.02x
CStringShortAscii 4851 4788 -1.3% 1.01x (?)
Calculator 40 41 +2.5% 0.98x
CaptureProp 7743 7744 +0.0% 1.00x (?)
CharIndexing_ascii_unicodeScalars 19733 19693 -0.2% 1.00x
CharIndexing_ascii_unicodeScalars_Backwards 19114 19192 +0.4% 1.00x
CharIndexing_chinese_unicodeScalars 14927 14893 -0.2% 1.00x
CharIndexing_chinese_unicodeScalars_Backwards 14458 14542 +0.6% 0.99x
CharIndexing_japanese_unicodeScalars 23621 23557 -0.3% 1.00x
CharIndexing_japanese_unicodeScalars_Backwards 22897 22975 +0.3% 1.00x
CharIndexing_korean_unicodeScalars 19169 19078 -0.5% 1.00x
CharIndexing_korean_unicodeScalars_Backwards 18478 18620 +0.8% 0.99x
CharIndexing_punctuatedJapanese_unicodeScalars 3546 3541 -0.1% 1.00x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 3419 3479 +1.8% 0.98x
CharIndexing_punctuated_unicodeScalars 4440 4435 -0.1% 1.00x
CharIndexing_punctuated_unicodeScalars_Backwards 4296 4350 +1.3% 0.99x
CharIndexing_russian_unicodeScalars 16426 16389 -0.2% 1.00x
CharIndexing_russian_unicodeScalars_Backwards 15927 15982 +0.3% 1.00x
CharIndexing_tweet_unicodeScalars 38874 38821 -0.1% 1.00x (?)
CharIndexing_tweet_unicodeScalars_Backwards 37708 37941 +0.6% 0.99x
CharIndexing_utf16_unicodeScalars 68887 68868 -0.0% 1.00x
CharIteration_ascii_unicodeScalars 22754 23539 +3.4% 0.97x
CharIteration_chinese_unicodeScalars 17245 17771 +3.1% 0.97x
CharIteration_japanese_unicodeScalars 27248 28213 +3.5% 0.97x
CharIteration_korean_unicodeScalars 22080 22808 +3.3% 0.97x
CharIteration_punctuatedJapanese_unicodeScalars 4037 4184 +3.6% 0.96x
CharIteration_punctuated_unicodeScalars 5099 5253 +3.0% 0.97x
CharIteration_russian_unicodeScalars 18974 19592 +3.3% 0.97x
CharIteration_tweet_unicodeScalars 45223 46415 +2.6% 0.97x
CharIteration_utf16_unicodeScalars 97074 97506 +0.4% 1.00x
CharacterLiteralsLarge 5915 5753 -2.7% 1.03x (?)
CharacterLiteralsSmall 527 510 -3.2% 1.03x
Chars 1065 1035 -2.8% 1.03x
ClassArrayGetter 15 15 +0.0% 1.00x
Dictionary 664 659 -0.8% 1.01x
Dictionary2 1886 1913 +1.4% 0.99x (?)
Dictionary2OfObjects 3248 3215 -1.0% 1.01x (?)
Dictionary3 552 553 +0.2% 1.00x (?)
Dictionary3OfObjects 886 889 +0.3% 1.00x
DictionaryBridge 3848 3866 +0.5% 1.00x (?)
DictionaryGroup 271 271 +0.0% 1.00x
DictionaryGroupOfObjects 1942 1957 +0.8% 0.99x
DictionaryLiteral 1502 1482 -1.3% 1.01x
DictionaryOfObjects 2284 2271 -0.6% 1.01x (?)
DictionaryRemoveOfObjects 22565 22283 -1.2% 1.01x
DictionarySubscriptDefaultMutation 153 154 +0.7% 0.99x
DictionarySubscriptDefaultMutationArray 489 488 -0.2% 1.00x
DictionarySubscriptDefaultMutationArrayOfObjects 3630 3630 +0.0% 1.00x
DictionarySubscriptDefaultMutationOfObjects 1285 1283 -0.2% 1.00x (?)
DictionarySwap 505 497 -1.6% 1.02x
DictionarySwapOfObjects 7180 7407 +3.2% 0.97x
DropFirstAnyCollection 34 34 +0.0% 1.00x
DropFirstAnyCollectionLazy 70056 66726 -4.8% 1.05x (?)
DropFirstAnySeqCRangeIter 21217 21000 -1.0% 1.01x
DropFirstAnySeqCRangeIterLazy 21332 20700 -3.0% 1.03x
DropFirstAnySeqCntRange 71 71 +0.0% 1.00x
DropFirstAnySeqCntRangeLazy 71 71 +0.0% 1.00x
DropFirstArray 35 35 +0.0% 1.00x
DropFirstArrayLazy 35 35 +0.0% 1.00x
DropFirstCountableRange 35 35 +0.0% 1.00x
DropFirstCountableRangeLazy 35 35 +0.0% 1.00x
DropFirstSequence 2620 2621 +0.0% 1.00x (?)
DropFirstSequenceLazy 2714 2714 +0.0% 1.00x
DropLastAnyCollection 19 19 +0.0% 1.00x
DropLastAnySeqCRangeIter 4331 4301 -0.7% 1.01x (?)
DropLastAnySeqCRangeIterLazy 4334 4340 +0.1% 1.00x (?)
DropLastAnySeqCntRange 23 23 +0.0% 1.00x
DropLastAnySeqCntRangeLazy 23 23 +0.0% 1.00x
DropLastAnySequence 5972 5898 -1.2% 1.01x
DropLastAnySequenceLazy 6072 5972 -1.6% 1.02x
DropLastCountableRange 11 11 +0.0% 1.00x
DropLastCountableRangeLazy 11 11 +0.0% 1.00x
DropWhileAnyCollection 99 99 +0.0% 1.00x
DropWhileAnyCollectionLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCRangeIter 16975 16851 -0.7% 1.01x
DropWhileAnySeqCRangeIterLazy 147 147 +0.0% 1.00x
DropWhileAnySeqCntRange 95 95 +0.0% 1.00x
DropWhileAnySeqCntRangeLazy 147 147 +0.0% 1.00x
DropWhileAnySequence 5243 5244 +0.0% 1.00x (?)
DropWhileAnySequenceLazy 1831 1831 +0.0% 1.00x
DropWhileArrayLazy 129 129 +0.0% 1.00x
DropWhileCountableRange 36 36 +0.0% 1.00x
DropWhileCountableRangeLazy 111 111 +0.0% 1.00x
DropWhileSequence 1323 1322 -0.1% 1.00x
DropWhileSequenceLazy 88 88 +0.0% 1.00x
EqualStringSubstring 399 400 +0.3% 1.00x
EqualSubstringString 401 414 +3.2% 0.97x
EqualSubstringSubstring 401 401 +0.0% 1.00x
EqualSubstringSubstringGenericEquatable 400 401 +0.2% 1.00x
ErrorHandling 1977 2034 +2.9% 0.97x (?)
ExclusivityGlobal 5 5 +0.0% 1.00x
ExclusivityIndependent 2 2 +0.0% 1.00x
FilterEvenUsingReduce 1295 1284 -0.8% 1.01x (?)
FilterEvenUsingReduceInto 145 144 -0.7% 1.01x
FrequenciesUsingReduce 6426 6556 +2.0% 0.98x
FrequenciesUsingReduceInto 2931 2947 +0.5% 0.99x (?)
Hanoi 3847 3924 +2.0% 0.98x
HashTest 1708 1704 -0.2% 1.00x (?)
Histogram 344 344 +0.0% 1.00x
Integrate 218 218 +0.0% 1.00x
IterateData 1340 1343 +0.2% 1.00x (?)
Join 381 379 -0.5% 1.01x
LazilyFilteredArrayContains 32675 31885 -2.4% 1.02x
LazilyFilteredArrays 67278 67029 -0.4% 1.00x (?)
LazilyFilteredRange 3924 3811 -2.9% 1.03x
LessSubstringSubstring 401 401 +0.0% 1.00x
LessSubstringSubstringGenericComparable 401 402 +0.2% 1.00x
LinkedList 7146 7128 -0.3% 1.00x
MapReduce 459 464 +1.1% 0.99x
MapReduceAnyCollection 458 456 -0.4% 1.00x
MapReduceAnyCollectionShort 2011 2000 -0.5% 1.01x
MapReduceClass 2987 2987 +0.0% 1.00x
MapReduceClassShort 4460 4465 +0.1% 1.00x
MapReduceLazyCollection 13 13 +0.0% 1.00x
MapReduceLazySequence 86 86 +0.0% 1.00x
MapReduceSequence 439 438 -0.2% 1.00x (?)
MapReduceShort 1970 1968 -0.1% 1.00x (?)
MapReduceShortString 22 22 +0.0% 1.00x
MapReduceString 106 110 +3.8% 0.96x
Memset 216 217 +0.5% 1.00x (?)
MonteCarloE 10340 10425 +0.8% 0.99x
MonteCarloPi 42999 42808 -0.4% 1.00x
NSDictionaryCastToSwift 5210 5160 -1.0% 1.01x (?)
NSError 314 317 +1.0% 0.99x
NSStringConversion 403 400 -0.7% 1.01x
ObjectAllocation 173 173 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 22372 21820 -2.5% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3828 3731 -2.5% 1.03x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 38075 40060 +5.2% 0.95x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 32796 33449 +2.0% 0.98x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 129693 132500 +2.2% 0.98x
ObjectiveCBridgeFromNSSetAnyObject 64137 62158 -3.1% 1.03x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 5108 4990 -2.3% 1.02x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 68200 68755 +0.8% 0.99x (?)
ObjectiveCBridgeFromNSString 967 988 +2.2% 0.98x (?)
ObjectiveCBridgeFromNSStringForced 2111 2139 +1.3% 0.99x (?)
ObjectiveCBridgeStubDataAppend 4034 4054 +0.5% 1.00x (?)
ObjectiveCBridgeStubDateMutation 257 256 -0.4% 1.00x
ObjectiveCBridgeStubFromNSDate 4279 4274 -0.1% 1.00x (?)
ObjectiveCBridgeStubFromNSString 606 618 +2.0% 0.98x
ObjectiveCBridgeStubFromNSStringRef 178 178 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2634 2643 +0.3% 1.00x (?)
ObjectiveCBridgeStubNSDateMutationRef 15693 15353 -2.2% 1.02x (?)
ObjectiveCBridgeStubToArrayOfNSString 27697 28576 +3.2% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3341 3304 -1.1% 1.01x (?)
ObjectiveCBridgeStubToNSString 1418 1408 -0.7% 1.01x (?)
ObjectiveCBridgeStubToNSStringRef 132 129 -2.3% 1.02x
ObjectiveCBridgeStubURLAppendPath 326630 334994 +2.6% 0.98x (?)
ObjectiveCBridgeStubURLAppendPathRef 334916 332460 -0.7% 1.01x (?)
ObjectiveCBridgeToNSArray 28577 28487 -0.3% 1.00x (?)
ObjectiveCBridgeToNSSet 47581 46829 -1.6% 1.02x (?)
ObjectiveCBridgeToNSString 1190 1182 -0.7% 1.01x
ObserverClosure 2006 2017 +0.5% 0.99x
ObserverForwarderStruct 968 978 +1.0% 0.99x (?)
ObserverPartiallyAppliedMethod 3439 3467 +0.8% 0.99x
ObserverUnappliedMethod 2250 2247 -0.1% 1.00x (?)
OpenClose 5 5 +0.0% 1.00x
Phonebook 6405 6576 +2.7% 0.97x
PolymorphicCalls 25 25 +0.0% 1.00x
PopFrontArray 1871 1872 +0.1% 1.00x (?)
PopFrontArrayGeneric 1868 1864 -0.2% 1.00x (?)
PopFrontUnsafePointer 8865 8877 +0.1% 1.00x (?)
PrefixAnyCollection 34 34 +0.0% 1.00x
PrefixAnyCollectionLazy 70481 67565 -4.1% 1.04x (?)
PrefixAnySeqCRangeIter 16446 16098 -2.1% 1.02x
PrefixAnySeqCRangeIterLazy 16427 16085 -2.1% 1.02x
PrefixAnySeqCntRange 71 71 +0.0% 1.00x
PrefixAnySeqCntRangeLazy 71 71 +0.0% 1.00x
PrefixAnySequence 4207 4190 -0.4% 1.00x (?)
PrefixAnySequenceLazy 4211 4186 -0.6% 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 1306 1307 +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 11907 11784 -1.0% 1.01x
PrefixWhileAnySeqCRangeIterLazy 106 106 +0.0% 1.00x
PrefixWhileAnySeqCntRange 141 141 +0.0% 1.00x
PrefixWhileAnySeqCntRangeLazy 106 106 +0.0% 1.00x
PrefixWhileAnySequence 12785 12770 -0.1% 1.00x (?)
PrefixWhileAnySequenceLazy 1373 1374 +0.1% 1.00x (?)
PrefixWhileArray 105 105 +0.0% 1.00x
PrefixWhileArrayLazy 70 70 +0.0% 1.00x
PrefixWhileCountableRange 46 46 +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 769 772 +0.4% 1.00x (?)
PrimsSplit 760 761 +0.1% 1.00x (?)
RC4 168 164 -2.4% 1.02x
RGBHistogram 2858 2844 -0.5% 1.00x
RGBHistogramOfObjects 22905 23184 +1.2% 0.99x
RangeAssignment 380 380 +0.0% 1.00x
RangeIterationSigned 200 200 +0.0% 1.00x
RangeIterationSigned64 200 200 +0.0% 1.00x
RangeIterationUnsigned 200 200 +0.0% 1.00x
RecursiveOwnedParameter 2267 2266 -0.0% 1.00x (?)
ReversedArray 57 57 +0.0% 1.00x
ReversedDictionary 123 122 -0.8% 1.01x (?)
SetExclusiveOr 3272 3342 +2.1% 0.98x
SetExclusiveOr_OfObjects 8501 8541 +0.5% 1.00x
SetIntersect 321 320 -0.3% 1.00x (?)
SetIntersect_OfObjects 1715 1715 +0.0% 1.00x
SetIsSubsetOf 292 292 +0.0% 1.00x
SetIsSubsetOf_OfObjects 349 349 +0.0% 1.00x
SetUnion 2925 2987 +2.1% 0.98x
SetUnion_OfObjects 7037 7007 -0.4% 1.00x (?)
SevenBoom 1588 1602 +0.9% 0.99x (?)
Sim2DArray 412 409 -0.7% 1.01x
SortLargeExistentials 7816 7954 +1.8% 0.98x
SortLettersInPlace 1104 1100 -0.4% 1.00x (?)
SortSortedStrings 1073 1088 +1.4% 0.99x
SortStrings 1920 1942 +1.1% 0.99x
SortStringsUnicode 8993 9049 +0.6% 0.99x (?)
StackPromo 22350 22523 +0.8% 0.99x
StaticArray 5 5 +0.0% 1.00x
StrComplexWalk 1986 1987 +0.1% 1.00x (?)
StrToInt 2111 2146 +1.7% 0.98x
StringAdder 3360 3368 +0.2% 1.00x (?)
StringBuilder 977 983 +0.6% 0.99x
StringBuilderLong 941 940 -0.1% 1.00x (?)
StringComparison_abnormal 705 702 -0.4% 1.00x
StringComparison_ascii 1397 1407 +0.7% 0.99x
StringComparison_emoji 2072 2051 -1.0% 1.01x
StringComparison_fastPrenormal 7015 6988 -0.4% 1.00x (?)
StringComparison_latin1 4835 4785 -1.0% 1.01x (?)
StringComparison_longSharedPrefix 5533 5594 +1.1% 0.99x
StringComparison_nonBMPSlowestPrenormal 3755 3702 -1.4% 1.01x
StringComparison_slowerPrenormal 3218 3180 -1.2% 1.01x
StringComparison_zalgo 1307 1310 +0.2% 1.00x (?)
StringEdits 170978 169477 -0.9% 1.01x (?)
StringEnumRawValueInitialization 1097 1105 +0.7% 0.99x
StringEqualPointerComparison 458 458 +0.0% 1.00x
StringFromLongWholeSubstring 170 172 +1.2% 0.99x
StringFromLongWholeSubstringGeneric 72 72 +0.0% 1.00x
StringHasPrefixAscii 1259 1259 +0.0% 1.00x
StringHasPrefixUnicode 18612 18319 -1.6% 1.02x
StringHasSuffixAscii 1374 1374 +0.0% 1.00x
StringHasSuffixUnicode 78816 79291 +0.6% 0.99x (?)
StringInterpolation 10678 10969 +2.7% 0.97x (?)
StringMatch 8771 8821 +0.6% 0.99x
StringUTF16Builder 1843 1852 +0.5% 1.00x (?)
StringWalk 1539 1540 +0.1% 1.00x
StringWithCString 75861 74686 -1.5% 1.02x
SubstringComparable 1692 1691 -0.1% 1.00x (?)
SubstringEqualString 1498 1489 -0.6% 1.01x
SubstringEquatable 3615 3596 -0.5% 1.01x (?)
SubstringFromLongString 10 10 +0.0% 1.00x
SubstringFromLongStringGeneric 71 71 +0.0% 1.00x
SuffixAnyCollection 27 27 +0.0% 1.00x
SuffixAnyCollectionLazy 23414 23665 +1.1% 0.99x (?)
SuffixAnySeqCRangeIter 4651 4591 -1.3% 1.01x
SuffixAnySeqCRangeIterLazy 4617 4569 -1.0% 1.01x (?)
SuffixAnySeqCntRange 23 23 +0.0% 1.00x
SuffixAnySeqCntRangeLazy 23 23 +0.0% 1.00x
SuffixAnySequence 5972 5879 -1.6% 1.02x
SuffixAnySequenceLazy 6112 6046 -1.1% 1.01x
SuffixCountableRange 12 12 +0.0% 1.00x
SuffixCountableRangeLazy 11 11 +0.0% 1.00x
SuffixSequence 4669 4622 -1.0% 1.01x (?)
SuffixSequenceLazy 4676 4621 -1.2% 1.01x
SumUsingReduce 97 97 +0.0% 1.00x
SumUsingReduceInto 97 97 +0.0% 1.00x
SuperChars 85964 85721 -0.3% 1.00x (?)
TwoSum 1004 995 -0.9% 1.01x
TypeFlood 0 0 +0.0% 1.00x
UTF8Decode 324 325 +0.3% 1.00x (?)
Walsh 440 440 +0.0% 1.00x
XorLoop 385 386 +0.3% 1.00x (?)

Unoptimized (Onone)

Regression (7)
TEST OLD NEW DELTA SPEEDUP
SuffixAnySeqCRangeIter 37375 42099 +12.6% 0.89x
ObjectiveCBridgeFromNSArrayAnyObject 23251 25386 +9.2% 0.92x
LessSubstringSubstring 762 830 +8.9% 0.92x
RangeIterationUnsigned 39131 42372 +8.3% 0.92x (?)
SuffixAnySeqCRangeIterLazy 37439 40326 +7.7% 0.93x (?)
RangeIterationSigned64 43143 46309 +7.3% 0.93x (?)
CharIteration_korean_unicodeScalars 180465 191662 +6.2% 0.94x (?)
Improvement (18)
TEST OLD NEW DELTA SPEEDUP
ReversedBidirectional 69690 46213 -33.7% 1.51x
DropFirstAnySeqCRangeIter 26120 22440 -14.1% 1.16x
ObjectiveCBridgeFromNSString 3431 3005 -12.4% 1.14x
DropWhileAnySeqCRangeIter 27605 24479 -11.3% 1.13x
StackPromo 95634 86387 -9.7% 1.11x
ArrayOfPOD 856 776 -9.3% 1.10x
CharIndexing_punctuated_unicodeScalars_Backwards 112336 101935 -9.3% 1.10x
CStringShortAscii 9191 8380 -8.8% 1.10x
StringEnumRawValueInitialization 13900 12889 -7.3% 1.08x
CharIndexing_punctuatedJapanese_unicodeScalars_Backwards 87191 81217 -6.9% 1.07x
CharIteration_tweet_unicodeScalars_Backwards 716294 669422 -6.5% 1.07x
StringBuilder 7659 7172 -6.4% 1.07x
NSDictionaryCastToSwift 7011 6594 -5.9% 1.06x
ObjectiveCBridgeToNSDictionary 59901 56808 -5.2% 1.05x
DictionaryLiteral 8922 8476 -5.0% 1.05x (?)
SuffixAnyCollectionLazy 40552 38525 -5.0% 1.05x (?)
ArrayOfGenericPOD 1730 1645 -4.9% 1.05x
StrToInt 74639 70973 -4.9% 1.05x
No Changes (305)
TEST OLD NEW DELTA SPEEDUP
AngryPhonebook 4831 5000 +3.5% 0.97x (?)
AnyHashableWithAClass 87040 87441 +0.5% 1.00x (?)
Array2D 631846 632848 +0.2% 1.00x (?)
ArrayAppend 4864 4859 -0.1% 1.00x
ArrayAppendArrayOfInt 794 786 -1.0% 1.01x (?)
ArrayAppendAscii 44334 43925 -0.9% 1.01x (?)
ArrayAppendFromGeneric 796 797 +0.1% 1.00x (?)
ArrayAppendGenericStructs 1411 1411 +0.0% 1.00x
ArrayAppendLatin1 67865 67645 -0.3% 1.00x (?)
ArrayAppendLazyMap 210861 214527 +1.7% 0.98x
ArrayAppendOptionals 1414 1410 -0.3% 1.00x
ArrayAppendRepeatCol 188548 189895 +0.7% 0.99x
ArrayAppendReserved 4490 4488 -0.0% 1.00x (?)
ArrayAppendSequence 142487 143010 +0.4% 1.00x
ArrayAppendStrings 15213 15195 -0.1% 1.00x (?)
ArrayAppendToFromGeneric 798 792 -0.8% 1.01x (?)
ArrayAppendToGeneric 797 783 -1.8% 1.02x
ArrayAppendUTF16 70057 69207 -1.2% 1.01x (?)
ArrayInClass 6235 6307 +1.2% 0.99x
ArrayLiteral 1682 1686 +0.2% 1.00x (?)
ArrayOfGenericRef 9974 9986 +0.1% 1.00x (?)
ArrayOfRef 9219 9212 -0.1% 1.00x (?)
ArrayPlusEqualArrayOfInt 794 788 -0.8% 1.01x
ArrayPlusEqualFiveElementCollection 255291 255448 +0.1% 1.00x (?)
ArrayPlusEqualSingleElementCollection 248262 248860 +0.2% 1.00x (?)
ArrayPlusEqualThreeElements 9379 9421 +0.4% 1.00x (?)
ArraySubscript 82784 84008 +1.5% 0.99x
ArrayValueProp 3469 3468 -0.0% 1.00x (?)
ArrayValueProp2 18870 18697 -0.9% 1.01x (?)
ArrayValueProp3 4006 3958 -1.2% 1.01x (?)
ArrayValueProp4 3860 3854 -0.2% 1.00x (?)
BitCount 2099 2099 +0.0% 1.00x
ByteSwap 3951 3957 +0.2% 1.00x (?)
CStringLongAscii 5838 5763 -1.3% 1.01x
CStringLongNonAscii 2539 2512 -1.1% 1.01x (?)
Calculator 1232 1235 +0.2% 1.00x
CaptureProp 387678 393829 +1.6% 0.98x
CharIndexing_ascii_unicodeScalars 454255 462680 +1.9% 0.98x (?)
CharIndexing_ascii_unicodeScalars_Backwards 473486 479334 +1.2% 0.99x (?)
CharIndexing_chinese_unicodeScalars 353102 369964 +4.8% 0.95x (?)
CharIndexing_chinese_unicodeScalars_Backwards 357672 358080 +0.1% 1.00x (?)
CharIndexing_japanese_unicodeScalars 579980 565482 -2.5% 1.03x
CharIndexing_japanese_unicodeScalars_Backwards 569780 558510 -2.0% 1.02x (?)
CharIndexing_korean_unicodeScalars 446610 453773 +1.6% 0.98x (?)
CharIndexing_korean_unicodeScalars_Backwards 460990 448535 -2.7% 1.03x (?)
CharIndexing_punctuatedJapanese_unicodeScalars 80860 82864 +2.5% 0.98x (?)
CharIndexing_punctuated_unicodeScalars 100431 103897 +3.5% 0.97x
CharIndexing_russian_unicodeScalars 382103 386799 +1.2% 0.99x (?)
CharIndexing_russian_unicodeScalars_Backwards 394723 383726 -2.8% 1.03x (?)
CharIndexing_tweet_unicodeScalars 967930 939158 -3.0% 1.03x (?)
CharIndexing_tweet_unicodeScalars_Backwards 944536 920904 -2.5% 1.03x (?)
CharIndexing_utf16_unicodeScalars 453285 472897 +4.3% 0.96x (?)
CharIndexing_utf16_unicodeScalars_Backwards 455430 462925 +1.6% 0.98x (?)
CharIteration_ascii_unicodeScalars 185758 185340 -0.2% 1.00x (?)
CharIteration_ascii_unicodeScalars_Backwards 341346 354642 +3.9% 0.96x (?)
CharIteration_chinese_unicodeScalars 141329 140108 -0.9% 1.01x (?)
CharIteration_chinese_unicodeScalars_Backwards 257009 252242 -1.9% 1.02x (?)
CharIteration_japanese_unicodeScalars 222255 221653 -0.3% 1.00x (?)
CharIteration_japanese_unicodeScalars_Backwards 413169 406800 -1.5% 1.02x (?)
CharIteration_korean_unicodeScalars_Backwards 330679 330108 -0.2% 1.00x (?)
CharIteration_punctuatedJapanese_unicodeScalars 33268 33040 -0.7% 1.01x
CharIteration_punctuatedJapanese_unicodeScalars_Backwards 58639 59244 +1.0% 0.99x (?)
CharIteration_punctuated_unicodeScalars 41555 41549 -0.0% 1.00x (?)
CharIteration_punctuated_unicodeScalars_Backwards 74129 73901 -0.3% 1.00x (?)
CharIteration_russian_unicodeScalars 155065 154954 -0.1% 1.00x (?)
CharIteration_russian_unicodeScalars_Backwards 283683 280685 -1.1% 1.01x
CharIteration_tweet_unicodeScalars 366999 365151 -0.5% 1.01x
CharIteration_utf16_unicodeScalars 215187 214096 -0.5% 1.01x
CharIteration_utf16_unicodeScalars_Backwards 349078 367368 +5.2% 0.95x (?)
CharacterLiteralsLarge 5987 6147 +2.7% 0.97x
CharacterLiteralsSmall 881 881 +0.0% 1.00x
Chars 49346 49325 -0.0% 1.00x (?)
ClassArrayGetter 982 980 -0.2% 1.00x
Dictionary 2772 2754 -0.6% 1.01x (?)
Dictionary2 2935 3063 +4.4% 0.96x (?)
Dictionary2OfObjects 5706 5626 -1.4% 1.01x (?)
Dictionary3 1332 1340 +0.6% 0.99x
Dictionary3OfObjects 2218 2249 +1.4% 0.99x (?)
DictionaryBridge 3999 3978 -0.5% 1.01x (?)
DictionaryGroup 4696 4698 +0.0% 1.00x (?)
DictionaryGroupOfObjects 7897 7901 +0.1% 1.00x (?)
DictionaryOfObjects 6228 6334 +1.7% 0.98x (?)
DictionaryRemove 18328 18615 +1.6% 0.98x
DictionaryRemoveOfObjects 49304 49560 +0.5% 0.99x (?)
DictionarySubscriptDefaultMutation 2038 2007 -1.5% 1.02x
DictionarySubscriptDefaultMutationArray 2271 2284 +0.6% 0.99x (?)
DictionarySubscriptDefaultMutationArrayOfObjects 9132 9056 -0.8% 1.01x (?)
DictionarySubscriptDefaultMutationOfObjects 5568 5412 -2.8% 1.03x (?)
DictionarySwap 5345 5352 +0.1% 1.00x (?)
DictionarySwapOfObjects 22259 23064 +3.6% 0.97x
DropFirstAnyCollection 15645 15761 +0.7% 0.99x
DropFirstAnyCollectionLazy 117529 119839 +2.0% 0.98x (?)
DropFirstAnySeqCRangeIterLazy 22595 22698 +0.5% 1.00x (?)
DropFirstAnySeqCntRange 15666 15733 +0.4% 1.00x (?)
DropFirstAnySeqCntRangeLazy 15707 15530 -1.1% 1.01x (?)
DropFirstAnySequence 12107 12263 +1.3% 0.99x
DropFirstAnySequenceLazy 12136 12403 +2.2% 0.98x (?)
DropFirstArray 5781 5918 +2.4% 0.98x
DropFirstArrayLazy 32924 32930 +0.0% 1.00x (?)
DropFirstCountableRange 329 327 -0.6% 1.01x
DropFirstCountableRangeLazy 30440 29812 -2.1% 1.02x
DropFirstSequence 11930 12194 +2.2% 0.98x
DropFirstSequenceLazy 11786 12134 +3.0% 0.97x
DropLastAnyCollection 5223 5293 +1.3% 0.99x
DropLastAnyCollectionLazy 40379 38839 -3.8% 1.04x (?)
DropLastAnySeqCRangeIter 41360 41508 +0.4% 1.00x (?)
DropLastAnySeqCRangeIterLazy 41330 41488 +0.4% 1.00x (?)
DropLastAnySeqCntRange 5232 5270 +0.7% 0.99x
DropLastAnySeqCntRangeLazy 5263 5191 -1.4% 1.01x
DropLastAnySequence 31206 31407 +0.6% 0.99x
DropLastAnySequenceLazy 31170 31367 +0.6% 0.99x
DropLastCountableRange 115 115 +0.0% 1.00x
DropLastCountableRangeLazy 10062 9979 -0.8% 1.01x (?)
DropLastSequence 31043 31401 +1.2% 0.99x (?)
DropLastSequenceLazy 31378 31417 +0.1% 1.00x
DropWhileAnyCollection 20500 19837 -3.2% 1.03x
DropWhileAnyCollectionLazy 21459 21355 -0.5% 1.00x
DropWhileAnySeqCRangeIterLazy 21464 21415 -0.2% 1.00x
DropWhileAnySeqCntRange 20585 19868 -3.5% 1.04x
DropWhileAnySeqCntRangeLazy 21476 21348 -0.6% 1.01x
DropWhileAnySequence 13955 14248 +2.1% 0.98x (?)
DropWhileAnySequenceLazy 10915 11417 +4.6% 0.96x
DropWhileArrayLazy 16961 17169 +1.2% 0.99x
DropWhileCountableRange 4859 4813 -0.9% 1.01x
DropWhileCountableRangeLazy 21133 21032 -0.5% 1.00x
DropWhileSequence 13741 13898 +1.1% 0.99x
DropWhileSequenceLazy 10715 10882 +1.6% 0.98x
EqualStringSubstring 662 662 +0.0% 1.00x
EqualSubstringString 660 663 +0.5% 1.00x (?)
EqualSubstringSubstring 808 824 +2.0% 0.98x (?)
EqualSubstringSubstringGenericEquatable 462 461 -0.2% 1.00x (?)
ErrorHandling 7432 7617 +2.5% 0.98x (?)
ExclusivityGlobal 188 188 +0.0% 1.00x
ExclusivityIndependent 71 70 -1.4% 1.01x
FilterEvenUsingReduce 4172 4159 -0.3% 1.00x (?)
FilterEvenUsingReduceInto 2411 2387 -1.0% 1.01x (?)
FrequenciesUsingReduce 10757 10897 +1.3% 0.99x (?)
FrequenciesUsingReduceInto 5670 5632 -0.7% 1.01x (?)
Hanoi 21913 21896 -0.1% 1.00x (?)
HashTest 17418 17399 -0.1% 1.00x (?)
Histogram 7211 7261 +0.7% 0.99x (?)
Integrate 820 823 +0.4% 1.00x (?)
IterateData 7647 7656 +0.1% 1.00x (?)
Join 1494 1480 -0.9% 1.01x
LazilyFilteredArrayContains 935396 947144 +1.3% 0.99x
LazilyFilteredArrays 1660159 1663294 +0.2% 1.00x (?)
LazilyFilteredRange 532656 532461 -0.0% 1.00x (?)
LessSubstringSubstringGenericComparable 462 464 +0.4% 1.00x
LinkedList 39298 39424 +0.3% 1.00x
MapReduce 33656 33722 +0.2% 1.00x
MapReduceAnyCollection 33914 33668 -0.7% 1.01x
MapReduceAnyCollectionShort 47421 46673 -1.6% 1.02x (?)
MapReduceClass 38374 38380 +0.0% 1.00x (?)
MapReduceClassShort 50528 50277 -0.5% 1.00x (?)
MapReduceLazyCollection 28397 28793 +1.4% 0.99x
MapReduceLazyCollectionShort 39516 40744 +3.1% 0.97x
MapReduceLazySequence 20713 21014 +1.5% 0.99x
MapReduceSequence 36677 36864 +0.5% 0.99x
MapReduceShort 45647 45900 +0.6% 0.99x (?)
MapReduceShortString 259 267 +3.1% 0.97x (?)
MapReduceString 2308 2344 +1.6% 0.98x (?)
Memset 45305 45307 +0.0% 1.00x (?)
MonteCarloE 930707 925849 -0.5% 1.01x (?)
MonteCarloPi 3963921 4020121 +1.4% 0.99x
NSError 710 716 +0.8% 0.99x (?)
NSStringConversion 446 443 -0.7% 1.01x
NopDeinit 173524 173477 -0.0% 1.00x (?)
ObjectAllocation 1457 1440 -1.2% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8323 8704 +4.6% 0.96x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 41826 41350 -1.1% 1.01x (?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 34586 36387 +5.2% 0.95x (?)
ObjectiveCBridgeFromNSDictionaryAnyObject 133759 138455 +3.5% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObject 67582 69498 +2.8% 0.97x (?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7443 7630 +2.5% 0.98x (?)
ObjectiveCBridgeFromNSSetAnyObjectToString 77529 79471 +2.5% 0.98x (?)
ObjectiveCBridgeFromNSStringForced 2475 2488 +0.5% 0.99x (?)
ObjectiveCBridgeStubDataAppend 4534 4542 +0.2% 1.00x (?)
ObjectiveCBridgeStubDateMutation 603 604 +0.2% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 27791 26928 -3.1% 1.03x (?)
ObjectiveCBridgeStubFromNSDate 4332 4332 +0.0% 1.00x
ObjectiveCBridgeStubFromNSString 656 664 +1.2% 0.99x (?)
ObjectiveCBridgeStubFromNSStringRef 207 207 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 3074 3127 +1.7% 0.98x
ObjectiveCBridgeStubNSDateMutationRef 18789 18809 +0.1% 1.00x (?)
ObjectiveCBridgeStubToArrayOfNSString 28944 28998 +0.2% 1.00x (?)
ObjectiveCBridgeStubToNSDate 15776 16268 +3.1% 0.97x (?)
ObjectiveCBridgeStubToNSDateRef 3371 3418 +1.4% 0.99x
ObjectiveCBridgeStubToNSString 1510 1477 -2.2% 1.02x
ObjectiveCBridgeStubToNSStringRef 159 158 -0.6% 1.01x
ObjectiveCBridgeStubURLAppendPath 354660 351361 -0.9% 1.01x (?)
ObjectiveCBridgeStubURLAppendPathRef 338454 340912 +0.7% 0.99x (?)
ObjectiveCBridgeToNSArray 29759 29478 -0.9% 1.01x (?)
ObjectiveCBridgeToNSSet 49723 47850 -3.8% 1.04x (?)
ObjectiveCBridgeToNSString 1254 1249 -0.4% 1.00x (?)
ObserverClosure 6577 6674 +1.5% 0.99x
ObserverForwarderStruct 4993 5020 +0.5% 0.99x
ObserverPartiallyAppliedMethod 7990 8023 +0.4% 1.00x (?)
ObserverUnappliedMethod 7938 7979 +0.5% 0.99x (?)
OpenClose 428 441 +3.0% 0.97x
Phonebook 22696 22622 -0.3% 1.00x
PolymorphicCalls 6443 6443 +0.0% 1.00x
PopFrontArray 8955 8916 -0.4% 1.00x
PopFrontArrayGeneric 7866 7889 +0.3% 1.00x
PopFrontUnsafePointer 10467 10583 +1.1% 0.99x
PrefixAnyCollection 15598 15685 +0.6% 0.99x (?)
PrefixAnyCollectionLazy 119736 125073 +4.5% 0.96x (?)
PrefixAnySeqCRangeIter 18065 17741 -1.8% 1.02x
PrefixAnySeqCRangeIterLazy 17920 17946 +0.1% 1.00x (?)
PrefixAnySeqCntRange 15639 15708 +0.4% 1.00x
PrefixAnySeqCntRangeLazy 15740 15547 -1.2% 1.01x
PrefixAnySequence 10137 10452 +3.1% 0.97x
PrefixAnySequenceLazy 10028 10350 +3.2% 0.97x
PrefixArray 5779 6058 +4.8% 0.95x
PrefixArrayLazy 33090 32975 -0.3% 1.00x (?)
PrefixCountableRange 328 327 -0.3% 1.00x (?)
PrefixCountableRangeLazy 30412 29857 -1.8% 1.02x (?)
PrefixSequence 9937 9824 -1.1% 1.01x
PrefixSequenceLazy 9767 9981 +2.2% 0.98x
PrefixWhileAnyCollection 29483 28859 -2.1% 1.02x
PrefixWhileAnyCollectionLazy 17697 17649 -0.3% 1.00x (?)
PrefixWhileAnySeqCRangeIter 37757 38147 +1.0% 0.99x (?)
PrefixWhileAnySeqCRangeIterLazy 17738 17570 -0.9% 1.01x
PrefixWhileAnySeqCntRange 29523 28890 -2.1% 1.02x
PrefixWhileAnySeqCntRangeLazy 17704 17660 -0.2% 1.00x (?)
PrefixWhileAnySequence 30221 30185 -0.1% 1.00x
PrefixWhileAnySequenceLazy 10258 10410 +1.5% 0.99x
PrefixWhileArray 15790 15883 +0.6% 0.99x
PrefixWhileArrayLazy 14609 14692 +0.6% 0.99x
PrefixWhileCountableRange 13805 13578 -1.6% 1.02x
PrefixWhileCountableRangeLazy 17399 17531 +0.8% 0.99x (?)
PrefixWhileSequence 29894 30154 +0.9% 0.99x
PrefixWhileSequenceLazy 9910 10250 +3.4% 0.97x (?)
Prims 10415 10333 -0.8% 1.01x
PrimsSplit 10335 10417 +0.8% 0.99x (?)
RC4 17901 18446 +3.0% 0.97x
RGBHistogram 28979 29072 +0.3% 1.00x (?)
RGBHistogramOfObjects 97596 96568 -1.1% 1.01x (?)
RangeAssignment 4797 4828 +0.6% 0.99x
RangeIterationSigned 17376 17122 -1.5% 1.01x
RecursiveOwnedParameter 7809 7896 +1.1% 0.99x (?)
ReversedArray 17384 17098 -1.6% 1.02x
ReversedDictionary 27231 27570 +1.2% 0.99x
SetExclusiveOr 18175 17736 -2.4% 1.02x
SetExclusiveOr_OfObjects 41560 41375 -0.4% 1.00x (?)
SetIntersect 9177 9214 +0.4% 1.00x
SetIntersect_OfObjects 12129 12320 +1.6% 0.98x
SetIsSubsetOf 1482 1471 -0.7% 1.01x
SetIsSubsetOf_OfObjects 1536 1555 +1.2% 0.99x
SetUnion 12134 12038 -0.8% 1.01x
SetUnion_OfObjects 28993 28900 -0.3% 1.00x (?)
SevenBoom 1707 1789 +4.8% 0.95x
Sim2DArray 44774 44750 -0.1% 1.00x (?)
SortLargeExistentials 15996 16016 +0.1% 1.00x (?)
SortLettersInPlace 2877 2878 +0.0% 1.00x (?)
SortSortedStrings 1363 1357 -0.4% 1.00x
SortStrings 2613 2550 -2.4% 1.02x
SortStringsUnicode 9445 9452 +0.1% 1.00x (?)
StaticArray 2649 2728 +3.0% 0.97x (?)
StrComplexWalk 7106 7270 +2.3% 0.98x
StringAdder 3681 3700 +0.5% 0.99x (?)
StringBuilderLong 1141 1148 +0.6% 0.99x
StringComparison_abnormal 1388 1393 +0.4% 1.00x (?)
StringComparison_ascii 13753 13841 +0.6% 0.99x
StringComparison_emoji 3643 3645 +0.1% 1.00x (?)
StringComparison_fastPrenormal 12729 12716 -0.1% 1.00x (?)
StringComparison_latin1 9237 9248 +0.1% 1.00x (?)
StringComparison_longSharedPrefix 7595 7635 +0.5% 0.99x (?)
StringComparison_nonBMPSlowestPrenormal 6569 6532 -0.6% 1.01x (?)
StringComparison_slowerPrenormal 6480 6493 +0.2% 1.00x (?)
StringComparison_zalgo 2707 2723 +0.6% 0.99x (?)
StringEdits 398015 397557 -0.1% 1.00x (?)
StringEqualPointerComparison 3304 3307 +0.1% 1.00x (?)
StringFromLongWholeSubstring 204 205 +0.5% 1.00x (?)
StringFromLongWholeSubstringGeneric 200 199 -0.5% 1.01x
StringHasPrefixAscii 2858 2826 -1.1% 1.01x
StringHasPrefixUnicode 20258 19901 -1.8% 1.02x (?)
StringHasSuffixAscii 3048 2997 -1.7% 1.02x
StringHasSuffixUnicode 79828 79834 +0.0% 1.00x (?)
StringInterpolation 14046 13570 -3.4% 1.04x
StringMatch 35272 35433 +0.5% 1.00x (?)
StringUTF16Builder 8236 7879 -4.3% 1.05x (?)
StringWalk 13116 13289 +1.3% 0.99x
StringWithCString 71096 68562 -3.6% 1.04x (?)
SubstringComparable 4373 4332 -0.9% 1.01x (?)
SubstringEqualString 6421 6511 +1.4% 0.99x (?)
SubstringEquatable 9108 9081 -0.3% 1.00x (?)
SubstringFromLongString 15 15 +0.0% 1.00x
SubstringFromLongStringGeneric 101 101 +0.0% 1.00x
SuffixAnyCollection 5247 5269 +0.4% 1.00x (?)
SuffixAnySeqCntRange 5227 5266 +0.7% 0.99x
SuffixAnySeqCntRangeLazy 5285 5185 -1.9% 1.02x
SuffixAnySequence 27483 27716 +0.8% 0.99x
SuffixAnySequenceLazy 27477 27678 +0.7% 0.99x
SuffixCountableRange 115 115 +0.0% 1.00x
SuffixCountableRangeLazy 9997 9990 -0.1% 1.00x (?)
SuffixSequence 27423 27621 +0.7% 0.99x
SuffixSequenceLazy 27620 27559 -0.2% 1.00x
SumUsingReduce 215620 213378 -1.0% 1.01x
SumUsingReduceInto 212797 216487 +1.7% 0.98x
SuperChars 200554 199276 -0.6% 1.01x (?)
TwoSum 4110 4107 -0.1% 1.00x (?)
TypeFlood 169 162 -4.1% 1.04x (?)
UTF8Decode 37091 37250 +0.4% 1.00x
Walsh 12039 12045 +0.0% 1.00x
XorLoop 23636 23647 +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

@airspeedswift
Copy link
Member Author

@swift-ci please test

@apple apple deleted a comment from swift-ci Dec 16, 2017
@apple apple deleted a comment from swift-ci Dec 16, 2017
@airspeedswift
Copy link
Member Author

@swift-ci please smoke test compiler performance

@swift-ci
Copy link
Collaborator

Build comment file:

Summary for master smoketest

Unexpected test results, stats may be off for unknown

Regressions found (see below)

Debug

debug brief

None

debug detailed

None

Release

release brief

None

release detailed

None


@airspeedswift
Copy link
Member Author

@shahmishal @graydon any ideas why the compiler perf tests are failing? Error in the logs says:

suite/project_future.py", line 836, in output_fd
    ([scheme_target] if scheme_target else []) +
TypeError: string indices must be integers

@airspeedswift
Copy link
Member Author

@swift-ci please test source compatibility

@slavapestov
Copy link
Member

Neat!

extension EmptyCollection {
/// An iterator that never produces an element.
@_fixed_layout // FIXME(sil-serialize-all)
public struct Iterator {
Copy link
Member

Choose a reason for hiding this comment

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

Could EmptyCollection just be its own Iterator?

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 guess. I think I prefer it consistent tho.

@airspeedswift
Copy link
Member Author

@swift-ci please smoke test compiler performance

@swift-ci
Copy link
Collaborator

Build comment file:

Summary for master smoketest

Unexpected test results, stats may be off for 3

No regressions above thresholds

Debug

debug brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 25,816,464 25,814,512 -1,952 -0.01%
time.swift-driver.wall 34.4s 34.1s -202.8ms -0.59%

debug detailed

Regressed (0)
name old new delta delta_pct
Improved (1)
name old new delta delta_pct
Sema.NumLazyGenericEnvironments 184,956 180,398 -4,558 -2.46% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (22)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 47,126 47,126 0 0.0%
AST.NumLoadedModules 6,897 6,897 0 0.0%
AST.NumTotalClangImportedEntities 130,969 130,969 0 0.0%
AST.NumUsedConformances 3,156 3,155 -1 -0.03%
IRModule.NumIRBasicBlocks 71,903 71,894 -9 -0.01%
IRModule.NumIRFunctions 36,487 36,480 -7 -0.02%
IRModule.NumIRGlobals 40,393 40,386 -7 -0.02%
IRModule.NumIRInsts 780,464 780,435 -29 -0.0%
IRModule.NumIRValueSymbols 66,010 65,996 -14 -0.02%
LLVM.NumLLVMBytesOutput 25,816,464 25,814,512 -1,952 -0.01%
SILModule.NumSILGenFunctions 16,166 16,166 0 0.0%
SILModule.NumSILOptFunctions 28,234 28,234 0 0.0%
Sema.NumConformancesDeserialized 125,199 125,095 -104 -0.08%
Sema.NumConstraintScopes 469,159 469,159 0 0.0%
Sema.NumDeclsDeserialized 932,597 925,835 -6,762 -0.73%
Sema.NumDeclsValidated 35,577 35,577 0 0.0%
Sema.NumFunctionsTypechecked 28,282 28,282 0 0.0%
Sema.NumGenericSignatureBuilders 41,187 41,348 161 0.39%
Sema.NumLazyGenericEnvironmentsLoaded 20,231 20,032 -199 -0.98%
Sema.NumLazyIterableDeclContexts 161,506 162,500 994 0.62%
Sema.NumTypesDeserialized 982,267 977,153 -5,114 -0.52%
Sema.NumTypesValidated 136,692 136,692 0 0.0%

Release

release brief

Regressed (0)
name old new delta delta_pct
Improved (0)
name old new delta delta_pct
Unchanged (delta < 1.0% or delta < 100.0ms) (2)
name old new delta delta_pct
LLVM.NumLLVMBytesOutput 29,331,840 29,336,744 4,904 0.02%
time.swift-driver.wall 73.6s 73.1s -568.0ms -0.77%

release detailed

Regressed (0)
name old new delta delta_pct
Improved (1)
name old new delta delta_pct
Sema.NumLazyGenericEnvironments 27,988 27,160 -828 -2.96% ✅
Unchanged (delta < 1.0% or delta < 100.0ms) (22)
name old new delta delta_pct
AST.NumImportedExternalDefinitions 7,741 7,741 0 0.0%
AST.NumLoadedModules 299 299 0 0.0%
AST.NumTotalClangImportedEntities 24,426 24,426 0 0.0%
AST.NumUsedConformances 3,547 3,546 -1 -0.03%
IRModule.NumIRBasicBlocks 63,903 63,903 0 0.0%
IRModule.NumIRFunctions 27,344 27,342 -2 -0.01%
IRModule.NumIRGlobals 34,846 34,846 0 0.0%
IRModule.NumIRInsts 606,722 606,738 16 0.0%
IRModule.NumIRValueSymbols 55,650 55,648 -2 -0.0%
LLVM.NumLLVMBytesOutput 29,331,840 29,336,744 4,904 0.02%
SILModule.NumSILGenFunctions 11,113 11,113 0 0.0%
SILModule.NumSILOptFunctions 20,411 20,409 -2 -0.01%
Sema.NumConformancesDeserialized 67,914 67,764 -150 -0.22%
Sema.NumConstraintScopes 468,558 468,558 0 0.0%
Sema.NumDeclsDeserialized 162,816 161,845 -971 -0.6%
Sema.NumDeclsValidated 26,224 26,224 0 0.0%
Sema.NumFunctionsTypechecked 9,365 9,365 0 0.0%
Sema.NumGenericSignatureBuilders 6,382 6,390 8 0.13%
Sema.NumLazyGenericEnvironmentsLoaded 3,491 3,466 -25 -0.72%
Sema.NumLazyIterableDeclContexts 16,932 17,085 153 0.9%
Sema.NumTypesDeserialized 187,776 187,143 -633 -0.34%
Sema.NumTypesValidated 54,397 54,397 0 0.0%

@airspeedswift airspeedswift merged commit 9361a6b into apple:master Dec 18, 2017
@DougGregor
Copy link
Member

@airspeedswift , this caused the regression in https://bugs.swift.org/browse/SR-6654

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.

None yet

5 participants