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] More new integer protocols #3502

Merged
merged 1 commit into from
Jul 15, 2016

Conversation

moiseev
Copy link
Contributor

@moiseev moiseev commented Jul 13, 2016

What's in this pull request?

Part 2 of the implementation of SE-0104. This time it's the rest of the protocols.


Before merging this pull request to apple/swift repository:

  • Test pull request on Swift continuous integration.

Triggering Swift CI

The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:

Smoke Testing

Platform Comment
All supported platforms @swift-ci Please smoke test
All supported platforms @swift-ci Please smoke test and merge
OS X platform @swift-ci Please smoke test OS X platform
Linux platform @swift-ci Please smoke test Linux platform

Validation Testing

Platform Comment
All supported platforms @swift-ci Please test
All supported platforms @swift-ci Please test and merge
OS X platform @swift-ci Please test OS X platform
OS X platform @swift-ci Please benchmark
Linux platform @swift-ci Please test Linux platform

Lint Testing

Language Comment
Python @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

@moiseev moiseev self-assigned this Jul 13, 2016
@moiseev
Copy link
Contributor Author

moiseev commented Jul 13, 2016

@swift-ci Please test

@moiseev
Copy link
Contributor Author

moiseev commented Jul 14, 2016

@swift-ci Please benchmark

@moiseev
Copy link
Contributor Author

moiseev commented Jul 14, 2016

Build failure is unrelated.

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (1)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ClassArrayGetter 12 13 +8.3% 0.92x

Improvement (2)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
OpenClose 53 50 -5.7% 1.06x
DictionaryLiteral 4754 4333 -8.9% 1.10x

No Changes (131)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeFromNSDictionaryAnyObject 254328 241647 -5.0% 1.05x
StringHasPrefix 649 616 -5.1% 1.05x
ObjectAllocation 153 146 -4.6% 1.05x(?)
Dictionary3 551 527 -4.4% 1.05x(?)
Dictionary2 1986 1883 -5.2% 1.05x
StrToInt 5136 4879 -5.0% 1.05x
Dictionary2OfObjects 3425 3275 -4.4% 1.05x(?)
NSDictionaryCastToSwift 13674 13172 -3.7% 1.04x(?)
ObjectiveCBridgeStubFromNSDate 3467 3337 -3.8% 1.04x
Walsh 334 325 -2.7% 1.03x(?)
ObjectiveCBridgeToNSSet 16026 15619 -2.5% 1.03x(?)
DictionaryOfObjects 2262 2203 -2.6% 1.03x(?)
SortStringsUnicode 9353 9089 -2.8% 1.03x(?)
Dictionary 749 729 -2.7% 1.03x
TwoSum 1922 1865 -3.0% 1.03x(?)
StackPromo 19168 18741 -2.2% 1.02x
Array2D 2069 2031 -1.8% 1.02x(?)
Histogram 661 650 -1.7% 1.02x
ObjectiveCBridgeStubFromNSDateRef 3655 3589 -1.8% 1.02x
ObjectiveCBridgeFromNSArrayAnyObjectForced 3771 3699 -1.9% 1.02x(?)
SortLettersInPlace 957 938 -2.0% 1.02x(?)
ObjectiveCBridgeFromNSString 1649 1624 -1.5% 1.02x
Dictionary3OfObjects 879 865 -1.6% 1.02x(?)
StringInterpolation 11730 11541 -1.6% 1.02x
StrComplexWalk 3036 2975 -2.0% 1.02x(?)
PopFrontUnsafePointer 9111 8895 -2.4% 1.02x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 137633 135344 -1.7% 1.02x(?)
Phonebook 7337 7202 -1.8% 1.02x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 117727 115766 -1.7% 1.02x
NSStringConversion 595 585 -1.7% 1.02x(?)
SortStrings 1790 1769 -1.2% 1.01x
ObjectiveCBridgeFromNSStringForced 2255 2227 -1.2% 1.01x(?)
Prims 765 754 -1.4% 1.01x(?)
ObjectiveCBridgeStubToNSDate 13745 13605 -1.0% 1.01x(?)
Integrate 237 235 -0.8% 1.01x(?)
Join 449 445 -0.9% 1.01x(?)
ObjectiveCBridgeStubFromNSString 677 670 -1.0% 1.01x(?)
ProtocolDispatch 3009 2968 -1.4% 1.01x(?)
ProtocolDispatch2 158 156 -1.3% 1.01x
ObjectiveCBridgeStubURLAppendPathRef 210205 208095 -1.0% 1.01x(?)
ObjectiveCBridgeStubToNSDateRef 3353 3336 -0.5% 1.01x(?)
RC4 256 253 -1.2% 1.01x(?)
ObjectiveCBridgeStubURLAppendPath 196574 195408 -0.6% 1.01x(?)
SetIntersect 1163 1156 -0.6% 1.01x(?)
ObjectiveCBridgeStubNSDateRefAccess 334 332 -0.6% 1.01x(?)
StringBuilder 1547 1525 -1.4% 1.01x(?)
ObjectiveCBridgeStubDateAccess 180 178 -1.1% 1.01x
SetUnion_OfObjects 7057 7010 -0.7% 1.01x(?)
HashTest 2023 2011 -0.6% 1.01x
ObjectiveCBridgeToNSString 1045 1049 +0.4% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 171585 171199 -0.2% 1.00x(?)
MonteCarloPi 42624 42650 +0.1% 1.00x
StringWithCString 180831 180736 -0.1% 1.00x
DictionarySwap 760 763 +0.4% 1.00x(?)
PopFrontArray 1119 1115 -0.4% 1.00x(?)
RangeAssignment 312 312 +0.0% 1.00x
ByteSwap 1 1 +0.0% 1.00x
XorLoop 360 360 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
ObjectiveCBridgeFromNSSetAnyObject 112767 112417 -0.3% 1.00x(?)
SetIntersect_OfObjects 2350 2356 +0.3% 1.00x(?)
ArrayOfRef 3472 3488 +0.5% 1.00x(?)
ObjectiveCBridgeStubDateMutation 266 266 +0.0% 1.00x
ObjectiveCBridgeToNSArray 32005 32112 +0.3% 1.00x(?)
NSError 321 322 +0.3% 1.00x(?)
PopFrontArrayGeneric 1131 1130 -0.1% 1.00x(?)
Hanoi 3354 3362 +0.2% 1.00x
ArrayOfGenericPOD 208 208 +0.0% 1.00x
DictionaryRemoveOfObjects 19985 20023 +0.2% 1.00x(?)
UTF8Decode 306 307 +0.3% 1.00x(?)
SetIsSubsetOf 487 487 +0.0% 1.00x
NopDeinit 35342 35454 +0.3% 1.00x(?)
ObjectiveCBridgeStubToArrayOfNSString 31501 31544 +0.1% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObject 64713 64605 -0.2% 1.00x(?)
RGBHistogramOfObjects 22109 22154 +0.2% 1.00x
ArrayInClass 85 85 +0.0% 1.00x
StringHasSuffix 777 777 +0.0% 1.00x
MonteCarloE 9912 9885 -0.3% 1.00x(?)
ArrayAppend 733 732 -0.1% 1.00x(?)
StringHasPrefixUnicode 15342 15395 +0.3% 1.00x(?)
LinkedList 6866 6854 -0.2% 1.00x(?)
ArrayAppendReserved 514 513 -0.2% 1.00x(?)
SetUnion 3228 3216 -0.4% 1.00x(?)
ObjectiveCBridgeStubNSDataAppend 2359 2356 -0.1% 1.00x(?)
BitCount 1 1 +0.0% 1.00x
ArrayLiteral 999 998 -0.1% 1.00x(?)
ArrayValueProp3 5 5 +0.0% 1.00x
StringWalk 5519 5517 -0.0% 1.00x(?)
ArrayValueProp 5 5 +0.0% 1.00x
GlobalClass 0 0 +0.0% 1.00x
Memset 222 222 +0.0% 1.00x
ArrayValueProp4 5 5 +0.0% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
SevenBoom 1301 1299 -0.1% 1.00x(?)
ArraySubscript 1347 1356 +0.7% 0.99x
DictionarySwapOfObjects 6568 6626 +0.9% 0.99x(?)
RecursiveOwnedParameter 1838 1858 +1.1% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4676 4707 +0.7% 0.99x
SuperChars 347592 349450 +0.5% 0.99x(?)
ObjectiveCBridgeStubFromNSStringRef 136 137 +0.7% 0.99x(?)
StaticArray 2816 2840 +0.8% 0.99x(?)
AngryPhonebook 2847 2863 +0.6% 0.99x(?)
StringEqualPointerComparison 7272 7322 +0.7% 0.99x(?)
CaptureProp 4155 4187 +0.8% 0.99x(?)
MapReduce 366 369 +0.8% 0.99x(?)
ObjectiveCBridgeStubDataAppend 2883 2901 +0.6% 0.99x(?)
SetExclusiveOr 3697 3727 +0.8% 0.99x(?)
Sim2DArray 384 388 +1.0% 0.99x(?)
SetExclusiveOr_OfObjects 8370 8469 +1.2% 0.99x(?)
SetIsSubsetOf_OfObjects 611 619 +1.3% 0.99x(?)
DictionaryRemove 5024 5069 +0.9% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 160772 162910 +1.3% 0.99x
RGBHistogram 3012 3048 +1.2% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4090 4130 +1.0% 0.99x(?)
ArrayOfPOD 171 172 +0.6% 0.99x
Chars 631 637 +0.9% 0.99x(?)
DeadArray 178 179 +0.6% 0.99x(?)
ObjectiveCBridgeStubNSDateMutationRef 11849 12005 +1.3% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 221406 224891 +1.6% 0.98x(?)
DictionaryBridge 3872 3935 +1.6% 0.98x
ErrorHandling 3041 3092 +1.7% 0.98x(?)
PolymorphicCalls 60 61 +1.7% 0.98x
StringHasSuffixUnicode 63482 64503 +1.6% 0.98x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 174551 178365 +2.2% 0.98x
ObjectiveCBridgeStubFromArrayOfNSString 116954 119438 +2.1% 0.98x
ObjectiveCBridgeStubToNSString 1226 1258 +2.6% 0.97x(?)
Calculator 33 34 +3.0% 0.97x
ArrayOfGenericRef 3505 3597 +2.6% 0.97x
ObjectiveCBridgeToNSDictionary 16156 16583 +2.6% 0.97x(?)
ObjectiveCBridgeStubToNSStringRef 117 122 +4.3% 0.96x(?)
133 3137931 3301752 +5.2% 0.95x
**Unoptimized (Onone)**

