-
-
Notifications
You must be signed in to change notification settings - Fork 32.5k
Closed
Labels
interpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)performancePerformance or resource usagePerformance or resource usagetype-featureA feature request or enhancementA feature request or enhancement
Description
Feature or enhancement
Prerequisites
- Overhaul Symbol API and add tests: gh-115816: Improve internal symbols API in optimizer #116028Re-enable optimizer by default: gh-115859: Re-enable T2 optimizer pass by default #116062To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.
Optimizations to be added to the tier 2 optimizer for 3.13
- Normal _TO_BOOL specializations and friends.
- TO_BOOL_ALWAYS_TRUE (only if it's worth it?)
To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.- _GUARD_IS_TRUE_POP
- _GUARD_IS_FALSE_POP
- _GUARD_IS_NONE_POP
- _GUARD_IS_NOT_NONE_POP
To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.All remaining type and value propagation.Extract type guards forCOMPARE_OP_INT/FLOAT/STR
- Split up into uops
- Propagate bool value and constants too.
To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.Any remaining guard elimination not handled above- Eliminate/combine redundant stack checks (
_CHECK_STACK_SPACE
)
To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.
If we have time:
- To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.Replace
CALL_TUPLE_1
for list and generator argumentsOnly specializeCALL
in tier for type. Generate optimal argument handling code in tier 2.To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.
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 usagetype-featureA feature request or enhancementA feature request or enhancement
Projects
Milestone
Relationships
Development
Select code repository
Activity
mdboom commentedon Feb 13, 2024
This is perhaps so rough as to be meaningless (i.e. uop counts != run time), but in an attempt to help prioritize these tasks, I thought I'd share some aggregate counts from a recent pyperformance run:
@markshannon: Let me know if anything else like this would be helpful.
Fidget-Spinner commentedon Feb 14, 2024
I am assigning myself all binary op related stuff. Since it is relatively straightforward.
gh-115419: Change default sym to not_null (GH-116562)
pythongh-115419: Change default sym to not_null (pythonGH-116562)
pythongh-115419: Change default sym to not_null (pythonGH-116562)
pythongh-115419: Change default sym to not_null (pythonGH-116562)
GH-115419: Tidy up tier 2 optimizer. Merge peephole pass into main pa…
GH-115419: Improve list of escaping functions (GH-118054)
GH-115419: Move setting the instruction pointer to error exit stubs (G…
markshannon commentedon Aug 15, 2024
3.13 is nearing release, so nothing more is going in 3.13.
Everything we didn't get done for 3.13 will get into 3.14 (if it hasn't been done already)