Skip to content

Add 1 more iteration of release hoisting #2414

New issue

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

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

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 6, 2016
Merged

Add 1 more iteration of release hoisting #2414

merged 1 commit into from
May 6, 2016

Conversation

trentxintong
Copy link
Contributor

No description provided.

@trentxintong
Copy link
Contributor Author

@swift-ci Please benchmark

@trentxintong
Copy link
Contributor Author

@swift-ci Please smoke test

@swift-ci
Copy link
Contributor

swift-ci commented May 6, 2016

Build comment file:

Optimized (O)

Regression (1)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
NSError 283 337 +19.1% 0.84x

Improvement (4)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeFromNSArrayAnyObjectToString 178095 167494 -6.0% 1.06x
SetIntersect 1476 1382 -6.4% 1.07x
120 2842500 2615396 -8.0% 1.09x
StringWithCString 384643 188358 -51.0% 2.04x

No Changes (116)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeToNSSet 17642 16803 -4.8% 1.05x(?)
DictionaryLiteral 3226 3080 -4.5% 1.05x
SortStringsUnicode 9637 9221 -4.3% 1.05x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 132519 126357 -4.7% 1.05x
DictionaryBridge 3801 3661 -3.7% 1.04x(?)
ObjectiveCBridgeToNSDictionary 17763 17094 -3.8% 1.04x(?)
StaticArray 2859 2764 -3.3% 1.03x(?)
Dictionary 786 761 -3.2% 1.03x
StringHasPrefixUnicode 16625 16089 -3.2% 1.03x
NSStringConversion 647 627 -3.1% 1.03x
ObjectiveCBridgeFromNSStringForced 2267 2226 -1.8% 1.02x
DictionarySwap 802 785 -2.1% 1.02x
ObjectiveCBridgeFromNSDictionaryAnyObject 200824 197784 -1.5% 1.02x(?)
PolymorphicCalls 63 62 -1.6% 1.02x
StrToInt 6106 5964 -2.3% 1.02x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 196347 194170 -1.1% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 3877 3841 -0.9% 1.01x
RangeAssignment 313 311 -0.6% 1.01x(?)
ObjectiveCBridgeStubFromNSStringRef 130 129 -0.8% 1.01x
ProtocolDispatch2 159 157 -1.3% 1.01x
ObjectiveCBridgeFromNSArrayAnyObject 68437 67846 -0.9% 1.01x(?)
DictionaryRemove 5182 5140 -0.8% 1.01x(?)
ObjectiveCBridgeStubFromArrayOfNSString 118796 117205 -1.3% 1.01x(?)
ArraySubscript 1396 1403 +0.5% 1.00x(?)
ObjectiveCBridgeToNSString 1071 1076 +0.5% 1.00x
DictionarySwapOfObjects 6927 6900 -0.4% 1.00x(?)
StackPromo 20094 20084 -0.1% 1.00x(?)
PopFrontArray 1108 1107 -0.1% 1.00x(?)
RecursiveOwnedParameter 1937 1940 +0.1% 1.00x
ObjectiveCBridgeStubToNSString 1301 1297 -0.3% 1.00x(?)
ClassArrayGetter 12 12 +0.0% 1.00x
Histogram 677 677 +0.0% 1.00x
MonteCarloPi 45085 45041 -0.1% 1.00x(?)
Prims 753 756 +0.4% 1.00x(?)
ArrayOfGenericPOD 220 220 +0.0% 1.00x
Dictionary3OfObjects 907 907 +0.0% 1.00x
StringHasPrefix 738 740 +0.3% 1.00x
ByteSwap 1 1 +0.0% 1.00x
SuperChars 262374 261779 -0.2% 1.00x(?)
XorLoop 381 380 -0.3% 1.00x
StringInterpolation 11883 11936 +0.5% 1.00x(?)
Integrate 238 238 +0.0% 1.00x
ProtocolDispatch 3039 3040 +0.0% 1.00x(?)
TypeFlood 0 0 +0.0% 1.00x
ArrayLiteral 1031 1029 -0.2% 1.00x(?)
Dictionary3 545 545 +0.0% 1.00x
Dictionary2 2128 2133 +0.2% 1.00x
StrComplexWalk 3289 3293 +0.1% 1.00x(?)
SetIntersect_OfObjects 2491 2492 +0.0% 1.00x(?)
Join 509 511 +0.4% 1.00x(?)
ObjectiveCBridgeToNSArray 32023 31986 -0.1% 1.00x(?)
DictionaryOfObjects 2329 2333 +0.2% 1.00x(?)
PopFrontArrayGeneric 1105 1102 -0.3% 1.00x(?)
PopFrontUnsafePointer 9139 9120 -0.2% 1.00x
StringEqualPointerComparison 7310 7316 +0.1% 1.00x(?)
CaptureProp 4258 4259 +0.0% 1.00x(?)
Calculator 36 36 +0.0% 1.00x
MapReduce 342 342 +0.0% 1.00x
Hanoi 3508 3507 -0.0% 1.00x(?)
OpenClose 51 51 +0.0% 1.00x
DictionaryRemoveOfObjects 20522 20580 +0.3% 1.00x
UTF8Decode 322 322 +0.0% 1.00x
SetIsSubsetOf 590 590 +0.0% 1.00x
NopDeinit 36664 36655 -0.0% 1.00x(?)
ObjectiveCBridgeStubToArrayOfNSString 32304 32390 +0.3% 1.00x(?)
SetExclusiveOr 4797 4808 +0.2% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
StringBuilder 1476 1482 +0.4% 1.00x
ArrayInClass 86 86 +0.0% 1.00x
ArrayOfGenericRef 3667 3663 -0.1% 1.00x(?)
ObjectiveCBridgeFromNSString 1598 1598 +0.0% 1.00x
Phonebook 7811 7847 +0.5% 1.00x
SetExclusiveOr_OfObjects 10452 10482 +0.3% 1.00x(?)
MonteCarloE 10600 10565 -0.3% 1.00x(?)
SetUnion_OfObjects 8965 8962 -0.0% 1.00x(?)
StringHasSuffixUnicode 64840 64944 +0.2% 1.00x
Walsh 331 330 -0.3% 1.00x(?)
SetIsSubsetOf_OfObjects 647 648 +0.1% 1.00x
ArrayAppend 772 771 -0.1% 1.00x(?)
LinkedList 7216 7204 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 110247 109998 -0.2% 1.00x
RGBHistogram 3497 3511 +0.4% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4184 4185 +0.0% 1.00x(?)
ArrayValueProp4 6 6 +0.0% 1.00x
ArrayOfPOD 182 182 +0.0% 1.00x
SetUnion 4232 4222 -0.2% 1.00x(?)
DeadArray 185 185 +0.0% 1.00x
BitCount 1 1 +0.0% 1.00x
AngryPhonebook 3455 3442 -0.4% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 168065 167579 -0.3% 1.00x(?)
StringWalk 6269 6277 +0.1% 1.00x(?)
ArrayValueProp 6 6 +0.0% 1.00x
StringHasSuffix 706 704 -0.3% 1.00x(?)
RC4 266 267 +0.4% 1.00x
Memset 235 235 +0.0% 1.00x
ArrayAppendReserved 536 536 +0.0% 1.00x
TwoSum 1782 1774 -0.5% 1.00x
ArrayValueProp2 6 6 +0.0% 1.00x
ArrayValueProp3 6 6 +0.0% 1.00x
Array2D 2014 2031 +0.8% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 4779 4811 +0.7% 0.99x(?)
SortLettersInPlace 1020 1034 +1.4% 0.99x
HashTest 1912 1925 +0.7% 0.99x
ArrayOfRef 3595 3617 +0.6% 0.99x
NSDictionaryCastToSwift 9164 9231 +0.7% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 218698 221269 +1.2% 0.99x(?)
Sim2DArray 430 436 +1.4% 0.99x
SevenBoom 1347 1360 +1.0% 0.99x(?)
Dictionary2OfObjects 3540 3560 +0.6% 0.99x(?)
ErrorHandling 2980 3032 +1.7% 0.98x(?)
ObjectiveCBridgeStubFromNSString 602 615 +2.2% 0.98x(?)
ObjectiveCBridgeFromNSSetAnyObject 141556 143917 +1.7% 0.98x(?)
RGBHistogramOfObjects 22645 23053 +1.8% 0.98x
Chars 651 664 +2.0% 0.98x
SortStrings 1918 1984 +3.4% 0.97x
ObjectAllocation 149 155 +4.0% 0.96x
**Unoptimized (Onone)**