Regression (5)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StringWalk 23664 26639 +12.6% 0.89x
ObjectiveCBridgeToNSDictionary 16197 17777 +9.8% 0.91x
MonteCarloE 106316 115677 +8.8% 0.92x
Chars 5369 5822 +8.4% 0.92x
ArrayAppendReserved 3393 3622 +6.8% 0.94x(?)

Improvement (5)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
DictionaryLiteral 25589 24103 -5.8% 1.06x(?)
NSDictionaryCastToSwift 14521 13668 -5.9% 1.06x
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 130500 123471 -5.4% 1.06x
PopFrontUnsafePointer 254206 238554 -6.2% 1.07x
ObjectiveCBridgeStubFromArrayOfNSString 121454 113962 -6.2% 1.07x

No Changes (124)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StrComplexWalk 8121 7707 -5.1% 1.05x(?)
StringBuilder 2916 2775 -4.8% 1.05x
ArrayOfGenericPOD 3600 3466 -3.7% 1.04x
ObjectAllocation 555 536 -3.4% 1.04x(?)
ObjectiveCBridgeStubNSDateMutationRef 14121 13637 -3.4% 1.04x(?)
StaticArray 27568 26787 -2.8% 1.03x(?)
StringHasPrefix 1605 1558 -2.9% 1.03x
RC4 8704 8487 -2.5% 1.03x
ArrayInClass 3749 3650 -2.6% 1.03x
ObjectiveCBridgeStubFromNSDate 3857 3744 -2.9% 1.03x
Array2D 814276 798431 -1.9% 1.02x(?)
SortStrings 2632 2569 -2.4% 1.02x
PopFrontArray 24981 24501 -1.9% 1.02x
ObjectiveCBridgeStubFromNSStringRef 172 168 -2.3% 1.02x(?)
ObjectiveCBridgeStubFromNSString 727 714 -1.8% 1.02x
AngryPhonebook 3668 3612 -1.5% 1.02x(?)
ArrayOfRef 9254 9078 -1.9% 1.02x
ObjectiveCBridgeStubURLAppendPathRef 209701 205857 -1.8% 1.02x
ObjectiveCBridgeToNSSet 16155 15911 -1.5% 1.02x(?)
NSError 678 663 -2.2% 1.02x(?)
DictionaryOfObjects 5747 5624 -2.1% 1.02x
RGBHistogramOfObjects 101616 99712 -1.9% 1.02x(?)
RGBHistogram 52121 50941 -2.3% 1.02x(?)
SetUnion 32603 31822 -2.4% 1.02x(?)
133 6014004 5906756 -1.8% 1.02x
SevenBoom 1481 1451 -2.0% 1.02x(?)
ObjectiveCBridgeFromNSString 4848 4743 -2.2% 1.02x
TwoSum 9516 9350 -1.7% 1.02x(?)
RecursiveOwnedParameter 7650 7580 -0.9% 1.01x(?)
Integrate 361 359 -0.6% 1.01x(?)
Histogram 13916 13711 -1.5% 1.01x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7440 7353 -1.2% 1.01x(?)
DictionarySwapOfObjects 25654 25452 -0.8% 1.01x(?)
StringWithCString 201705 199420 -1.1% 1.01x(?)
DictionarySwap 11073 11005 -0.6% 1.01x(?)
Dictionary3OfObjects 2683 2648 -1.3% 1.01x
ObjectiveCBridgeStubToNSDate 13864 13672 -1.4% 1.01x(?)
StringInterpolation 16407 16211 -1.2% 1.01x(?)
ProtocolDispatch 5622 5546 -1.4% 1.01x(?)
ObjectiveCBridgeFromNSSetAnyObject 117597 116769 -0.7% 1.01x(?)
Dictionary3 2092 2063 -1.4% 1.01x(?)
SetIntersect_OfObjects 19313 19149 -0.8% 1.01x(?)
ObjectiveCBridgeStubDateMutation 514 509 -1.0% 1.01x(?)
StringEqualPointerComparison 9688 9582 -1.1% 1.01x(?)
PolymorphicCalls 1182 1169 -1.1% 1.01x
SortStringsUnicode 10377 10252 -1.2% 1.01x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 143338 141376 -1.4% 1.01x(?)
SetIsSubsetOf 3049 3005 -1.4% 1.01x(?)
Dictionary 2805 2776 -1.0% 1.01x(?)
ObjectiveCBridgeStubToArrayOfNSString 31130 30720 -1.3% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObject 69851 69116 -1.1% 1.01x
SetIntersect 19289 19150 -0.7% 1.01x(?)
ObjectiveCBridgeStubDataAppend 3300 3276 -0.7% 1.01x(?)
HashTest 5456 5410 -0.8% 1.01x(?)
SetIsSubsetOf_OfObjects 2874 2849 -0.9% 1.01x(?)
StringHasPrefixUnicode 17227 17079 -0.9% 1.01x
DeadArray 129515 128217 -1.0% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 175987 174443 -0.9% 1.01x(?)
ArrayValueProp 2231 2211 -0.9% 1.01x(?)
ArraySubscript 5441 5435 -0.1% 1.00x(?)
ObjectiveCBridgeToNSString 1097 1097 +0.0% 1.00x
MonteCarloPi 50532 50522 -0.0% 1.00x(?)
StackPromo 131361 131104 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 230978 230629 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 171351 171427 +0.0% 1.00x(?)
ClassArrayGetter 1292 1292 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDateRef 4089 4083 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSStringForced 2656 2663 +0.3% 1.00x(?)
SortLettersInPlace 2560 2550 -0.4% 1.00x(?)
RangeAssignment 23477 23520 +0.2% 1.00x(?)
ByteSwap 10 10 +0.0% 1.00x
SuperChars 510913 509958 -0.2% 1.00x(?)
XorLoop 18540 18538 -0.0% 1.00x(?)
ObjectiveCBridgeStubToNSString 1322 1316 -0.5% 1.00x(?)
ProtocolDispatch2 440 438 -0.5% 1.00x
Walsh 12158 12124 -0.3% 1.00x(?)
Dictionary2 5183 5206 +0.4% 1.00x(?)
ObjectiveCBridgeToNSArray 31961 31940 -0.1% 1.00x(?)
ObjectiveCBridgeStubToNSDateRef 3165 3178 +0.4% 1.00x(?)
PopFrontArrayGeneric 9478 9462 -0.2% 1.00x(?)
CaptureProp 114957 115431 +0.4% 1.00x(?)
ObjectiveCBridgeStubToNSStringRef 160 160 +0.0% 1.00x
MapReduce 44282 44261 -0.1% 1.00x(?)
Hanoi 19685 19732 +0.2% 1.00x(?)
OpenClose 471 471 +0.0% 1.00x
DictionaryRemoveOfObjects 60962 61237 +0.5% 1.00x(?)
UTF8Decode 42574 42505 -0.2% 1.00x
ObjectiveCBridgeStubURLAppendPath 199129 199943 +0.4% 1.00x(?)
NopDeinit 60711 60432 -0.5% 1.00x(?)
SetExclusiveOr 45786 45994 +0.5% 1.00x
ObjectiveCBridgeFromNSSetAnyObjectToString 169461 169521 +0.0% 1.00x(?)
ObjectiveCBridgeStubNSDateRefAccess 1243 1245 +0.2% 1.00x(?)
StrToInt 5578 5583 +0.1% 1.00x(?)
ObjectiveCBridgeStubDateAccess 1091 1093 +0.2% 1.00x(?)
Sim2DArray 13887 13912 +0.2% 1.00x
SetExclusiveOr_OfObjects 65063 65047 -0.0% 1.00x(?)
SetUnion_OfObjects 49315 49231 -0.2% 1.00x(?)
StringHasSuffixUnicode 67052 67119 +0.1% 1.00x(?)
DictionaryRemove 31337 31384 +0.1% 1.00x(?)
LinkedList 26050 25990 -0.2% 1.00x(?)
ObjectiveCBridgeStubNSDataAppend 5221 5221 +0.0% 1.00x
BitCount 98 98 +0.0% 1.00x
GlobalClass 0 0 +0.0% 1.00x
Memset 19530 19518 -0.1% 1.00x(?)
Dictionary2OfObjects 6993 7019 +0.4% 1.00x(?)
ArrayValueProp4 2727 2727 +0.0% 1.00x
ArrayValueProp2 2775 2779 +0.1% 1.00x(?)
ArrayValueProp3 2753 2744 -0.3% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 254089 256776 +1.1% 0.99x(?)
Prims 14508 14618 +0.8% 0.99x(?)
TypeFlood 167 169 +1.2% 0.99x
Join 1461 1469 +0.6% 0.99x
Calculator 997 1003 +0.6% 0.99x(?)
ArrayAppend 3592 3626 +0.9% 0.99x(?)
ArrayOfPOD 2483 2509 +1.1% 0.99x(?)
ArrayLiteral 1081 1092 +1.0% 0.99x
DictionaryBridge 3816 3902 +2.2% 0.98x(?)
ErrorHandling 3796 3867 +1.9% 0.98x(?)
StringHasSuffix 1590 1620 +1.9% 0.98x
ObjectiveCBridgeFromNSArrayAnyObjectForced 7212 7424 +2.9% 0.97x(?)
ArrayOfGenericRef 9667 10008 +3.5% 0.97x(?)
Phonebook 61584 63288 +2.8% 0.97x
NSStringConversion 2699 2778 +2.9% 0.97x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7448 7720 +3.6% 0.96x(?)
**Hardware Overview** Model Name: Mac mini Model Identifier: Macmini7,1 Processor Name: Intel Core i7 Processor Speed: 3 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 4 MB Memory: 16 GB

@moiseev
Copy link
Contributor Author

moiseev commented Jul 14, 2016

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (1)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StringHasSuffix 748 814 +8.8% 0.92x

Improvement (1)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
DictionaryLiteral 4780 4502 -5.8% 1.06x

No Changes (132)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 142069 135082 -4.9% 1.05x
NSDictionaryCastToSwift 13415 12831 -4.3% 1.05x
StrToInt 5127 4905 -4.3% 1.05x(?)
StringHasPrefix 639 613 -4.1% 1.04x
Walsh 337 323 -4.2% 1.04x
OpenClose 52 50 -3.9% 1.04x
TwoSum 1942 1861 -4.2% 1.04x
ObjectiveCBridgeStubFromArrayOfNSString 112073 108743 -3.0% 1.03x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 246969 241464 -2.2% 1.02x(?)
DictionaryBridge 3953 3893 -1.5% 1.02x(?)
Integrate 238 233 -2.1% 1.02x(?)
ObjectiveCBridgeStubFromNSString 680 668 -1.8% 1.02x
ObjectAllocation 148 145 -2.0% 1.02x(?)
AngryPhonebook 2899 2856 -1.5% 1.02x(?)
StrComplexWalk 2997 2944 -1.8% 1.02x(?)
ObjectiveCBridgeToNSSet 16261 15982 -1.7% 1.02x(?)
PolymorphicCalls 61 60 -1.6% 1.02x
ObjectiveCBridgeFromNSString 1618 1593 -1.6% 1.02x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 118491 116099 -2.0% 1.02x(?)
RGBHistogram 3088 3038 -1.6% 1.02x(?)
ObjectiveCBridgeStubFromNSDate 3418 3347 -2.1% 1.02x(?)
ObjectiveCBridgeFromNSStringForced 2276 2259 -0.8% 1.01x
DictionarySwap 769 758 -1.4% 1.01x
RangeAssignment 313 311 -0.6% 1.01x(?)
XorLoop 364 359 -1.4% 1.01x
StringInterpolation 11616 11535 -0.7% 1.01x(?)
Join 443 439 -0.9% 1.01x(?)
StaticArray 2844 2803 -1.4% 1.01x(?)
ProtocolDispatch2 159 158 -0.6% 1.01x
ArrayOfRef 3480 3461 -0.6% 1.01x(?)
ObjectiveCBridgeToNSArray 31852 31646 -0.7% 1.01x(?)
PopFrontArrayGeneric 1123 1116 -0.6% 1.01x(?)
MapReduce 368 365 -0.8% 1.01x(?)
UTF8Decode 307 305 -0.7% 1.01x(?)
SortStringsUnicode 9269 9213 -0.6% 1.01x(?)
NopDeinit 35454 35157 -0.8% 1.01x(?)
StringBuilder 1517 1506 -0.7% 1.01x
SetUnion_OfObjects 7049 6987 -0.9% 1.01x(?)
DictionaryRemove 5041 5000 -0.8% 1.01x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 161405 160341 -0.7% 1.01x(?)
NSStringConversion 592 588 -0.7% 1.01x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4114 4071 -1.1% 1.01x(?)
ArrayAppendReserved 516 510 -1.2% 1.01x(?)
SetUnion 3256 3235 -0.6% 1.01x
Chars 632 626 -0.9% 1.01x(?)
ObjectiveCBridgeStubNSDateMutationRef 12137 12012 -1.0% 1.01x(?)
ArraySubscript 1338 1341 +0.2% 1.00x(?)
ObjectiveCBridgeToNSString 1044 1044 +0.0% 1.00x
StackPromo 18887 18977 +0.5% 1.00x(?)
PopFrontArray 1119 1120 +0.1% 1.00x(?)
ClassArrayGetter 12 12 +0.0% 1.00x
Array2D 2045 2039 -0.3% 1.00x(?)
SortStrings 1781 1778 -0.2% 1.00x(?)
MonteCarloPi 42630 42652 +0.1% 1.00x(?)
StringWithCString 180696 180415 -0.2% 1.00x(?)
Prims 752 754 +0.3% 1.00x(?)
SortLettersInPlace 949 951 +0.2% 1.00x(?)
Dictionary3OfObjects 878 877 -0.1% 1.00x(?)
ByteSwap 1 1 +0.0% 1.00x
SuperChars 345672 345781 +0.0% 1.00x(?)
ObjectiveCBridgeStubFromNSStringRef 137 137 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
SetIntersect_OfObjects 2359 2352 -0.3% 1.00x
ErrorHandling 2972 2968 -0.1% 1.00x(?)
ObjectiveCBridgeStubDateMutation 266 265 -0.4% 1.00x
NSError 322 322 +0.0% 1.00x
DictionaryOfObjects 2205 2215 +0.5% 1.00x(?)
CaptureProp 4118 4103 -0.4% 1.00x(?)
Hanoi 3342 3358 +0.5% 1.00x
ArrayOfGenericPOD 208 207 -0.5% 1.00x
ObjectiveCBridgeStubURLAppendPath 199068 198266 -0.4% 1.00x(?)
SetIsSubsetOf 486 487 +0.2% 1.00x
ObjectiveCBridgeStubToArrayOfNSString 30826 30877 +0.2% 1.00x(?)
SetIntersect 1132 1133 +0.1% 1.00x(?)
ObjectiveCBridgeStubDataAppend 2907 2909 +0.1% 1.00x(?)
SetExclusiveOr 3712 3723 +0.3% 1.00x(?)
ArrayInClass 86 86 +0.0% 1.00x
SetExclusiveOr_OfObjects 8363 8360 -0.0% 1.00x(?)
MonteCarloE 9914 9884 -0.3% 1.00x
SetIsSubsetOf_OfObjects 613 613 +0.0% 1.00x
LinkedList 6863 6850 -0.2% 1.00x
DeadArray 178 178 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2334 2324 -0.4% 1.00x(?)
BitCount 1 1 +0.0% 1.00x
ArrayLiteral 1001 997 -0.4% 1.00x(?)
SevenBoom 1312 1318 +0.5% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 172553 173259 +0.4% 1.00x(?)
StringWalk 5520 5528 +0.1% 1.00x(?)
ArrayValueProp 5 5 +0.0% 1.00x
GlobalClass 0 0 +0.0% 1.00x
Memset 222 222 +0.0% 1.00x
ArrayValueProp4 5 5 +0.0% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
ArrayValueProp3 5 5 +0.0% 1.00x
DictionarySwapOfObjects 6579 6660 +1.2% 0.99x
RecursiveOwnedParameter 1837 1863 +1.4% 0.99x(?)
ObjectiveCBridgeStubToNSString 1227 1242 +1.2% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 217647 219439 +0.8% 0.99x(?)
Histogram 652 658 +0.9% 0.99x
ObjectiveCBridgeStubFromNSDateRef 3594 3643 +1.4% 0.99x(?)
133 3110876 3131207 +0.7% 0.99x
ProtocolDispatch 2999 3025 +0.9% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObject 112741 113608 +0.8% 0.99x(?)
ObjectiveCBridgeStubToNSDateRef 3259 3300 +1.3% 0.99x(?)
StringEqualPointerComparison 7276 7354 +1.1% 0.99x(?)
Phonebook 7304 7365 +0.8% 0.99x
ObjectiveCBridgeStubDateAccess 179 180 +0.6% 0.99x(?)
Sim2DArray 381 383 +0.5% 0.99x(?)
ObjectiveCBridgeToNSDictionary 16308 16508 +1.2% 0.99x(?)
RC4 252 254 +0.8% 0.99x(?)
HashTest 2005 2020 +0.8% 0.99x(?)
ArrayAppend 733 740 +0.9% 0.99x
ArrayOfPOD 171 172 +0.6% 0.99x
ObjectiveCBridgeFromNSArrayAnyObjectToString 166156 168813 +1.6% 0.98x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4616 4701 +1.8% 0.98x(?)
StringHasSuffixUnicode 64118 65220 +1.7% 0.98x
Dictionary2 1909 1953 +2.3% 0.98x
ObjectiveCBridgeStubURLAppendPathRef 209206 212418 +1.5% 0.98x(?)
PopFrontUnsafePointer 8702 8897 +2.2% 0.98x(?)
DictionaryRemoveOfObjects 19681 20003 +1.6% 0.98x(?)
RGBHistogramOfObjects 21643 22169 +2.4% 0.98x
ObjectiveCBridgeStubNSDateRefAccess 332 338 +1.8% 0.98x
ArrayOfGenericRef 3505 3587 +2.3% 0.98x
StringHasPrefixUnicode 15075 15441 +2.4% 0.98x
Dictionary2OfObjects 3340 3395 +1.6% 0.98x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3686 3803 +3.2% 0.97x
ObjectiveCBridgeStubToNSDate 13376 13772 +3.0% 0.97x(?)
Dictionary3 536 550 +2.6% 0.97x
ObjectiveCBridgeStubToNSStringRef 116 119 +2.6% 0.97x(?)
Calculator 33 34 +3.0% 0.97x
Dictionary 736 755 +2.6% 0.97x(?)
ObjectiveCBridgeFromNSArrayAnyObject 63838 66086 +3.5% 0.97x
**Unoptimized (Onone)**

