-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[String] ASCII fast-path for UTF16View #20848
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
Conversation
@swift-ci please test |
@swift-ci please benchmark |
Build comment file:Performance: -O
Performance: -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
|
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.
This looks great. I probably mid-air collided part of it with the PR I just landed though; sorry!
Nice! |
That's fine, I'll roll in the (less important but still a nice 30%) ASCII fast-path in |
4e63bd9
to
2a46550
Compare
@swift-ci please benchmark |
@swift-ci please test |
Build failed |
Build failed |
Build comment file:Performance: -O
Performance: -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
|
Add an isASCII fast-path for many UTF16View operations. These are heavily utilized in random-access scenarios, allowing us to both be more efficient and skip generating breadcrumbs for ASCII strings.
2a46550
to
2fb2114
Compare
@swift-ci please test |
@swift-ci please benchmark |
Build failed |
Build failed |
Build comment file:Performance: -O
Performance: -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
|
Add an isASCII fast-path for many UTF16View operations. These are heavily utilized in random-access scenarios, allowing us to both be more efficient and skip generating breadcrumbs for ASCII strings.
* Assorted bridging changes: • Convert _AbstractStringStorage to a protocol, and the free functions used to deduplicate implementations to extensions on that protocol. • Move 'start' into the abstract type and use that to simplify some code • Move the ASCII fast path for length into UTF16View. • Add a weirder but faster way to check which (if any) of our NSString subclasses a given object is, and adopt it (cherry picked from commit 8b57921) * [String] ASCII fast-path for UTF16View (#20848) Add an isASCII fast-path for many UTF16View operations. These are heavily utilized in random-access scenarios, allowing us to both be more efficient and skip generating breadcrumbs for ASCII strings.
Add an isASCII fast-path for many UTF16View operations. These are heavily utilized in random-access scenarios, allowing us to both be more efficient and skip generating breadcrumbs for ASCII strings.
Add an isASCII fast-path for many UTF16View operations. These are
heavily utilized in random-access scenarios, allowing us to both be
more efficient and skip generating breadcrumbs for ASCII strings.