-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Cache the last ObjC bridging conformance we looked up #81545
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 Apple Silicon benchmark |
@swift-ci please Apple Silicon benchmark |
} | ||
|
||
static const _ObjectiveCBridgeableWitnessTable * | ||
findBridgeWitness(const Metadata *T) { |
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 entire function is duplicated between DynamicCast.cpp and Casting.cpp, along with its memoization variables. There's also a separate memoization of String stuff in DynamicCast.cpp. I'm unifying the behavior of these (yes they had behavior differences), but saving actually unifying the implementations for later.
1.23x improvement in ObjectiveCBridgeToNSDictionary :) still waiting on my local build to verify the improvement in the new test |
@swift-ci please test |
Looks fine. |
@swift-ci please benchmark |
Fixes rdar://151475392