Skip to content

Avoid excessive stack usage in all cases. #94445

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
markshannon opened this issue Jun 30, 2022 · 0 comments
Open

Avoid excessive stack usage in all cases. #94445

markshannon opened this issue Jun 30, 2022 · 0 comments
Labels
3.12 only security fixes interpreter-core (Objects, Python, Grammar, and Parser dirs) performance Performance or resource usage

Comments

@markshannon
Copy link
Member

markshannon commented Jun 30, 2022

In 3.11 we asserted that we didn't use too much stack, but that failed #94329

If we can guarantee that no code object uses more than a certain number of slots, N, where N should be in the order of a 100, we can potentially simplify and speed up bounds and recursion checking by combining them.

It also means we can use fixed size chunks for the frame stack, as we know that no frame can be larger than a chunk.

@markshannon markshannon added performance Performance or resource usage 3.12 only security fixes labels Jun 30, 2022
miss-islington pushed a commit to miss-islington/cpython that referenced this issue Nov 8, 2022
miss-islington added a commit that referenced this issue Nov 8, 2022
@iritkatriel iritkatriel added the interpreter-core (Objects, Python, Grammar, and Parser dirs) label Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.12 only security fixes interpreter-core (Objects, Python, Grammar, and Parser dirs) performance Performance or resource usage
Projects
None yet
Development

No branches or pull requests

2 participants