Skip to content

Conversation

itingliu
Copy link
Contributor

  • use @_effects(releasenone) to solemnly swear to the compiler that we won't release anything inside these getters, eliminating refcounting to call them

  • micro-optimize identifierDoesNotRequireSpecialCaseHandling, allowing us to delete the cache of it without regressing perf

On the test app this goes from "so slow I didn't bother to see how long it takes to finish" to "finishes in around 1 second"

Resolves 137885111

Co-authored-by: @Catfish-Man

- use @_effects(releasenone) to solemnly swear to the compiler that we won't release anything inside these getters, eliminating refcounting to call them

- micro-optimize identifierDoesNotRequireSpecialCaseHandling, allowing us to delete the cache of it without regressing perf

On the test app this goes from "so slow I didn't bother to see how long it takes to finish" to "finishes in around 1 second"

Resolves 137885111

Co-authored-by: @Catfish-Man
@itingliu
Copy link
Contributor Author

@swift-ci please test

@itingliu
Copy link
Contributor Author

According to my measurement with the said test app: Before: ~13 seconds. After: ~0.4 seconds. So 32x of improvement

@itingliu itingliu merged commit 94adc6a into swiftlang:main Nov 18, 2024
3 checks passed
@itingliu itingliu deleted the pr/locale-objc-imp branch November 18, 2024 18:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants