β‘οΈ Speed up function _init_subplot_domain
by 9%
#122
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.
π 9% (0.09x) speedup for
_init_subplot_domain
inplotly/_subplots.py
β±οΈ Runtime :
55.6 microseconds
β51.2 microseconds
(best of729
runs)π Explanation and details
Here is a fully optimized version of your function, minimizing allocation and optimizing tuple/list conversion while preserving exactly the same return value, API, and doc comments.
Key optimizations.
tuple(x_domain)
andtuple(y_domain)
, which are mandatory if you want to ensure tuple types regardless of input (so these remain).layout_keys=()
is a static empty tuple (no cost).Notes.
β Correctness verification report:
π Generated Regression Tests Details
To edit these changes
git checkout codeflash/optimize-_init_subplot_domain-mb2h5mel
and push.