⚡️ Speed up function annotation_params_for_rect
by 22%
#110
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.
📄 22% (0.22x) speedup for
annotation_params_for_rect
inplotly/shapeannotation.py
⏱️ Runtime :
1.91 milliseconds
→1.57 milliseconds
(best of69
runs)📝 Explanation and details
Here is an optimized version of your code. The main optimizations are.
min(x0, x1)
,max(y0, y1)
, etc., directly.Result: Clean, faster, branchless table-driven variant.
Key improvements.
frozenset
is used as a hashable dict key for lookup.Function signatures and outputs are unchanged.
✅ Correctness verification report:
🌀 Generated Regression Tests Details
To edit these changes
git checkout codeflash/optimize-annotation_params_for_rect-mb2cv0gc
and push.