Skip to content

Replace concrete init(stringInterpolationSegment:)'s with generic ones #7124

New issue

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

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

Already on GitHub? Sign in to your account

Merged

Conversation

DougGregor
Copy link
Member

Remove 16 concrete init(stringInterpolationSegment:) overloads and
replace them with 3 generic overloads, significantly reducing the
exponential blow-up from larger string interpolations.

Fixes rdar://problem/29389887.

Remove 16 concrete init(stringInterpolationSegment:) overloads and
replace them with 3 generic overloads, significantly reducing the
exponential blow-up from larger string interpolations.

Fixes rdar://problem/29389887.
@DougGregor
Copy link
Member Author

@swift-ci please benchmark

@DougGregor
Copy link
Member Author

@swift-ci please smoke test

@dabrahams
Copy link
Contributor

Nice! Why didn't it work out when I tried to do this? Did it require a compiler fix?

@DougGregor
Copy link
Member Author

Well, we're still waiting for benchmark results. IIRC, you removed the concrete versions but didn't put in the generic overloads like I did.

I did not touch the compiler, although I did come across an opportunity for improvement there, too.

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (2)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
CaptureProp 3956 4550 +15.0% 0.87x
ObjectiveCBridgeStubNSDateMutationRef 12577 13379 +6.4% 0.94x(?)
Improvement (5)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeStubFromNSDate 3919 3709 -5.4% 1.06x
ObjectiveCBridgeStubNSDateRefAccess 344 318 -7.6% 1.08x
StringHasPrefix 757 696 -8.1% 1.09x
OpenClose 54 48 -11.1% 1.12x
StringInterpolation 11120 9560 -14.0% 1.16x
No Changes (152)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
NopDeinit 22213 21361 -3.8% 1.04x
SortStrings 1634 1582 -3.2% 1.03x
Calculator 31 30 -3.2% 1.03x
SetUnion_OfObjects 6253 6062 -3.0% 1.03x(?)
StringHasPrefixUnicode 14007 13541 -3.3% 1.03x
Histogram 289 284 -1.7% 1.02x
Prims 755 741 -1.9% 1.02x
ReversedDictionary 95 93 -2.1% 1.02x(?)
RangeAssignment 294 288 -2.0% 1.02x(?)
SetExclusiveOr 2866 2814 -1.8% 1.02x(?)
ArrayInClass 62 61 -1.6% 1.02x(?)
Phonebook 7084 6967 -1.6% 1.02x
SetExclusiveOr_OfObjects 7434 7269 -2.2% 1.02x(?)
ObjectiveCBridgeStubNSDataAppend 2304 2258 -2.0% 1.02x(?)
ObjectiveCBridgeToNSString 1272 1260 -0.9% 1.01x
StackPromo 21707 21464 -1.1% 1.01x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5336 5302 -0.6% 1.01x(?)
ArrayAppendGenericStructs 1227 1215 -1.0% 1.01x(?)
SuperChars 216493 213501 -1.4% 1.01x(?)
ObjectAllocation 174 173 -0.6% 1.01x(?)
ProtocolDispatch2 159 157 -1.3% 1.01x
SetIntersect_OfObjects 1464 1450 -1.0% 1.01x(?)
ObjectiveCBridgeToNSArray 32033 31839 -0.6% 1.01x(?)
DictionaryRemoveOfObjects 21368 21158 -1.0% 1.01x(?)
UTF8Decode 282 280 -0.7% 1.01x
ObjectiveCBridgeStubURLAppendPath 222639 220053 -1.2% 1.01x(?)
ObjectiveCBridgeStubDataAppend 3486 3461 -0.7% 1.01x(?)
ArrayOfGenericRef 4056 4021 -0.9% 1.01x(?)
RGBHistogramOfObjects 22401 22249 -0.7% 1.01x(?)
SetUnion 2284 2254 -1.3% 1.01x(?)
SevenBoom 1467 1452 -1.0% 1.01x(?)
Dictionary2OfObjects 3605 3586 -0.5% 1.01x(?)
TwoSum 1340 1328 -0.9% 1.01x(?)
ArraySubscript 1440 1441 +0.1% 1.00x(?)
DictionarySwapOfObjects 7038 7038 +0.0% 1.00x
RecursiveOwnedParameter 1930 1937 +0.4% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 85616 85667 +0.1% 1.00x(?)
ClassArrayGetter 13 13 +0.0% 1.00x
Array2D 1911 1916 +0.3% 1.00x(?)
MonteCarloPi 44855 44843 -0.0% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 6004 6026 +0.4% 1.00x(?)
ObjectiveCBridgeFromNSStringForced 2307 2310 +0.1% 1.00x(?)
SortLettersInPlace 1059 1058 -0.1% 1.00x(?)
DictionarySwap 422 422 +0.0% 1.00x
ArrayAppendToFromGeneric 596 597 +0.2% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 146351 146852 +0.3% 1.00x(?)
Dictionary3OfObjects 920 919 -0.1% 1.00x(?)
ByteSwap 0 0 +0.0% 1.00x
ArrayAppendLazyMap 917 916 -0.1% 1.00x(?)
XorLoop 352 352 +0.0% 1.00x
ObserverClosure 2110 2120 +0.5% 1.00x(?)
CharacterLiteralsSmall 812 813 +0.1% 1.00x
Integrate 237 237 +0.0% 1.00x
ArrayPlusEqualSingleElementCollection 56357 56104 -0.5% 1.00x(?)
ArrayAppendStrings 12053 12060 +0.1% 1.00x(?)
ObjectiveCBridgeStubFromNSStringRef 199 200 +0.5% 1.00x
ObjectiveCBridgeStubFromNSString 922 926 +0.4% 1.00x(?)
StaticArray 131 131 +0.0% 1.00x
ProtocolDispatch 3030 3030 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
SortSortedStrings 794 792 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObject 70208 70510 +0.4% 1.00x(?)
Walsh 323 323 +0.0% 1.00x
Dictionary3 531 530 -0.2% 1.00x(?)
Dictionary2 2093 2094 +0.1% 1.00x(?)
StrComplexWalk 2978 2967 -0.4% 1.00x(?)
Join 498 498 +0.0% 1.00x
ArrayPlusEqualArrayOfInt 597 597 +0.0% 1.00x
NSError 350 351 +0.3% 1.00x(?)
DictionaryOfObjects 2465 2461 -0.2% 1.00x(?)
ObjectiveCBridgeStubToNSDateRef 3354 3366 +0.4% 1.00x(?)
PopFrontArrayGeneric 1098 1095 -0.3% 1.00x(?)
ArrayAppendReserved 739 739 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 131 131 +0.0% 1.00x
ArrayAppendFromGeneric 597 596 -0.2% 1.00x(?)
MapReduce 341 340 -0.3% 1.00x(?)
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
DictionaryLiteral 1481 1485 +0.3% 1.00x(?)
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 96160 96577 +0.4% 1.00x(?)
Dictionary 748 750 +0.3% 1.00x(?)
ObjectiveCBridgeStubToArrayOfNSString 31615 31644 +0.1% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
ArrayAppendOptionals 1220 1226 +0.5% 1.00x(?)
StrToInt 5015 4992 -0.5% 1.00x
StringHasSuffix 798 798 +0.0% 1.00x
Sim2DArray 276 276 +0.0% 1.00x
ArrayAppendRepeatCol 757 756 -0.1% 1.00x(?)
MonteCarloE 10461 10493 +0.3% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 69797 69734 -0.1% 1.00x(?)
ArrayAppendToGeneric 596 597 +0.2% 1.00x(?)
HashTest 1815 1814 -0.1% 1.00x(?)
SetIsSubsetOf_OfObjects 309 309 +0.0% 1.00x
ArrayAppend 982 983 +0.1% 1.00x(?)
DictionaryRemove 2314 2311 -0.1% 1.00x(?)
LinkedList 7230 7234 +0.1% 1.00x(?)
158 2891038 2883674 -0.2% 1.00x
ArrayLiteral 1381 1375 -0.4% 1.00x(?)
ArrayAppendSequence 976 976 +0.0% 1.00x
ArrayAppendArrayOfInt 597 597 +0.0% 1.00x
ArrayOfPOD 165 165 +0.0% 1.00x
ReversedArray 49 49 +0.0% 1.00x
StringBuilder 1408 1409 +0.1% 1.00x(?)
ObserverForwarderStruct 911 909 -0.2% 1.00x(?)
BitCount 1 1 +0.0% 1.00x
StringWalk 5986 5985 -0.0% 1.00x(?)
ArrayValueProp 6 6 +0.0% 1.00x
ObjectiveCBridgeFromNSString 1384 1378 -0.4% 1.00x(?)
Memset 234 234 +0.0% 1.00x
ArrayValueProp4 6 6 +0.0% 1.00x
ArrayValueProp2 6 6 +0.0% 1.00x
ArrayValueProp3 6 6 +0.0% 1.00x
ObserverPartiallyAppliedMethod 3634 3648 +0.4% 1.00x(?)
PopFrontArray 1089 1097 +0.7% 0.99x(?)
ObjectiveCBridgeStubToNSString 1479 1498 +1.3% 0.99x(?)
StringWithCString 210663 212334 +0.8% 0.99x(?)
AnyHashableWithAClass 64602 65444 +1.3% 0.99x(?)
CharacterLiteralsLarge 12295 12452 +1.3% 0.99x
ArrayOfRef 3814 3846 +0.8% 0.99x(?)
ObserverUnappliedMethod 2549 2565 +0.6% 0.99x(?)
ObjectiveCBridgeStubURLAppendPathRef 217801 221080 +1.5% 0.99x(?)
ObjectiveCBridgeToNSSet 37324 37618 +0.8% 0.99x(?)
PopFrontUnsafePointer 8952 9029 +0.9% 0.99x(?)
StringEqualPointerComparison 7276 7320 +0.6% 0.99x(?)
SetIsSubsetOf 242 244 +0.8% 0.99x
ObjectiveCBridgeFromNSArrayAnyObject 66149 66559 +0.6% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 100685 101946 +1.2% 0.99x(?)
ObjectiveCBridgeStubDateAccess 181 183 +1.1% 0.99x
StringHasSuffixUnicode 60516 60910 +0.7% 0.99x(?)
NSStringConversion 727 732 +0.7% 0.99x(?)
RGBHistogram 2258 2272 +0.6% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4292 4322 +0.7% 0.99x(?)
AngryPhonebook 3184 3214 +0.9% 0.99x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 78842 79594 +0.9% 0.99x(?)
ObjectiveCBridgeStubFromArrayOfNSString 59604 59969 +0.6% 0.99x(?)
RC4 156 158 +1.3% 0.99x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 157887 160942 +1.9% 0.98x(?)
DictionaryBridge 3063 3111 +1.6% 0.98x(?)
ObjectiveCBridgeStubFromNSDateRef 3702 3759 +1.5% 0.98x(?)
ErrorHandling 3099 3174 +2.4% 0.98x(?)
SortStringsUnicode 7187 7356 +2.4% 0.98x(?)
SetIntersect 352 359 +2.0% 0.98x(?)
NSDictionaryCastToSwift 5281 5415 +2.5% 0.98x(?)
ObjectiveCBridgeToNSDictionary 59810 60960 +1.9% 0.98x(?)
ReversedBidirectional 49244 50504 +2.6% 0.98x
DeadArray 181 184 +1.7% 0.98x
Hanoi 3177 3287 +3.5% 0.97x
Chars 610 629 +3.1% 0.97x
IterateData 2517 2613 +3.8% 0.96x
ArrayPlusEqualFiveElementCollection 58921 62170 +5.5% 0.95x(?)
ObjectiveCBridgeStubToNSDate 14265 14992 +5.1% 0.95x(?)
PolymorphicCalls 21 22 +4.8% 0.95x
**Unoptimized (Onone)**
Regression (1)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeStubDateAccess 970 1030 +6.2% 0.94x
Improvement (2)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StringInterpolation 15548 13939 -10.3% 1.12x
ProtocolDispatch 6092 5455 -10.5% 1.12x
No Changes (156)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
TypeFlood 202 192 -5.0% 1.05x(?)
ArrayOfGenericPOD 3235 3098 -4.2% 1.04x
ObjectiveCBridgeStubNSDateMutationRef 15108 14649 -3.0% 1.03x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 165805 162168 -2.2% 1.02x(?)
SuperChars 268863 264604 -1.6% 1.02x(?)
ObjectiveCBridgeStubDateMutation 433 425 -1.9% 1.02x
OpenClose 405 396 -2.2% 1.02x(?)
StrToInt 5356 5233 -2.3% 1.02x
ArrayPlusEqualFiveElementCollection 553015 547632 -1.0% 1.01x(?)
StaticArray 3737 3691 -1.2% 1.01x
CharacterLiteralsLarge 13366 13210 -1.2% 1.01x(?)
ObjectiveCBridgeStubURLAppendPathRef 227724 225288 -1.1% 1.01x(?)
ObjectiveCBridgeToNSSet 38021 37575 -1.2% 1.01x(?)
ObjectiveCBridgeStubToNSDateRef 3384 3363 -0.6% 1.01x(?)
ObjectiveCBridgeStubDataAppend 3547 3501 -1.3% 1.01x(?)
ArrayAppendRepeatCol 214269 213132 -0.5% 1.01x(?)
SetUnion_OfObjects 28308 28158 -0.5% 1.01x
ArrayLiteral 1442 1429 -0.9% 1.01x
ReversedArray 519 515 -0.8% 1.01x
ArrayValueProp3 3434 3415 -0.6% 1.01x(?)
ObjectiveCBridgeFromNSString 4023 3998 -0.6% 1.01x
ArraySubscript 5625 5618 -0.1% 1.00x(?)
ObjectiveCBridgeToNSString 1302 1303 +0.1% 1.00x(?)
DictionarySwapOfObjects 20372 20337 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 150826 150842 +0.0% 1.00x(?)
RecursiveOwnedParameter 10964 10915 -0.5% 1.00x(?)
ObjectiveCBridgeStubToNSString 1544 1543 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 87009 86953 -0.1% 1.00x(?)
ClassArrayGetter 1274 1274 +0.0% 1.00x
Array2D 812582 812314 -0.0% 1.00x(?)
Histogram 10197 10233 +0.3% 1.00x(?)
SortStrings 2493 2497 +0.2% 1.00x(?)
MonteCarloPi 53452 53363 -0.2% 1.00x
StringWithCString 151621 151654 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSStringForced 2661 2652 -0.3% 1.00x(?)
DictionarySwap 6205 6185 -0.3% 1.00x(?)
ReversedDictionary 32773 32624 -0.5% 1.00x(?)
ArrayAppendToFromGeneric 713 716 +0.4% 1.00x
PopFrontArray 13387 13434 +0.3% 1.00x
Dictionary3OfObjects 2186 2186 +0.0% 1.00x
ByteSwap 9 9 +0.0% 1.00x
ArrayAppendGenericStructs 1355 1358 +0.2% 1.00x(?)
ArrayAppendLazyMap 275891 275106 -0.3% 1.00x
XorLoop 19935 19946 +0.1% 1.00x
ObserverClosure 7233 7227 -0.1% 1.00x(?)
CharacterLiteralsSmall 972 972 +0.0% 1.00x
Integrate 365 365 +0.0% 1.00x
ArrayAppendStrings 11850 11865 +0.1% 1.00x(?)
ErrorHandling 4051 4044 -0.2% 1.00x(?)
ObjectiveCBridgeStubFromNSStringRef 208 207 -0.5% 1.00x(?)
ObjectAllocation 611 611 +0.0% 1.00x
SortSortedStrings 1250 1244 -0.5% 1.00x
ObjectiveCBridgeFromNSSetAnyObject 73035 73310 +0.4% 1.00x(?)
AngryPhonebook 3378 3375 -0.1% 1.00x(?)
Walsh 13142 13166 +0.2% 1.00x(?)
Dictionary3 1393 1397 +0.3% 1.00x(?)
Dictionary2 3681 3686 +0.1% 1.00x(?)
Join 1464 1470 +0.4% 1.00x
ArrayOfRef 9223 9211 -0.1% 1.00x(?)
ObserverUnappliedMethod 8972 8967 -0.1% 1.00x(?)
DictionaryOfObjects 4700 4705 +0.1% 1.00x(?)
PopFrontUnsafePointer 178044 178633 +0.3% 1.00x(?)
CaptureProp 121633 121563 -0.1% 1.00x
PolymorphicCalls 684 686 +0.3% 1.00x
RC4 9336 9338 +0.0% 1.00x(?)
IterateData 10728 10752 +0.2% 1.00x
DictionaryLiteral 16237 16243 +0.0% 1.00x(?)
DictionaryRemoveOfObjects 49746 49685 -0.1% 1.00x(?)
UTF8Decode 45345 45316 -0.1% 1.00x
ObjectiveCBridgeStubURLAppendPath 224949 225796 +0.4% 1.00x(?)
SetIsSubsetOf 2029 2029 +0.0% 1.00x
ObjectiveCBridgeStubToArrayOfNSString 31841 31977 +0.4% 1.00x(?)
SetIntersect 12095 12082 -0.1% 1.00x
SetExclusiveOr 21483 21545 +0.3% 1.00x
NSDictionaryCastToSwift 6565 6543 -0.3% 1.00x(?)
ArrayInClass 3957 3959 +0.1% 1.00x(?)
ArrayOfGenericRef 10227 10187 -0.4% 1.00x(?)
Sim2DArray 14522 14522 +0.0% 1.00x
SetExclusiveOr_OfObjects 39291 39237 -0.1% 1.00x
ObjectiveCBridgeToNSDictionary 60848 60591 -0.4% 1.00x(?)
MonteCarloE 107718 107778 +0.1% 1.00x(?)
ReversedBidirectional 135938 136248 +0.2% 1.00x(?)
StringHasSuffixUnicode 62084 62374 +0.5% 1.00x
ArrayAppendToGeneric 715 716 +0.1% 1.00x(?)
HashTest 5566 5571 +0.1% 1.00x(?)
SetIsSubsetOf_OfObjects 1861 1862 +0.1% 1.00x(?)
LinkedList 27519 27547 +0.1% 1.00x(?)
158 6748208 6750692 +0.0% 1.00x
MapReduce 44880 44986 +0.2% 1.00x
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 73889 73921 +0.0% 1.00x(?)
RGBHistogram 35144 35173 +0.1% 1.00x(?)
ArrayAppendArrayOfInt 710 712 +0.3% 1.00x
SetUnion 11968 11957 -0.1% 1.00x(?)
Chars 6423 6442 +0.3% 1.00x(?)
ObserverForwarderStruct 5235 5229 -0.1% 1.00x(?)
ArrayValueProp2 3534 3535 +0.0% 1.00x(?)
BitCount 97 97 +0.0% 1.00x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 79778 80140 +0.5% 1.00x(?)
ArrayValueProp4 3381 3375 -0.2% 1.00x(?)
ArrayValueProp 3002 2988 -0.5% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Memset 20588 20594 +0.0% 1.00x(?)
Dictionary2OfObjects 6025 6032 +0.1% 1.00x(?)
TwoSum 4895 4898 +0.1% 1.00x(?)
SevenBoom 1609 1612 +0.2% 1.00x(?)
ObserverPartiallyAppliedMethod 8759 8741 -0.2% 1.00x(?)
Prims 12724 12790 +0.5% 0.99x(?)
SortLettersInPlace 2663 2679 +0.6% 0.99x
RangeAssignment 7139 7197 +0.8% 0.99x(?)
ArrayPlusEqualSingleElementCollection 535615 543099 +1.4% 0.99x(?)
ObjectiveCBridgeStubFromNSString 939 946 +0.8% 0.99x(?)
ProtocolDispatch2 439 443 +0.9% 0.99x
SetIntersect_OfObjects 11645 11719 +0.6% 0.99x
PopFrontArrayGeneric 9251 9355 +1.1% 0.99x
ObjectiveCBridgeStubToNSStringRef 146 147 +0.7% 0.99x(?)
ArrayAppendFromGeneric 714 718 +0.6% 0.99x
ArrayPlusEqualArrayOfInt 712 717 +0.7% 0.99x
Hanoi 19363 19518 +0.8% 0.99x(?)
SortStringsUnicode 8287 8391 +1.2% 0.99x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 100715 101731 +1.0% 0.99x(?)
Dictionary 1878 1902 +1.3% 0.99x(?)
NopDeinit 44567 44814 +0.6% 0.99x(?)
ObjectiveCBridgeFromNSArrayAnyObject 68310 69047 +1.1% 0.99x(?)
RGBHistogramOfObjects 83976 84543 +0.7% 0.99x(?)
ObjectiveCBridgeStubNSDateRefAccess 1185 1191 +0.5% 0.99x
StringBuilder 2824 2864 +1.4% 0.99x(?)
Phonebook 20590 20778 +0.9% 0.99x
DictionaryRemove 17730 17822 +0.5% 0.99x(?)
AnyHashableWithAClass 79793 80765 +1.2% 0.99x
ObjectiveCBridgeStubFromArrayOfNSString 60260 60719 +0.8% 0.99x(?)
DictionaryBridge 3156 3223 +2.1% 0.98x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 9506 9732 +2.4% 0.98x(?)
ObjectiveCBridgeStubToNSDate 14945 15273 +2.2% 0.98x(?)
StringHasPrefix 1585 1622 +2.3% 0.98x(?)
ObjectiveCBridgeToNSArray 31712 32418 +2.2% 0.98x(?)
NSError 696 707 +1.6% 0.98x(?)
StringEqualPointerComparison 9533 9773 +2.5% 0.98x
Calculator 948 963 +1.6% 0.98x
ObjectiveCBridgeFromNSSetAnyObjectToString 106989 108682 +1.6% 0.98x(?)
ArrayAppendSequence 75232 77010 +2.4% 0.98x
DeadArray 122217 124931 +2.2% 0.98x
StringWalk 23052 23593 +2.4% 0.98x
ObjectiveCBridgeStubFromNSDate 3918 4012 +2.4% 0.98x
StackPromo 128007 132061 +3.2% 0.97x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7407 7622 +2.9% 0.97x(?)
ObjectiveCBridgeStubFromNSDateRef 3996 4133 +3.4% 0.97x
StrComplexWalk 7724 7939 +2.8% 0.97x
ArrayAppend 3341 3428 +2.6% 0.97x
NSStringConversion 1263 1300 +2.9% 0.97x
ObjectiveCBridgeFromNSSetAnyObjectForced 6697 6889 +2.9% 0.97x
ArrayOfPOD 1832 1887 +3.0% 0.97x
ObjectiveCBridgeStubNSDataAppend 2640 2723 +3.1% 0.97x(?)
StringHasSuffix 1679 1748 +4.1% 0.96x
StringHasPrefixUnicode 15082 15670 +3.9% 0.96x
ArrayAppendReserved 3049 3180 +4.3% 0.96x
ArrayAppendOptionals 1381 1455 +5.4% 0.95x
**Hardware Overview** Model Name: Mac mini Model Identifier: Macmini7,1 Processor Name: Intel Core i5 Processor Speed: 2.8 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 3 MB Memory: 16 GB

@DougGregor DougGregor merged commit 2935301 into swiftlang:master Jan 28, 2017
@DougGregor DougGregor deleted the string-interpolation-generic branch January 28, 2017 17:14
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