⚡️ Speed up function _valid_locales by 16%
#91
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📄 16% (0.16x) speedup for
_valid_localesinpandas/_config/localization.py⏱️ Runtime :
16.8 milliseconds→14.5 milliseconds(best of63runs)📝 Explanation and details
The optimization achieves a 15% speedup through two key changes:
1. Direct locale manipulation in
can_set_locale:set_localecontext manager call with directlocale.setlocale()operations2. Explicit loop in
_valid_locales:append()Performance impact by test type:
The optimizations are particularly effective for workloads that validate many locales, as each
can_set_localecall now has significantly less function call and context management overhead. The changes maintain identical functionality while being more direct and efficient.✅ Correctness verification report:
🌀 Generated Regression Tests and Runtime
To edit these changes
git checkout codeflash/optimize-_valid_locales-mhbmrahjand push.