Regression (3)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
MonteCarloE 106030 116057 +9.5% 0.91x
Chars 5404 5742 +6.2% 0.94x
StringWalk 22594 24148 +6.9% 0.94x

Improvement (2)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
NSDictionaryCastToSwift 14706 13734 -6.6% 1.07x
PopFrontUnsafePointer 255966 237607 -7.2% 1.08x

No Changes (129)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
DictionaryLiteral 25273 23967 -5.2% 1.05x
ArrayOfGenericPOD 3560 3438 -3.4% 1.04x
ObjectiveCBridgeStubFromNSString 738 713 -3.4% 1.04x(?)
ObjectAllocation 554 534 -3.6% 1.04x
TypeFlood 153 147 -3.9% 1.04x(?)
Dictionary3 2109 2036 -3.5% 1.04x
Array2D 819174 798563 -2.5% 1.03x
Histogram 14089 13738 -2.5% 1.03x(?)
SortStrings 2595 2525 -2.7% 1.03x
StringWithCString 201727 196601 -2.5% 1.03x
StringHasPrefix 1600 1550 -3.1% 1.03x
StrComplexWalk 8115 7881 -2.9% 1.03x
ObjectiveCBridgeStubURLAppendPathRef 214539 208727 -2.7% 1.03x
RC4 8699 8481 -2.5% 1.03x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 149487 144783 -3.1% 1.03x
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 127831 123667 -3.3% 1.03x(?)
StringBuilder 2962 2876 -2.9% 1.03x(?)
ObjectiveCBridgeStubFromNSDate 3872 3745 -3.3% 1.03x
ObjectiveCBridgeFromNSDictionaryAnyObject 258188 253842 -1.7% 1.02x
ProtocolDispatch2 440 432 -1.8% 1.02x(?)
NSError 678 665 -1.9% 1.02x(?)
SetIsSubsetOf 3018 2964 -1.8% 1.02x
ObjectiveCBridgeFromNSArrayAnyObject 69505 68148 -1.9% 1.02x
SetUnion_OfObjects 50068 49136 -1.9% 1.02x(?)
StringHasSuffixUnicode 66953 65685 -1.9% 1.02x(?)
StringHasPrefixUnicode 17366 17094 -1.6% 1.02x
133 5977030 5870525 -1.8% 1.02x
TwoSum 9484 9315 -1.8% 1.02x(?)
RecursiveOwnedParameter 7734 7640 -1.2% 1.01x
ObjectiveCBridgeFromNSStringForced 2701 2667 -1.3% 1.01x
Prims 14715 14550 -1.1% 1.01x(?)
DictionarySwap 11024 10933 -0.8% 1.01x(?)
SuperChars 512865 509122 -0.7% 1.01x
ObjectiveCBridgeStubToNSDate 13400 13261 -1.0% 1.01x(?)
Integrate 360 357 -0.8% 1.01x
ProtocolDispatch 5547 5480 -1.2% 1.01x(?)
AngryPhonebook 3670 3624 -1.2% 1.01x
ErrorHandling 3834 3778 -1.5% 1.01x(?)
ObjectiveCBridgeStubDateMutation 514 509 -1.0% 1.01x(?)
StringEqualPointerComparison 9827 9774 -0.5% 1.01x
PolymorphicCalls 1176 1160 -1.4% 1.01x(?)
DictionaryRemoveOfObjects 61257 60917 -0.6% 1.01x(?)
NopDeinit 60677 60308 -0.6% 1.01x(?)
ObjectiveCBridgeStubToArrayOfNSString 30743 30405 -1.1% 1.01x(?)
SetIntersect 19210 19039 -0.9% 1.01x(?)
ObjectiveCBridgeStubDataAppend 3260 3241 -0.6% 1.01x(?)
SetIsSubsetOf_OfObjects 2867 2840 -0.9% 1.01x(?)
LinkedList 26176 25999 -0.7% 1.01x(?)
DeadArray 130819 130047 -0.6% 1.01x(?)
BitCount 99 98 -1.0% 1.01x
SevenBoom 1464 1454 -0.7% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 171196 169323 -1.1% 1.01x
ArrayValueProp 2244 2215 -1.3% 1.01x(?)
Dictionary2OfObjects 7046 6996 -0.7% 1.01x
ArraySubscript 5457 5453 -0.1% 1.00x(?)
ObjectiveCBridgeToNSString 1091 1094 +0.3% 1.00x(?)
DictionarySwapOfObjects 25356 25312 -0.2% 1.00x(?)
ObjectiveCBridgeStubToNSString 1316 1316 +0.0% 1.00x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 223683 223221 -0.2% 1.00x(?)
ClassArrayGetter 1292 1292 +0.0% 1.00x
DictionaryBridge 3829 3841 +0.3% 1.00x(?)
ObjectiveCBridgeStubFromNSDateRef 4081 4072 -0.2% 1.00x(?)
MonteCarloPi 50521 50518 -0.0% 1.00x(?)
Dictionary3OfObjects 2654 2648 -0.2% 1.00x(?)
RangeAssignment 23526 23534 +0.0% 1.00x(?)
ByteSwap 10 10 +0.0% 1.00x
XorLoop 18548 18547 -0.0% 1.00x(?)
Join 1483 1483 +0.0% 1.00x
ObjectiveCBridgeStubFromNSStringRef 168 168 +0.0% 1.00x
HashTest 5373 5389 +0.3% 1.00x(?)
SetIntersect_OfObjects 19025 19066 +0.2% 1.00x(?)
ArrayOfRef 9036 9078 +0.5% 1.00x
ObjectiveCBridgeToNSArray 31852 31746 -0.3% 1.00x(?)
DictionaryOfObjects 5655 5655 +0.0% 1.00x
ObjectiveCBridgeStubToNSDateRef 3207 3223 +0.5% 1.00x(?)
PopFrontArrayGeneric 9480 9455 -0.3% 1.00x(?)
CaptureProp 114171 114167 -0.0% 1.00x(?)
Calculator 997 993 -0.4% 1.00x(?)
MapReduce 44150 44228 +0.2% 1.00x(?)
OpenClose 467 469 +0.4% 1.00x(?)
UTF8Decode 42506 42512 +0.0% 1.00x(?)
Dictionary 2800 2802 +0.1% 1.00x(?)
SetExclusiveOr 45537 45591 +0.1% 1.00x(?)
RGBHistogramOfObjects 102222 101766 -0.5% 1.00x(?)
ArrayOfGenericRef 9680 9726 +0.5% 1.00x(?)
Phonebook 62499 62773 +0.4% 1.00x(?)
ObjectiveCBridgeStubDateAccess 1090 1091 +0.1% 1.00x(?)
SetExclusiveOr_OfObjects 65070 64983 -0.1% 1.00x(?)
ObjectiveCBridgeToNSDictionary 16129 16059 -0.4% 1.00x(?)
Walsh 12123 12110 -0.1% 1.00x
ArrayAppend 3592 3586 -0.2% 1.00x(?)
DictionaryRemove 31370 31323 -0.1% 1.00x(?)
NSStringConversion 2692 2691 -0.0% 1.00x(?)
RGBHistogram 50763 50976 +0.4% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7512 7543 +0.4% 1.00x(?)
SetUnion 31645 31650 +0.0% 1.00x(?)
ObjectiveCBridgeStubNSDataAppend 5214 5200 -0.3% 1.00x(?)
ArrayLiteral 1083 1080 -0.3% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Memset 19511 19503 -0.0% 1.00x(?)
ArrayAppendReserved 3404 3412 +0.2% 1.00x(?)
ArrayValueProp2 2753 2740 -0.5% 1.00x(?)
ArrayValueProp3 2738 2745 +0.3% 1.00x(?)
StackPromo 127846 128965 +0.9% 0.99x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7107 7209 +1.4% 0.99x(?)
SortLettersInPlace 2521 2534 +0.5% 0.99x(?)
StaticArray 27338 27741 +1.5% 0.99x(?)
Dictionary2 5158 5199 +0.8% 0.99x(?)
ObjectiveCBridgeToNSSet 16265 16469 +1.2% 0.99x(?)
ObjectiveCBridgeStubToNSStringRef 159 160 +0.6% 0.99x(?)
ObjectiveCBridgeStubURLAppendPath 201511 203448 +1.0% 0.99x(?)
SortStringsUnicode 10258 10407 +1.4% 0.99x(?)
ObjectiveCBridgeStubNSDateRefAccess 1237 1247 +0.8% 0.99x(?)
ArrayInClass 3711 3748 +1.0% 0.99x(?)
ObjectiveCBridgeFromNSString 4774 4802 +0.6% 0.99x(?)
Sim2DArray 13830 13901 +0.5% 0.99x(?)
ObjectiveCBridgeStubNSDateMutationRef 13998 14110 +0.8% 0.99x(?)
ArrayValueProp4 2743 2758 +0.6% 0.99x(?)
PopFrontArray 24256 24716 +1.9% 0.98x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 171293 174487 +1.9% 0.98x(?)
StringInterpolation 15948 16225 +1.7% 0.98x(?)
ObjectiveCBridgeFromNSSetAnyObject 115547 117589 +1.8% 0.98x(?)
Hanoi 19400 19698 +1.5% 0.98x
StrToInt 5577 5683 +1.9% 0.98x
ArrayOfPOD 2451 2510 +2.4% 0.98x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7275 7500 +3.1% 0.97x
ObjectiveCBridgeFromNSSetAnyObjectToString 167524 173438 +3.5% 0.97x(?)
ObjectiveCBridgeStubFromArrayOfNSString 110824 114429 +3.2% 0.97x(?)
StringHasSuffix 1583 1624 +2.6% 0.97x
**Hardware Overview** Model Name: Mac mini Model Identifier: Macmini7,1 Processor Name: Intel Core i7 Processor Speed: 3 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 4 MB Memory: 16 GB

