-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[stdlib] Make some more *Pointer operations _transparent #21126
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] Make some more *Pointer operations _transparent #21126
Conversation
Not only was this affecting performance when building from parseable interfaces, but we'd also want these to be inlined for any sort of bounds-checking diagnostics / static analysis we might get in the future.
@swift-ci Please test |
@swift-ci Please benchmark |
@swift-ci Please test compiler performance |
Build comment file:Performance: -O
Code size: -O
Performance: -Osize
Code size: -Osize
Performance: -Onone
How to read the dataThe tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.If you see any unexpected regressions, you should consider fixing the Noise: Sometimes the performance results (not code size!) contain false Hardware Overview
|
Sounds good to me. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
I wonder if we need @_transparent
here or if @inline(__always)
would get us the same benefits.
We probably want this even at -Onone (and |
Oh, this might cover SR-7274. |
Not only was this affecting performance when building from parseable interfaces, but we'd also want these to be inlined for any sort of bounds-checking diagnostics / static analysis we might get in the future.