-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[stdlib] use @inlinable @inline(always) for Optional equality #59519
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] use @inlinable @inline(always) for Optional equality #59519
Conversation
@swift-ci please test |
@swift-ci please benchmark |
Performance (x86_64): -O
Code size: -OPerformance (x86_64): -Osize
Code size: -OsizePerformance (x86_64): -Onone
Code size: -swiftlibsHow 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
|
Closing this after discussing the issue with performance specialists. |
Optional
's various==
operators were inconsistent in their use of @inlinable or @_transparent. As a consequence, the detailed diagnostics surroundingOptional
with==
and!=
differ strangely based on minute details. Another PR tried setting them all to@_transparent
(#59327). This one tries setting them all to@inlinable @inline(__always)
. Benchmarking may have different results.Resolves rdar://46444561