-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Re-apply thunk generic signature optimization #4913
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
Re-apply thunk generic signature optimization #4913
Conversation
@swift-ci Please test |
@swift-ci Please benchmark |
@swiftix and @eeckstein, do the optimizer fixes look reasonable? |
Build failed |
Build failed |
Build comment file: |
We weren't clearing the worklist flags if returning true here. Oops! This would manifest as alias analysis returning different results for the same operands over time, which confused ARC code motion into dropping release instructions.
…phole - We were bailing out if the partial_apply's substitutions contained archetypes, but there was no inherent reason to do this. After fixing an issue with opened existential tracking, this started to work. - We were also bailing out if the callee was not a static function_ref. Again, there's no reason to do this, because we also emit partial_apply to form closures from class_method and witness_method calls. - There was a bug in the code for extending lifetimes of @in parameters. Even if a parameter was an input parameter to the method and not an alloc_stack, we have to copy it into a new alloc_stack, because there might be multiple invocations of an apply for a single partial_apply. - There was also a bug where we would proceed to apply the peephole to @unowned_inner_pointer functions, which is wrong. IRGen's lowering of partial_apply has special handling there and the resulting function type has an @owned result.
…ric signature if necessary" The commit was reverted because of a regression in the Prototypes/CollectionTransformers test. I believe the root cause was an escape analysis bug, which is fixed in my previous commit.
b94debd
to
c65c1b5
Compare
@swift-ci Please test |
@swift-ci Please benchmark |
Build comment file:Optimized (O)
|
TEST | OLD_MIN | NEW_MIN | DELTA (%) | SPEEDUP |
---|---|---|---|---|
AnyHashableWithAClass | 66759 | 62432 | -6.5% | 1.07x |
ObjectiveCBridgeStubToNSDateRef | 3472 | 3242 | -6.6% | 1.07x |
Calculator | 37 | 34 | -8.1% | 1.09x |
No Changes (133)
TEST | OLD_MIN | NEW_MIN | DELTA (%) | SPEEDUP |
---|---|---|---|---|
ObjectiveCBridgeFromNSArrayAnyObjectToString | 127910 | 121532 | -5.0% | 1.05x(?) |
ObjectiveCBridgeStubFromNSString | 832 | 794 | -4.6% | 1.05x |
ObjectiveCBridgeFromNSArrayAnyObject | 79223 | 75644 | -4.5% | 1.05x(?) |
ObjectiveCBridgeStubFromArrayOfNSString | 60741 | 57786 | -4.9% | 1.05x |
ObjectiveCBridgeFromNSStringForced | 2773 | 2661 | -4.0% | 1.04x(?) |
StrToInt | 5340 | 5132 | -3.9% | 1.04x |
StackPromo | 21514 | 20967 | -2.5% | 1.03x(?) |
Histogram | 655 | 636 | -2.9% | 1.03x(?) |
SortStrings | 1850 | 1793 | -3.1% | 1.03x |
ObjectiveCBridgeFromNSArrayAnyObjectForced | 6274 | 6088 | -3.0% | 1.03x(?) |
ObjectiveCBridgeStubFromNSStringRef | 138 | 134 | -2.9% | 1.03x |
HashTest | 1752 | 1707 | -2.6% | 1.03x(?) |
Dictionary2 | 2092 | 2025 | -3.2% | 1.03x |
DictionaryRemoveOfObjects | 19692 | 19122 | -2.9% | 1.03x |
ObjectiveCBridgeStubURLAppendPath | 238155 | 232093 | -2.5% | 1.03x |
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced | 140581 | 135847 | -3.4% | 1.03x(?) |
DictionaryRemove | 4696 | 4546 | -3.2% | 1.03x(?) |
ObjectiveCBridgeFromNSSetAnyObjectToStringForced | 111662 | 108591 | -2.8% | 1.03x(?) |
SevenBoom | 1352 | 1317 | -2.6% | 1.03x |
TwoSum | 1600 | 1554 | -2.9% | 1.03x |
135 | 3068448 | 2995158 | -2.4% | 1.02x |
DictionaryBridge | 3958 | 3871 | -2.2% | 1.02x(?) |
Join | 457 | 448 | -2.0% | 1.02x |
ObjectiveCBridgeFromNSSetAnyObject | 271507 | 267426 | -1.5% | 1.02x(?) |
ArrayLiteral | 1174 | 1150 | -2.0% | 1.02x(?) |
ObjectiveCBridgeStubDateMutation | 273 | 268 | -1.8% | 1.02x |
OpenClose | 54 | 53 | -1.9% | 1.02x |
SortStringsUnicode | 8443 | 8290 | -1.8% | 1.02x |
ArrayOfGenericRef | 3634 | 3565 | -1.9% | 1.02x |
SetUnion_OfObjects | 6322 | 6213 | -1.7% | 1.02x |
ObjectiveCBridgeFromNSSetAnyObjectForced | 4643 | 4552 | -2.0% | 1.02x |
Chars | 641 | 629 | -1.9% | 1.02x |
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced | 95382 | 93071 | -2.4% | 1.02x(?) |
ObjectiveCBridgeFromNSDictionaryAnyObject | 207302 | 205315 | -1.0% | 1.01x(?) |
ObjectiveCBridgeFromNSDictionaryAnyObjectForced | 5226 | 5164 | -1.2% | 1.01x(?) |
ObjectiveCBridgeStubFromNSDateRef | 3708 | 3684 | -0.7% | 1.01x |
PopFrontArray | 1104 | 1092 | -1.1% | 1.01x(?) |
StrComplexWalk | 2888 | 2857 | -1.1% | 1.01x(?) |
StringInterpolation | 11254 | 11157 | -0.9% | 1.01x(?) |
StringHasSuffix | 766 | 760 | -0.8% | 1.01x(?) |
ProtocolDispatch | 3046 | 3030 | -0.5% | 1.01x(?) |
ArrayOfRef | 3549 | 3523 | -0.7% | 1.01x(?) |
ObjectiveCBridgeToNSSet | 16335 | 16181 | -0.9% | 1.01x(?) |
NSError | 315 | 313 | -0.6% | 1.01x(?) |
PopFrontArrayGeneric | 1111 | 1101 | -0.9% | 1.01x |
PopFrontUnsafePointer | 8876 | 8827 | -0.6% | 1.01x |
CaptureProp | 4558 | 4530 | -0.6% | 1.01x |
MapReduce | 344 | 342 | -0.6% | 1.01x(?) |
ArrayOfGenericPOD | 213 | 211 | -0.9% | 1.01x |
Dictionary | 761 | 752 | -1.2% | 1.01x(?) |
ObjectiveCBridgeStubToArrayOfNSString | 30247 | 29926 | -1.1% | 1.01x(?) |
NSDictionaryCastToSwift | 6925 | 6861 | -0.9% | 1.01x(?) |
Phonebook | 7559 | 7464 | -1.3% | 1.01x |
Sim2DArray | 281 | 277 | -1.4% | 1.01x |
SetExclusiveOr_OfObjects | 7730 | 7645 | -1.1% | 1.01x |
ObjectiveCBridgeFromNSSetAnyObjectToString | 150703 | 149639 | -0.7% | 1.01x(?) |
SetUnion | 2894 | 2858 | -1.2% | 1.01x |
DeadArray | 192 | 190 | -1.0% | 1.01x |
ObjectiveCBridgeStubNSDataAppend | 2463 | 2444 | -0.8% | 1.01x(?) |
ObjectiveCBridgeToNSString | 1072 | 1067 | -0.5% | 1.00x |
ObjectiveCBridgeStubToNSString | 1250 | 1249 | -0.1% | 1.00x(?) |
ClassArrayGetter | 13 | 13 | +0.0% | 1.00x |
MonteCarloPi | 42500 | 42522 | +0.1% | 1.00x(?) |
StringWithCString | 142301 | 142505 | +0.1% | 1.00x(?) |
Prims | 701 | 698 | -0.4% | 1.00x(?) |
SortLettersInPlace | 971 | 971 | +0.0% | 1.00x |
DictionarySwap | 611 | 610 | -0.2% | 1.00x(?) |
Dictionary3OfObjects | 858 | 854 | -0.5% | 1.00x(?) |
RangeAssignment | 284 | 285 | +0.3% | 1.00x(?) |
ByteSwap | 0 | 0 | +0.0% | 1.00x |
SuperChars | 200355 | 200410 | +0.0% | 1.00x(?) |
Integrate | 240 | 240 | +0.0% | 1.00x |
TypeFlood | 0 | 0 | +0.0% | 1.00x |
ProtocolDispatch2 | 162 | 162 | +0.0% | 1.00x |
Dictionary3 | 508 | 510 | +0.4% | 1.00x(?) |
StringHasPrefix | 608 | 608 | +0.0% | 1.00x |
ErrorHandling | 2966 | 2956 | -0.3% | 1.00x(?) |
ObjectiveCBridgeStubURLAppendPathRef | 243073 | 243005 | -0.0% | 1.00x(?) |
DictionaryOfObjects | 2288 | 2290 | +0.1% | 1.00x(?) |
StringEqualPointerComparison | 7366 | 7393 | +0.4% | 1.00x |
PolymorphicCalls | 21 | 21 | +0.0% | 1.00x |
RC4 | 165 | 165 | +0.0% | 1.00x |
ObjectiveCBridgeStubToNSStringRef | 119 | 119 | +0.0% | 1.00x |
DictionaryLiteral | 2745 | 2744 | -0.0% | 1.00x(?) |
Hanoi | 3596 | 3600 | +0.1% | 1.00x(?) |
UTF8Decode | 281 | 281 | +0.0% | 1.00x |
SetIsSubsetOf | 476 | 476 | +0.0% | 1.00x |
SetIntersect | 1040 | 1039 | -0.1% | 1.00x(?) |
ObjectiveCBridgeStubDataAppend | 2997 | 3001 | +0.1% | 1.00x(?) |
SetExclusiveOr | 2551 | 2557 | +0.2% | 1.00x(?) |
RGBHistogramOfObjects | 21341 | 21424 | +0.4% | 1.00x(?) |
StringBuilder | 1318 | 1321 | +0.2% | 1.00x |
ObjectiveCBridgeStubDateAccess | 182 | 182 | +0.0% | 1.00x |
MonteCarloE | 9966 | 9975 | +0.1% | 1.00x(?) |
StringHasSuffixUnicode | 62907 | 63003 | +0.1% | 1.00x(?) |
SetIsSubsetOf_OfObjects | 486 | 486 | +0.0% | 1.00x |
ArrayAppend | 749 | 749 | +0.0% | 1.00x |
LinkedList | 6828 | 6812 | -0.2% | 1.00x(?) |
NSStringConversion | 809 | 806 | -0.4% | 1.00x(?) |
RGBHistogram | 2809 | 2806 | -0.1% | 1.00x(?) |
ArrayAppendReserved | 523 | 521 | -0.4% | 1.00x(?) |
ArrayOfPOD | 176 | 176 | +0.0% | 1.00x |
BitCount | 1 | 1 | +0.0% | 1.00x |
AngryPhonebook | 2883 | 2888 | +0.2% | 1.00x(?) |
StringWalk | 5617 | 5614 | -0.1% | 1.00x(?) |
ArrayValueProp | 5 | 5 | +0.0% | 1.00x |
GlobalClass | 0 | 0 | +0.0% | 1.00x |
Memset | 222 | 223 | +0.5% | 1.00x |
ArrayValueProp4 | 5 | 5 | +0.0% | 1.00x |
ArrayValueProp2 | 5 | 5 | +0.0% | 1.00x |
ArrayValueProp3 | 5 | 5 | +0.0% | 1.00x |
ArraySubscript | 1372 | 1392 | +1.5% | 0.99x |
RecursiveOwnedParameter | 1878 | 1889 | +0.6% | 0.99x(?) |
Array2D | 2081 | 2095 | +0.7% | 0.99x(?) |
StaticArray | 2749 | 2768 | +0.7% | 0.99x(?) |
ObjectAllocation | 151 | 152 | +0.7% | 0.99x(?) |
SetIntersect_OfObjects | 2039 | 2058 | +0.9% | 0.99x(?) |
ObjectiveCBridgeStubNSDateRefAccess | 339 | 341 | +0.6% | 0.99x(?) |
StringHasPrefixUnicode | 13587 | 13766 | +1.3% | 0.99x(?) |
ObjectiveCBridgeStubNSDateMutationRef | 12030 | 12091 | +0.5% | 0.99x(?) |
Dictionary2OfObjects | 3417 | 3445 | +0.8% | 0.99x |
DictionarySwapOfObjects | 6548 | 6690 | +2.2% | 0.98x(?) |
IterateData | 2472 | 2524 | +2.1% | 0.98x(?) |
Walsh | 312 | 320 | +2.6% | 0.98x |
ObjectiveCBridgeFromNSDictionaryAnyObjectToString | 213667 | 221077 | +3.5% | 0.97x(?) |
XorLoop | 369 | 380 | +3.0% | 0.97x |
ObjectiveCBridgeToNSArray | 30760 | 31865 | +3.6% | 0.97x |
NopDeinit | 36792 | 37952 | +3.1% | 0.97x |
ArrayInClass | 65 | 67 | +3.1% | 0.97x |
ObjectiveCBridgeToNSDictionary | 16314 | 16787 | +2.9% | 0.97x(?) |
ObjectiveCBridgeStubToNSDate | 13094 | 13639 | +4.2% | 0.96x(?) |
ObjectiveCBridgeStubFromNSDate | 3591 | 3725 | +3.7% | 0.96x |
ObjectiveCBridgeFromNSString | 1792 | 1883 | +5.1% | 0.95x |
Regression (4)
TEST | OLD_MIN | NEW_MIN | DELTA (%) | SPEEDUP |
---|---|---|---|---|
StringHasSuffix | 1520 | 1775 | +16.8% | 0.86x |
ArrayOfPOD | 2324 | 2509 | +8.0% | 0.93x |
StackPromo | 126170 | 133930 | +6.2% | 0.94x(?) |
ArrayAppend | 3341 | 3555 | +6.4% | 0.94x |
Improvement (4)
TEST | OLD_MIN | NEW_MIN | DELTA (%) | SPEEDUP |
---|---|---|---|---|
ArrayInClass | 3952 | 3736 | -5.5% | 1.06x |
ProtocolDispatch | 6049 | 5566 | -8.0% | 1.09x |
ObjectiveCBridgeStubDateMutation | 523 | 469 | -10.3% | 1.12x |
TypeFlood | 219 | 173 | -21.0% | 1.27x(?) |
No Changes (128)
TEST | OLD_MIN | NEW_MIN | DELTA (%) | SPEEDUP |
---|---|---|---|---|
ObjectiveCBridgeFromNSString | 5339 | 5109 | -4.3% | 1.05x |
Chars | 5420 | 5182 | -4.4% | 1.05x |
Array2D | 811217 | 787232 | -3.0% | 1.03x |
ObjectiveCBridgeFromNSDictionaryAnyObjectForced | 7860 | 7615 | -3.1% | 1.03x(?) |
ObjectiveCBridgeStubToNSDate | 14582 | 14136 | -3.1% | 1.03x(?) |
Join | 1457 | 1417 | -2.8% | 1.03x |
ObjectiveCBridgeFromNSSetAnyObjectForced | 7589 | 7374 | -2.8% | 1.03x(?) |
ObjectiveCBridgeStubFromNSDate | 3884 | 3786 | -2.5% | 1.03x |
ClassArrayGetter | 1289 | 1264 | -1.9% | 1.02x |
Dictionary3 | 1602 | 1572 | -1.9% | 1.02x(?) |
StringHasPrefix | 1721 | 1681 | -2.3% | 1.02x(?) |
StringInterpolation | 15890 | 15636 | -1.6% | 1.02x(?) |
HashTest | 5333 | 5252 | -1.5% | 1.02x(?) |
DictionarySwapOfObjects | 21457 | 21025 | -2.0% | 1.02x |
MonteCarloE | 104922 | 102778 | -2.0% | 1.02x |
DictionaryRemove | 17517 | 17126 | -2.2% | 1.02x |
ObjectiveCBridgeFromNSSetAnyObjectToStringForced | 120845 | 118281 | -2.1% | 1.02x(?) |
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced | 95958 | 93655 | -2.4% | 1.02x(?) |
RecursiveOwnedParameter | 10419 | 10289 | -1.2% | 1.01x(?) |
ArrayOfGenericPOD | 3559 | 3519 | -1.1% | 1.01x |
ObjectiveCBridgeFromNSStringForced | 3115 | 3097 | -0.6% | 1.01x(?) |
PopFrontArray | 24309 | 24175 | -0.6% | 1.01x(?) |
Dictionary3OfObjects | 2203 | 2189 | -0.6% | 1.01x(?) |
ErrorHandling | 3864 | 3819 | -1.2% | 1.01x(?) |
NSError | 676 | 670 | -0.9% | 1.01x(?) |
MapReduce | 43797 | 43450 | -0.8% | 1.01x |
IterateData | 10610 | 10525 | -0.8% | 1.01x |
DictionaryLiteral | 16826 | 16671 | -0.9% | 1.01x |
ObjectiveCBridgeFromNSArrayAnyObject | 81067 | 80077 | -1.2% | 1.01x(?) |
ObjectiveCBridgeStubDataAppend | 3465 | 3447 | -0.5% | 1.01x(?) |
ObjectiveCBridgeStubNSDateRefAccess | 1277 | 1259 | -1.4% | 1.01x |
Phonebook | 63723 | 63317 | -0.6% | 1.01x(?) |
ArrayLiteral | 1229 | 1215 | -1.1% | 1.01x(?) |
NSStringConversion | 2996 | 2976 | -0.7% | 1.01x(?) |
ObjectiveCBridgeStubNSDateMutationRef | 14785 | 14624 | -1.1% | 1.01x(?) |
ObjectiveCBridgeToNSString | 1099 | 1103 | +0.4% | 1.00x(?) |
MonteCarloPi | 50521 | 50631 | +0.2% | 1.00x(?) |
Integrate | 366 | 366 | +0.0% | 1.00x |
SortStrings | 2756 | 2753 | -0.1% | 1.00x(?) |
Prims | 13160 | 13134 | -0.2% | 1.00x(?) |
RangeAssignment | 26913 | 26867 | -0.2% | 1.00x(?) |
ByteSwap | 9 | 9 | +0.0% | 1.00x |
SuperChars | 254105 | 255195 | +0.4% | 1.00x(?) |
XorLoop | 18884 | 18893 | +0.1% | 1.00x(?) |
ObjectAllocation | 581 | 579 | -0.3% | 1.00x(?) |
StringHasSuffixUnicode | 64663 | 64808 | +0.2% | 1.00x(?) |
ProtocolDispatch2 | 441 | 443 | +0.5% | 1.00x |
Dictionary2 | 4444 | 4439 | -0.1% | 1.00x(?) |
ArrayOfRef | 9372 | 9412 | +0.4% | 1.00x |
Hanoi | 19636 | 19631 | -0.0% | 1.00x(?) |
DictionaryRemoveOfObjects | 45780 | 45864 | +0.2% | 1.00x(?) |
UTF8Decode | 41028 | 41219 | +0.5% | 1.00x(?) |
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced | 140384 | 140293 | -0.1% | 1.00x(?) |
Dictionary | 2143 | 2134 | -0.4% | 1.00x |
SetExclusiveOr | 29235 | 29282 | +0.2% | 1.00x(?) |
SetExclusiveOr_OfObjects | 45174 | 45277 | +0.2% | 1.00x(?) |
SetUnion_OfObjects | 33451 | 33367 | -0.2% | 1.00x |
LinkedList | 26375 | 26469 | +0.4% | 1.00x(?) |
ArrayValueProp4 | 3002 | 3005 | +0.1% | 1.00x |
SetUnion | 17866 | 17821 | -0.2% | 1.00x(?) |
DeadArray | 121721 | 121676 | -0.0% | 1.00x(?) |
ArrayValueProp2 | 3134 | 3143 | +0.3% | 1.00x(?) |
AngryPhonebook | 2988 | 2997 | +0.3% | 1.00x(?) |
SevenBoom | 1475 | 1470 | -0.3% | 1.00x(?) |
ArrayValueProp | 2544 | 2535 | -0.3% | 1.00x(?) |
GlobalClass | 0 | 0 | +0.0% | 1.00x |
Memset | 19805 | 19816 | +0.1% | 1.00x |
Dictionary2OfObjects | 6254 | 6239 | -0.2% | 1.00x(?) |
ArrayValueProp3 | 3068 | 3058 | -0.3% | 1.00x |
ArraySubscript | 5546 | 5624 | +1.4% | 0.99x |
135 | 5571598 | 5613267 | +0.8% | 0.99x |
ObjectiveCBridgeStubFromNSDateRef | 4136 | 4193 | +1.4% | 0.99x(?) |
SortLettersInPlace | 2490 | 2503 | +0.5% | 0.99x(?) |
ObjectiveCBridgeStubFromNSStringRef | 170 | 172 | +1.2% | 0.99x |
StaticArray | 35315 | 35550 | +0.7% | 0.99x(?) |
AnyHashableWithAClass | 76466 | 77323 | +1.1% | 0.99x |
StrComplexWalk | 7524 | 7609 | +1.1% | 0.99x |
SetIntersect_OfObjects | 13925 | 14107 | +1.3% | 0.99x |
ObjectiveCBridgeStubURLAppendPathRef | 242326 | 244387 | +0.8% | 0.99x(?) |
PopFrontArrayGeneric | 9575 | 9627 | +0.5% | 0.99x(?) |
StringEqualPointerComparison | 9505 | 9572 | +0.7% | 0.99x(?) |
CaptureProp | 118518 | 119727 | +1.0% | 0.99x(?) |
PolymorphicCalls | 1163 | 1170 | +0.6% | 0.99x |
Calculator | 905 | 910 | +0.6% | 0.99x(?) |
ObjectiveCBridgeStubURLAppendPath | 234868 | 237726 | +1.2% | 0.99x(?) |
SortStringsUnicode | 9294 | 9392 | +1.1% | 0.99x |
ObjectiveCBridgeStubToArrayOfNSString | 29387 | 29551 | +0.6% | 0.99x(?) |
SetIntersect | 14725 | 14810 | +0.6% | 0.99x(?) |
NSDictionaryCastToSwift | 8061 | 8137 | +0.9% | 0.99x(?) |
RGBHistogramOfObjects | 90913 | 91690 | +0.8% | 0.99x(?) |
StringBuilder | 2796 | 2820 | +0.9% | 0.99x(?) |
ArrayOfGenericRef | 9993 | 10068 | +0.8% | 0.99x(?) |
Sim2DArray | 14482 | 14582 | +0.7% | 0.99x(?) |
RC4 | 9321 | 9376 | +0.6% | 0.99x(?) |
SetIsSubsetOf_OfObjects | 2157 | 2185 | +1.3% | 0.99x(?) |
StringHasPrefixUnicode | 15302 | 15429 | +0.8% | 0.99x(?) |
RGBHistogram | 42980 | 43309 | +0.8% | 0.99x(?) |
StrToInt | 5268 | 5331 | +1.2% | 0.99x |
TwoSum | 6388 | 6461 | +1.1% | 0.99x(?) |
ObjectiveCBridgeStubNSDataAppend | 2874 | 2909 | +1.2% | 0.99x(?) |
ObjectiveCBridgeFromNSDictionaryAnyObjectToString | 219818 | 224682 | +2.2% | 0.98x(?) |
Histogram | 11495 | 11732 | +2.1% | 0.98x(?) |
StringWithCString | 151316 | 154610 | +2.2% | 0.98x(?) |
DictionarySwap | 7409 | 7587 | +2.4% | 0.98x(?) |
ObjectiveCBridgeStubFromNSString | 814 | 834 | +2.5% | 0.98x(?) |
ObjectiveCBridgeStubToNSDateRef | 3271 | 3334 | +1.9% | 0.98x |
PopFrontUnsafePointer | 252139 | 258438 | +2.5% | 0.98x(?) |
ObjectiveCBridgeStubToNSStringRef | 161 | 164 | +1.9% | 0.98x |
Walsh | 12653 | 12856 | +1.6% | 0.98x |
ObjectiveCBridgeFromNSDictionaryAnyObject | 208019 | 214154 | +3.0% | 0.97x(?) |
ObjectiveCBridgeFromNSArrayAnyObjectToString | 124871 | 128145 | +2.6% | 0.97x(?) |
DictionaryBridge | 3890 | 4023 | +3.4% | 0.97x(?) |
ObjectiveCBridgeStubToNSString | 1292 | 1336 | +3.4% | 0.97x |
ObjectiveCBridgeFromNSSetAnyObject | 269826 | 278934 | +3.4% | 0.97x(?) |
DictionaryOfObjects | 4720 | 4887 | +3.5% | 0.97x |
OpenClose | 453 | 467 | +3.1% | 0.97x |
SetIsSubsetOf | 2383 | 2449 | +2.8% | 0.97x(?) |
ObjectiveCBridgeStubDateAccess | 1100 | 1130 | +2.7% | 0.97x |
ObjectiveCBridgeToNSSet | 16322 | 16811 | +3.0% | 0.97x |
ObjectiveCBridgeFromNSSetAnyObjectToString | 158493 | 163765 | +3.3% | 0.97x(?) |
BitCount | 96 | 99 | +3.1% | 0.97x |
StringWalk | 20804 | 21371 | +2.7% | 0.97x(?) |
ObjectiveCBridgeToNSArray | 29673 | 30917 | +4.2% | 0.96x(?) |
ObjectiveCBridgeStubFromArrayOfNSString | 59022 | 61477 | +4.2% | 0.96x(?) |
ArrayAppendReserved | 3196 | 3332 | +4.3% | 0.96x |
ObjectiveCBridgeFromNSArrayAnyObjectForced | 10422 | 10929 | +4.9% | 0.95x(?) |
NopDeinit | 59838 | 62986 | +5.3% | 0.95x |
ObjectiveCBridgeToNSDictionary | 16307 | 17159 | +5.2% | 0.95x |
Build failed |
Test failure looks like a simulator issue:
|
@swift-ci Please smoke test macOS |
EscapeAnalysis: good catch! LGTM. Thanks for fixing this! |
Tests are still WIP.