@moiseev
Copy link
Contributor Author

moiseev commented Jul 14, 2016

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (2)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
DictionaryLiteral 4356 4696 +7.8% 0.93x
NSDictionaryCastToSwift 13059 13912 +6.5% 0.94x

Improvement (1)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ClassArrayGetter 13 12 -7.7% 1.08x(?)

No Changes (131)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
NSStringConversion 635 602 -5.2% 1.05x
ObjectiveCBridgeStubFromNSString 696 669 -3.9% 1.04x
DictionaryBridge 3966 3861 -2.6% 1.03x(?)
ObjectiveCBridgeFromNSArrayAnyObject 67643 66393 -1.9% 1.02x(?)
SetUnion 3483 3420 -1.8% 1.02x
133 3169867 3120601 -1.6% 1.02x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 169176 165900 -1.9% 1.02x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4749 4698 -1.1% 1.01x
ObjectiveCBridgeFromNSArrayAnyObjectForced 3826 3799 -0.7% 1.01x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 252815 250210 -1.0% 1.01x
ObjectiveCBridgeFromNSSetAnyObject 113296 112371 -0.8% 1.01x(?)
ArrayLiteral 1031 1022 -0.9% 1.01x
ObjectiveCBridgeStubURLAppendPathRef 212227 209739 -1.2% 1.01x
ObjectiveCBridgeToNSSet 16160 16005 -1.0% 1.01x(?)
ObjectiveCBridgeToNSArray 32392 32138 -0.8% 1.01x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 135609 134754 -0.6% 1.01x(?)
ObjectiveCBridgeStubToArrayOfNSString 31545 31256 -0.9% 1.01x(?)
DeadArray 185 184 -0.5% 1.01x
ArraySubscript 1417 1411 -0.4% 1.00x(?)
ObjectiveCBridgeToNSString 1070 1072 +0.2% 1.00x
DictionarySwapOfObjects 6921 6921 +0.0% 1.00x
StackPromo 19864 19949 +0.4% 1.00x
PopFrontArray 1152 1152 +0.0% 1.00x
RecursiveOwnedParameter 1938 1936 -0.1% 1.00x(?)
ObjectiveCBridgeStubToNSString 1299 1301 +0.1% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 166853 167675 +0.5% 1.00x(?)
Array2D 1985 1980 -0.2% 1.00x(?)
Histogram 681 681 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDateRef 3624 3632 +0.2% 1.00x
MonteCarloPi 45004 45003 -0.0% 1.00x(?)
StringWithCString 192101 192069 -0.0% 1.00x(?)
ObjectiveCBridgeFromNSStringForced 2270 2263 -0.3% 1.00x(?)
Prims 783 785 +0.3% 1.00x(?)
SortLettersInPlace 994 994 +0.0% 1.00x
DictionarySwap 782 782 +0.0% 1.00x
ObjectiveCBridgeFromNSString 1601 1596 -0.3% 1.00x
ArrayOfGenericPOD 220 220 +0.0% 1.00x
Dictionary3OfObjects 908 907 -0.1% 1.00x(?)
RangeAssignment 311 312 +0.3% 1.00x(?)
StringHasPrefix 671 670 -0.1% 1.00x
ByteSwap 1 1 +0.0% 1.00x
SuperChars 365629 365404 -0.1% 1.00x
XorLoop 381 381 +0.0% 1.00x
Integrate 238 238 +0.0% 1.00x
ObjectiveCBridgeStubFromNSStringRef 135 135 +0.0% 1.00x
ProtocolDispatch 3041 3040 -0.0% 1.00x(?)
ObjectAllocation 149 149 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
ProtocolDispatch2 159 159 +0.0% 1.00x
Walsh 342 343 +0.3% 1.00x
Dictionary3 551 551 +0.0% 1.00x
StrComplexWalk 3110 3108 -0.1% 1.00x(?)
SetIntersect_OfObjects 2495 2494 -0.0% 1.00x(?)
ErrorHandling 3041 3031 -0.3% 1.00x(?)
ObjectiveCBridgeStubDateMutation 273 273 +0.0% 1.00x
NSError 338 337 -0.3% 1.00x
DictionaryOfObjects 2280 2281 +0.0% 1.00x(?)
ObjectiveCBridgeStubToNSDateRef 3446 3448 +0.1% 1.00x(?)
PopFrontArrayGeneric 1153 1151 -0.2% 1.00x(?)
PopFrontUnsafePointer 9502 9509 +0.1% 1.00x(?)
CaptureProp 4261 4262 +0.0% 1.00x(?)
PolymorphicCalls 63 63 +0.0% 1.00x
RC4 265 266 +0.4% 1.00x
ObjectiveCBridgeStubToNSStringRef 123 123 +0.0% 1.00x
MapReduce 374 374 +0.0% 1.00x
Hanoi 3308 3306 -0.1% 1.00x(?)
OpenClose 54 54 +0.0% 1.00x
DictionaryRemoveOfObjects 20691 20699 +0.0% 1.00x(?)
UTF8Decode 319 319 +0.0% 1.00x
SetIsSubsetOf 517 516 -0.2% 1.00x
Dictionary 745 748 +0.4% 1.00x
NopDeinit 36653 36667 +0.0% 1.00x(?)
SetIntersect 1207 1205 -0.2% 1.00x(?)
ObjectiveCBridgeStubDataAppend 2948 2938 -0.3% 1.00x(?)
SetExclusiveOr 3897 3910 +0.3% 1.00x(?)
ObjectiveCBridgeStubNSDateRefAccess 339 338 -0.3% 1.00x
StringHasSuffix 746 745 -0.1% 1.00x(?)
Phonebook 7396 7425 +0.4% 1.00x
ObjectiveCBridgeStubDateAccess 182 182 +0.0% 1.00x
Sim2DArray 436 435 -0.2% 1.00x
SetExclusiveOr_OfObjects 8677 8718 +0.5% 1.00x(?)
MonteCarloE 10552 10558 +0.1% 1.00x(?)
SetUnion_OfObjects 7354 7352 -0.0% 1.00x(?)
StringHasSuffixUnicode 65515 65320 -0.3% 1.00x(?)
HashTest 2076 2073 -0.1% 1.00x(?)
SetIsSubsetOf_OfObjects 649 649 +0.0% 1.00x
ArrayAppend 770 768 -0.3% 1.00x(?)
LinkedList 7251 7252 +0.0% 1.00x(?)
RGBHistogramOfObjects 22819 22912 +0.4% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4132 4138 +0.1% 1.00x(?)
ArrayValueProp4 6 6 +0.0% 1.00x
ArrayOfPOD 182 182 +0.0% 1.00x
StringBuilder 1593 1595 +0.1% 1.00x(?)
ArrayValueProp2 6 6 +0.0% 1.00x
BitCount 1 1 +0.0% 1.00x
AngryPhonebook 2881 2883 +0.1% 1.00x(?)
SevenBoom 1365 1360 -0.4% 1.00x(?)
StringWalk 5840 5850 +0.2% 1.00x(?)
ArrayValueProp 6 6 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 113243 112959 -0.2% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Memset 236 236 +0.0% 1.00x
Dictionary2OfObjects 3409 3415 +0.2% 1.00x(?)
ArrayAppendReserved 536 536 +0.0% 1.00x
ObjectiveCBridgeStubNSDataAppend 2341 2346 +0.2% 1.00x(?)
ArrayValueProp3 6 6 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDate 3473 3458 -0.4% 1.00x(?)
SortStrings 1813 1828 +0.8% 0.99x
StringInterpolation 11544 11612 +0.6% 0.99x(?)
Join 465 470 +1.1% 0.99x
Dictionary2 1938 1950 +0.6% 0.99x
ArrayOfRef 3544 3578 +1.0% 0.99x
StringEqualPointerComparison 7271 7372 +1.4% 0.99x
StrToInt 5055 5109 +1.1% 0.99x
ArrayInClass 85 86 +1.2% 0.99x(?)
ObjectiveCBridgeToNSDictionary 16336 16428 +0.6% 0.99x(?)
DictionaryRemove 5070 5102 +0.6% 0.99x(?)
StringHasPrefixUnicode 15712 15936 +1.4% 0.99x
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 116993 118073 +0.9% 0.99x(?)
RGBHistogram 3167 3206 +1.2% 0.99x(?)
Chars 639 644 +0.8% 0.99x
TwoSum 1960 1977 +0.9% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 209773 214111 +2.1% 0.98x(?)
ObjectiveCBridgeStubURLAppendPath 198266 202627 +2.2% 0.98x(?)
SortStringsUnicode 9272 9436 +1.8% 0.98x
ObjectiveCBridgeFromNSSetAnyObjectToString 158518 161150 +1.7% 0.98x(?)
ArrayOfGenericRef 3615 3671 +1.6% 0.98x
ObjectiveCBridgeStubNSDateMutationRef 12266 12501 +1.9% 0.98x(?)
StaticArray 2795 2881 +3.1% 0.97x(?)
ObjectiveCBridgeStubToNSDate 13338 14009 +5.0% 0.95x
Calculator 35 37 +5.7% 0.95x
**Unoptimized (Onone)**

