-
Couldn't load subscription status.
- Fork 10.6k
Adjust String bridging machinery to reduce overhead #60235
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 |
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 could slightly slow down back deployed apps, since they may get NULL for this
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.
Using this instead of _CFGetTypeID + _CFStringTypeID lets us keep our dirty data footprint even despite looking up _CFStringCreateTaggedPointerString
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.
1.33x speedup on my machine
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.
Apparently 1.76x on x86, nice!
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.
Up to 1.90x on one benchmark after the most recent improvement :)
|
Benchmark results mostly look good but I should double check what's going on with NSStringConversion.MutableCopy.* |
|
@swift-ci please benchmark |
|
@swift-ci please test |
|
@swift-ci please smoke test |
|
@swift-ci please benchmark |
|
LLDB failure looks unrelated to me, asking about it |
|
Might not be unrelated, interesting |
|
@swift-ci please benchmark |
|
@swift-ci Please test stdlib with toolchain |
|
So I think I follow what is going on here; overall it seems ok, there are some open questions per maintenance and the commented out code but all in all I think I understand the perf side of it. |
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.
The alterations don't have anything immediate that are leaping out to me. The one quibble (granted I understand the reason why to keep sensitive code for refactoring in...) is that commented out code is immediately out of date; no one ever expects to maintain that.
|
I think I figured out the failure. It's not actually caused by this if I'm right; going to talk to the lldb folks about what to do. |
|
@swift-ci please test |
|
@swift-ci please smoke benchmark |
|
Benchmark results still look good after 6 months, let's see if the test situation we were waiting on has changed… |
|
@swift-ci please test |
|
This all got fixed up later in other ways |
No description provided.