-
-
Notifications
You must be signed in to change notification settings - Fork 33.9k
Open
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)performancePerformance or resource usagePerformance or resource usagetopic-JITtype-featureA feature request or enhancementA feature request or enhancement
Description
Feature or enhancement
Proposal:
Hi team, I found an optimization opportunity: len() calls on string constants can be
optimized at compile time, similar to how tuple constants are handled.
Quick testing with python -m test showed _CALL_LEN hits:
- str: 23 (6 optimizable with this patch)
- list: 28
- tuple: 4 (3 already optimized)
This patch extends the existing constant folding for len(tuple) to also handle
len("string"), replacing the function call with _SHUFFLE_3_LOAD_CONST_INLINE_BORROW
when the result is an immortal integer.
Has this already been discussed elsewhere?
No response given
Links to previous discussion of this feature:
No response
Linked PRs
Metadata
Metadata
Assignees
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)performancePerformance or resource usagePerformance or resource usagetopic-JITtype-featureA feature request or enhancementA feature request or enhancement