Regression (1)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
PopFrontUnsafePointer 242879 258553 +6.5% 0.94x

Improvement (2)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
OpenClose 479 450 -6.0% 1.06x
StringHasSuffix 1669 1553 -7.0% 1.07x

No Changes (131)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StringHasPrefix 1642 1581 -3.7% 1.04x
ObjectiveCBridgeFromNSArrayAnyObjectToString 172728 167366 -3.1% 1.03x(?)
DictionaryBridge 4136 4018 -2.9% 1.03x
ObjectiveCBridgeStubFromNSString 737 718 -2.6% 1.03x
SetExclusiveOr 49861 48273 -3.2% 1.03x(?)
StringBuilder 2989 2910 -2.6% 1.03x(?)
StringWalk 28589 27803 -2.8% 1.03x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7436 7276 -2.1% 1.02x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7340 7227 -1.5% 1.02x(?)
ObjectiveCBridgeFromNSStringForced 2733 2679 -2.0% 1.02x
DictionarySwap 11712 11529 -1.6% 1.02x(?)
ObjectiveCBridgeStubToArrayOfNSString 31870 31259 -1.9% 1.02x
SortLettersInPlace 2650 2617 -1.2% 1.01x
Dictionary3 2168 2151 -0.8% 1.01x(?)
Dictionary2 5340 5312 -0.5% 1.01x(?)
PopFrontArrayGeneric 9778 9663 -1.2% 1.01x
ObjectiveCBridgeFromNSArrayAnyObject 70726 70330 -0.6% 1.01x(?)
ObjectiveCBridgeStubDataAppend 3343 3312 -0.9% 1.01x(?)
ObjectiveCBridgeStubNSDataAppend 5386 5327 -1.1% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 167958 166903 -0.6% 1.01x(?)
ObjectiveCBridgeStubFromArrayOfNSString 112322 110898 -1.3% 1.01x(?)
ArraySubscript 5762 5783 +0.4% 1.00x(?)
ObjectiveCBridgeToNSString 1118 1119 +0.1% 1.00x(?)
DictionarySwapOfObjects 26628 26537 -0.3% 1.00x(?)
PopFrontArray 24993 24906 -0.3% 1.00x(?)
RecursiveOwnedParameter 8013 8025 +0.1% 1.00x(?)
Integrate 361 361 +0.0% 1.00x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 224706 225686 +0.4% 1.00x(?)
Array2D 845200 844967 -0.0% 1.00x(?)
Histogram 14499 14529 +0.2% 1.00x(?)
ObjectiveCBridgeStubFromNSDateRef 4096 4099 +0.1% 1.00x(?)
MonteCarloPi 53527 53511 -0.0% 1.00x(?)
StringWithCString 208146 208475 +0.2% 1.00x(?)
Prims 15220 15168 -0.3% 1.00x
Dictionary3OfObjects 2809 2810 +0.0% 1.00x(?)
RangeAssignment 24088 24124 +0.1% 1.00x(?)
ByteSwap 10 10 +0.0% 1.00x
SuperChars 540141 540529 +0.1% 1.00x(?)
XorLoop 19647 19648 +0.0% 1.00x(?)
StringInterpolation 16205 16252 +0.3% 1.00x(?)
ObjectiveCBridgeStubToNSString 1363 1358 -0.4% 1.00x
ErrorHandling 3910 3923 +0.3% 1.00x(?)
ProtocolDispatch 5472 5471 -0.0% 1.00x(?)
ObjectAllocation 561 560 -0.2% 1.00x(?)
AngryPhonebook 3782 3770 -0.3% 1.00x(?)
ProtocolDispatch2 445 445 +0.0% 1.00x
Walsh 12842 12838 -0.0% 1.00x(?)
Join 1538 1536 -0.1% 1.00x(?)
ArrayAppend 3681 3678 -0.1% 1.00x(?)
ObjectiveCBridgeStubDateMutation 456 456 +0.0% 1.00x
PolymorphicCalls 1156 1154 -0.2% 1.00x(?)
RC4 8982 8971 -0.1% 1.00x(?)
ObjectiveCBridgeStubToNSStringRef 164 164 +0.0% 1.00x
Calculator 927 930 +0.3% 1.00x
MapReduce 46745 46790 +0.1% 1.00x(?)
DictionaryLiteral 25270 25349 +0.3% 1.00x(?)
Hanoi 20079 20104 +0.1% 1.00x
DictionaryRemoveOfObjects 64597 64606 +0.0% 1.00x(?)
UTF8Decode 45009 45097 +0.2% 1.00x
SortStringsUnicode 10448 10426 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 141348 142054 +0.5% 1.00x(?)
Dictionary 2872 2866 -0.2% 1.00x(?)
NopDeinit 61292 61278 -0.0% 1.00x(?)
SetIntersect 20103 20129 +0.1% 1.00x(?)
ObjectiveCBridgeStubNSDateRefAccess 1230 1230 +0.0% 1.00x
StrToInt 5550 5543 -0.1% 1.00x(?)
ArrayInClass 3869 3867 -0.1% 1.00x
ObjectiveCBridgeFromNSString 4853 4837 -0.3% 1.00x(?)
ObjectiveCBridgeStubDateAccess 1096 1094 -0.2% 1.00x
Sim2DArray 14623 14615 -0.1% 1.00x(?)
SetExclusiveOr_OfObjects 68763 69047 +0.4% 1.00x(?)
ObjectiveCBridgeToNSDictionary 16135 16115 -0.1% 1.00x(?)
MonteCarloE 112255 112413 +0.1% 1.00x(?)
SetUnion_OfObjects 52169 52221 +0.1% 1.00x(?)
StringHasSuffixUnicode 66965 66955 -0.0% 1.00x(?)
HashTest 5658 5647 -0.2% 1.00x(?)
DictionaryRemove 32280 32285 +0.0% 1.00x(?)
LinkedList 27664 27602 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 126095 125688 -0.3% 1.00x(?)
RGBHistogramOfObjects 105065 104587 -0.5% 1.00x(?)
RGBHistogram 53517 53654 +0.3% 1.00x(?)
ArrayValueProp4 2744 2755 +0.4% 1.00x(?)
ArrayOfPOD 2372 2369 -0.1% 1.00x(?)
Chars 5347 5340 -0.1% 1.00x
BitCount 97 97 +0.0% 1.00x
ArrayLiteral 1115 1114 -0.1% 1.00x(?)
SevenBoom 1518 1518 +0.0% 1.00x
ArrayValueProp 2311 2301 -0.4% 1.00x
GlobalClass 0 0 +0.0% 1.00x
Memset 20667 20661 -0.0% 1.00x(?)
Dictionary2OfObjects 7226 7240 +0.2% 1.00x
ArrayAppendReserved 3424 3425 +0.0% 1.00x(?)
TwoSum 9894 9894 +0.0% 1.00x
ArrayValueProp2 2848 2845 -0.1% 1.00x(?)
ArrayValueProp3 2783 2776 -0.2% 1.00x(?)
ObjectiveCBridgeStubFromNSDate 3871 3871 +0.0% 1.00x
ClassArrayGetter 1332 1339 +0.5% 0.99x
SortStrings 2720 2742 +0.8% 0.99x
ObjectiveCBridgeStubToNSDate 14340 14414 +0.5% 0.99x(?)
ObjectiveCBridgeStubFromNSStringRef 174 175 +0.6% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObject 116906 118062 +1.0% 0.99x(?)
ArrayOfRef 9332 9386 +0.6% 0.99x(?)
NSError 685 689 +0.6% 0.99x(?)
DictionaryOfObjects 5746 5827 +1.4% 0.99x
ObjectiveCBridgeStubToNSDateRef 3271 3314 +1.3% 0.99x(?)
SetIsSubsetOf 3134 3156 +0.7% 0.99x(?)
ArrayOfGenericRef 9987 10042 +0.6% 0.99x(?)
SetIsSubsetOf_OfObjects 3000 3023 +0.8% 0.99x
StringHasPrefixUnicode 17135 17380 +1.4% 0.99x(?)
NSStringConversion 2720 2737 +0.6% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7593 7645 +0.7% 0.99x(?)
DeadArray 132333 133967 +1.2% 0.99x(?)
TypeFlood 170 174 +2.4% 0.98x(?)
SetIntersect_OfObjects 19986 20363 +1.9% 0.98x
ObjectiveCBridgeStubURLAppendPathRef 209516 213651 +2.0% 0.98x(?)
ObjectiveCBridgeToNSArray 31779 32380 +1.9% 0.98x(?)
StringEqualPointerComparison 9531 9712 +1.9% 0.98x
CaptureProp 116876 119684 +2.4% 0.98x
Phonebook 63176 64346 +1.9% 0.98x(?)
ObjectiveCBridgeToNSSet 16189 16561 +2.3% 0.98x(?)
SetUnion 33845 34532 +2.0% 0.98x(?)
133 5996900 6104477 +1.8% 0.98x
ObjectiveCBridgeFromNSDictionaryAnyObject 254981 261843 +2.7% 0.97x
StrComplexWalk 8164 8384 +2.7% 0.97x
ObjectiveCBridgeStubURLAppendPath 198303 204946 +3.4% 0.97x
StackPromo 130387 136342 +4.6% 0.96x(?)
StaticArray 27038 28081 +3.9% 0.96x(?)
ArrayOfGenericPOD 3437 3565 +3.7% 0.96x
ObjectiveCBridgeFromNSSetAnyObjectToString 168914 176487 +4.5% 0.96x(?)
NSDictionaryCastToSwift 14287 15043 +5.3% 0.95x(?)
ObjectiveCBridgeStubNSDateMutationRef 14143 14844 +5.0% 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: 8 GB

@moiseev moiseev merged commit 5868f9c into swiftlang:master Jul 15, 2016
@moiseev moiseev deleted the new-integer-protocols branch July 15, 2016 00:10
dabrahams pushed a commit that referenced this pull request Aug 8, 2016
dabrahams pushed a commit that referenced this pull request Aug 9, 2016
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.

2 participants