Regression (1)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
TypeFlood 149 166 +11.4% 0.90x

Improvement (5)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ProtocolDispatch 6135 5800 -5.5% 1.06x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 220952 204778 -7.3% 1.08x
OpenClose 507 456 -10.1% 1.11x
StringHasSuffix 1711 1522 -11.1% 1.12x
PopFrontUnsafePointer 114619 98795 -13.8% 1.16x

No Changes (115)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
DictionaryBridge 3943 3745 -5.0% 1.05x(?)
StringHasPrefix 1611 1550 -3.8% 1.04x
ObjectiveCBridgeStubFromArrayOfNSString 117877 112934 -4.2% 1.04x(?)
ObjectiveCBridgeToNSSet 17698 17250 -2.5% 1.03x
StringHasPrefixUnicode 17644 17085 -3.2% 1.03x
StringInterpolation 17696 17310 -2.2% 1.02x
ObjectAllocation 558 549 -1.6% 1.02x(?)
ObjectiveCBridgeToNSArray 32413 31856 -1.7% 1.02x(?)
SortStringsUnicode 12072 11812 -2.1% 1.02x
ObjectiveCBridgeFromNSArrayAnyObjectToString 167195 166225 -0.6% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 7383 7346 -0.5% 1.01x(?)
SortLettersInPlace 7935 7890 -0.6% 1.01x
PopFrontArray 24952 24602 -1.4% 1.01x(?)
ObjectiveCBridgeStubToNSString 1358 1351 -0.5% 1.01x
Join 1552 1544 -0.5% 1.01x
Dictionary2 5556 5516 -0.7% 1.01x
SetIntersect_OfObjects 20214 20054 -0.8% 1.01x
CaptureProp 117530 116067 -1.2% 1.01x
PolymorphicCalls 1157 1150 -0.6% 1.01x(?)
DictionaryLiteral 22231 21994 -1.1% 1.01x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 135512 134538 -0.7% 1.01x(?)
SetIsSubsetOf 3146 3128 -0.6% 1.01x(?)
ObjectiveCBridgeToNSDictionary 17630 17463 -0.9% 1.01x(?)
RGBHistogram 101879 100945 -0.9% 1.01x
Chars 5376 5342 -0.6% 1.01x
DeadArray 146984 145436 -1.1% 1.01x(?)
Dictionary2OfObjects 7415 7377 -0.5% 1.01x(?)
ArraySubscript 5527 5535 +0.1% 1.00x(?)
DictionarySwapOfObjects 26382 26432 +0.2% 1.00x
ObjectiveCBridgeFromNSDictionaryAnyObject 207351 208020 +0.3% 1.00x(?)
RecursiveOwnedParameter 8072 8091 +0.2% 1.00x(?)
Integrate 362 361 -0.3% 1.00x(?)
ClassArrayGetter 1256 1254 -0.2% 1.00x
Array2D 805802 805196 -0.1% 1.00x(?)
Histogram 14374 14340 -0.2% 1.00x(?)
SortStrings 3984 3977 -0.2% 1.00x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7395 7368 -0.4% 1.00x(?)
MonteCarloPi 53688 53582 -0.2% 1.00x
120 6270534 6250397 -0.3% 1.00x
ObjectiveCBridgeFromNSStringForced 2659 2652 -0.3% 1.00x
Prims 14685 14687 +0.0% 1.00x(?)
DictionarySwap 11554 11532 -0.2% 1.00x(?)
Dictionary3OfObjects 2814 2815 +0.0% 1.00x(?)
RangeAssignment 23288 23272 -0.1% 1.00x(?)
ByteSwap 10 10 +0.0% 1.00x
SuperChars 575984 574652 -0.2% 1.00x(?)
XorLoop 19646 19640 -0.0% 1.00x(?)
StaticArray 27241 27262 +0.1% 1.00x
ArrayLiteral 1107 1106 -0.1% 1.00x(?)
ProtocolDispatch2 441 440 -0.2% 1.00x
HashTest 5834 5836 +0.0% 1.00x(?)
Dictionary3 2140 2144 +0.2% 1.00x
ArrayOfRef 9342 9362 +0.2% 1.00x(?)
DictionaryOfObjects 5776 5763 -0.2% 1.00x(?)
PopFrontArrayGeneric 11501 11533 +0.3% 1.00x(?)
Calculator 1019 1019 +0.0% 1.00x
MapReduce 45163 45233 +0.1% 1.00x(?)
Hanoi 20045 20016 -0.1% 1.00x(?)
DictionaryRemoveOfObjects 65055 65205 +0.2% 1.00x(?)
UTF8Decode 43645 43629 -0.0% 1.00x(?)
Dictionary 2878 2886 +0.3% 1.00x
NopDeinit 56710 56656 -0.1% 1.00x
ObjectiveCBridgeFromNSArrayAnyObject 72076 72163 +0.1% 1.00x(?)
SetIntersect 20174 20183 +0.0% 1.00x(?)
SetExclusiveOr 58552 58843 +0.5% 1.00x(?)
NSDictionaryCastToSwift 10438 10441 +0.0% 1.00x(?)
RGBHistogramOfObjects 152668 152734 +0.0% 1.00x(?)
StringBuilder 3071 3086 +0.5% 1.00x(?)
ArrayInClass 3863 3865 +0.1% 1.00x(?)
ArrayOfGenericRef 10005 10023 +0.2% 1.00x(?)
ObjectiveCBridgeFromNSString 5110 5116 +0.1% 1.00x(?)
Sim2DArray 15282 15285 +0.0% 1.00x(?)
SetExclusiveOr_OfObjects 85528 85611 +0.1% 1.00x(?)
MonteCarloE 109021 109287 +0.2% 1.00x
SetUnion_OfObjects 69055 68987 -0.1% 1.00x(?)
StringHasSuffixUnicode 66193 66299 +0.2% 1.00x
Walsh 12821 12808 -0.1% 1.00x(?)
SetIsSubsetOf_OfObjects 3019 3006 -0.4% 1.00x(?)
ArrayAppend 3183 3184 +0.0% 1.00x(?)
DictionaryRemove 32793 32720 -0.2% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 123411 123921 +0.4% 1.00x(?)
NSStringConversion 2731 2721 -0.4% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7726 7716 -0.1% 1.00x(?)
SetUnion 44374 44243 -0.3% 1.00x(?)
StrToInt 6998 7008 +0.1% 1.00x
BitCount 92 92 +0.0% 1.00x
AngryPhonebook 4325 4329 +0.1% 1.00x(?)
SevenBoom 1524 1520 -0.3% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 170644 170752 +0.1% 1.00x(?)
ArrayValueProp 2298 2298 +0.0% 1.00x
StringWithCString 785422 786458 +0.1% 1.00x
GlobalClass 0 0 +0.0% 1.00x
Memset 21882 21876 -0.0% 1.00x(?)
ArrayAppendReserved 2934 2937 +0.1% 1.00x
TwoSum 9697 9724 +0.3% 1.00x(?)
ArrayValueProp2 2839 2840 +0.0% 1.00x(?)
ArrayValueProp3 2736 2739 +0.1% 1.00x(?)
ObjectiveCBridgeToNSString 1108 1119 +1.0% 0.99x
StackPromo 167235 168383 +0.7% 0.99x(?)
ObjectiveCBridgeStubFromNSStringRef 158 159 +0.6% 0.99x
ObjectiveCBridgeFromNSSetAnyObject 147922 148999 +0.7% 0.99x(?)
StringEqualPointerComparison 9808 9920 +1.1% 0.99x
ObjectiveCBridgeStubToArrayOfNSString 31991 32333 +1.1% 0.99x(?)
Phonebook 123714 124361 +0.5% 0.99x(?)
LinkedList 27592 27838 +0.9% 0.99x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 229782 232591 +1.2% 0.99x(?)
ArrayValueProp4 2695 2709 +0.5% 0.99x
StringWalk 23291 23579 +1.2% 0.99x
ObjectiveCBridgeStubFromNSString 625 640 +2.4% 0.98x
StrComplexWalk 8643 8852 +2.4% 0.98x
ErrorHandling 3965 4027 +1.6% 0.98x(?)
NSError 673 685 +1.8% 0.98x(?)
RC4 8954 9097 +1.6% 0.98x(?)
ArrayOfGenericPOD 3524 3704 +5.1% 0.95x
ArrayOfPOD 2389 2516 +5.3% 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

