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
[SR-1824] Swift 3 regression makes this test > 200 times slower with Swift 3 than with Swift 2.2 #44433
Comments
aschwaighofer@apple.com (JIRA User) |
The inliner is less aggressive these days and so we end up not inlining a function (mapWith) which had previously enabled removing a closure. This can be fixed by annotating mapWith with @inline(__always). I will hopefully commit a change to the optimizer that will make this annotation unnecessary. The closure specializer should have inlined the closure into mapWith. If #3257 goes in it will do so. This will again enable removal of the closure. In my experiments this recovers performance. |
Should be fixed by 8f3d26d. |
(Just ran the above code in Xcode 8 beta 2, got the same results as with the first Xcode 8 beta, so I guess 8f3d26d wasn't included in beta 2.) |
You are right. The fix did not make it into beta 2. |
Hi Jens, Thank you |
Thanks, works for me too now:
|
Great! Closing the bug. |
aschwaighofer@apple.com (JIRA User) Is this only true for (float) addition or does the compiler also support other simd (types and) operations, like dot product, matrix multiplication, etc? That is, if I implemented dot product for V4<Float>, would the optimizer be able to make it as fast as the simd dot product (for float4)? |
Environment
OS X 10.11.5, Xcode 8.0 beta (8S128d)
Additional Detail from JIRA
md5: 892fa44eee9598f9cb460581a93a350c
Issue Description:
The text was updated successfully, but these errors were encountered: