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
[String] Drop many @inlinable annotations #16578
Conversation
@swift-ci please smoke benchmark |
@swift-ci please smoke test compiler performance |
@swift-ci please test |
Build comment file:Compilation-performance test failed |
Build failed |
Build failed |
Build comment file:Optimized (O)Regression (24)
Improvement (43)
No Changes (368)
Hardware Overview
|
(fixing 32-bit as well). @xedin, do you know why changes here could cause the test at https://ci.swift.org/job/swift-PR-Linux/4923/consoleFull#-1612600944ba62d58e-7248-467b-91e0-c7508d5cf947 to crash? Should I XFAIL it to unblock this?
|
Streamline and de-genericize non-inlinable internal functions to create a String from UTF-8 efficiently.
Drop append-related @inlinable annotations for String, StringGuts, StringStorage, and the Views. Drop several for larger operations, such as case conversion. Drop as many as we can from StringGuts for now.
0f5875a
to
6003261
Compare
@swift-ci please test |
@swift-ci please smoke test compiler performance |
@swift-ci please smoke benchmark |
Build failed |
Build failed |
Build comment file:Optimized (O)Regression (27)
Improvement (34)
No Changes (374)
Hardware Overview
|
3.6% speedup in release builds is excellent! Here's a fix for the XFAIL: #16587 |
Drop append-related @inlinable annotations for String, StringGuts, StringStorage, and the Views. Drop several for larger operations, such as case conversion. Drop as many as we can from StringGuts for now.
Cleanup and remove init-from-CString inlinability
Streamline more String creation logic. Streamline and de-genericize non-inlinable internal functions to create a String from UTF-8 efficiently.