Skip to content
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

Things to do before 3.11 beta #320

Closed
2 of 10 tasks
markshannon opened this issue Mar 14, 2022 · 2 comments
Closed
2 of 10 tasks

Things to do before 3.11 beta #320

markshannon opened this issue Mar 14, 2022 · 2 comments
Labels
3.11 Things we intend to do for 3.11 Epic Meta Stuff about the project (incl. management)

Comments

@markshannon
Copy link
Member

markshannon commented Mar 14, 2022

3.11 beta is on 2022-05-06 https://peps.python.org/pep-0664/
before then we want to do the following:

Quickening

  • Perform quickening in place
  • Lazily create co_code
  • Don't use temporary bytes object when unmarshaling

Extra superinstructions

  • Remove most PUSH_NULLs
  • Restore LOAD_FAST__LOAD_ATTR_VAUE
  • Add RESUME__LOAD_FAST superinstruction
  • Maybe add some sort of extended jump instruction(s)

Fix up CALL instructions

This still needs some more investigation

  • Specialize for METH_METHOD correctly
  • Reduce overhead of PRECALL
  • Sort out calls to Python classes

Why has startup slowed down?

python/cpython#31872 might help.

Make sure that performance improvements on Windows are comparable to Linux

@gvanrossum gvanrossum added Meta Stuff about the project (incl. management) 3.11 Things we intend to do for 3.11 Epic labels Mar 14, 2022
@markshannon
Copy link
Member Author

markshannon commented Apr 4, 2022

Removed "Instrumentation section" See #112 (comment)

@markshannon
Copy link
Member Author

3.11 beta has been released.

We did improve Windows performance quite a lot.
Other than that, it seems like we didn't get much of the above done, but we looked into them all, and most turned out not to be that important to get done for 3.11

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.11 Things we intend to do for 3.11 Epic Meta Stuff about the project (incl. management)
Projects
None yet
Development

No branches or pull requests

2 participants