⚡️ Speed up function function_kind by 55%
#331
Closed
+17
−6
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.
📄 55% (0.55x) speedup for
function_kindincodeflash/code_utils/static_analysis.py⏱️ Runtime :
1.11 milliseconds→720 microseconds(best of219runs)📝 Explanation and details
Here’s a faster, equivalent version. I eliminated the useless loop, streamlined the type checks to use
setlookup, and combined conditionals where possible. Your core slowness came from the unnecessary loop and repeated attribute access.All existing comments are preserved, but since the program had none, this is the cleaned, fast version:
Key runtime improvements:
"FunctionDef","AsyncFunctionDef"to speed up type check..typeaccess once and reuse.This will be notably faster especially under CPython, and the logic and structure remain identical.
✅ Correctness verification report:
🌀 Generated Regression Tests Details
To edit these changes
git checkout codeflash/optimize-function_kind-mbzomb0iand push.