@trentxintong
Copy link
Contributor Author

@swift-ci Please test

@trentxintong
Copy link
Contributor Author

@swift-ci Please test and merge

I see that we go from 24.9% of time spent in SILOptimizations in stdlib compilation
to 25.2%.

This brings back 50% of the regression for StringWithCString.

  <summary>Regression (3)</summary>

TEST                                                    | OLD_MIN | NEW_MIN | DELTA (%) | SPEEDUP
---                                                     | ---     | ---     | ---       | ---
NSError                                                 | 255     | 296     | +16.1%    | **0.86x**
ObjectiveCBridgeStubToArrayOfNSString                   | 25087   | 27733   | +10.6%    | **0.90x**
SwiftStructuresInsertionSort                            | 4292    | 4557    | +6.2%     | **0.94x**

</details>

<details >
  <summary>Improvement (7)</summary>

TEST                                                    | OLD_MIN | NEW_MIN | DELTA (%) | SPEEDUP
---                                                     | ---     | ---     | ---       | ---
MatMul                                                  | 1135    | 1071    | -5.6%     | **1.06x**
ObjectiveCBridgeToNSArray                               | 27090   | 25566   | -5.6%     | **1.06x**
ObjectiveCBridgeFromNSArrayAnyObjectToString            | 155362  | 145067  | -6.6%     | **1.07x**
OpenClose                                               | 47      | 44      | -6.4%     | **1.07x**
StringHasSuffix                                         | 695     | 642     | -7.6%     | **1.08x**
Calculator                                              | 34      | 30      | -11.8%    | **1.13x**
StringWithCString                                       | 336135  | 164974  | -50.9%    | **2.04x**
@trentxintong trentxintong merged commit af64977 into swiftlang:master May 6, 2016
@trentxintong
Copy link
Contributor Author

This passed "Please test"

@trentxintong trentxintong deleted the CString branch May 18, 2016 23:26
MaxDesiatov pushed a commit that referenced this pull request Apr 19, 2021
[pull] swiftwasm from main
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