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

The Tier 2 Optimizer #113710

Open
4 tasks
Fidget-Spinner opened this issue Jan 4, 2024 · 0 comments
Open
4 tasks

The Tier 2 Optimizer #113710

Fidget-Spinner opened this issue Jan 4, 2024 · 0 comments
Labels
interpreter-core (Objects, Python, Grammar, and Parser dirs) performance Performance or resource usage type-feature A feature request or enhancement

Comments

@Fidget-Spinner
Copy link
Member

Fidget-Spinner commented Jan 4, 2024

Feature or enhancement

Proposal:

We're getting a JIT. Now it's time to optimize the traces to pass them to the JIT. The following workstreams are somewhat parallel, and split into two parts. They will not necessarily land in order.

  1. The specializer. This will be done as its own pass on uops. Please see Mark's issue here Superblock optimization: Specialization faster-cpython/ideas#560.
  2. The uops optimizer. This is a separate pass. In general there are two parts, uops abstract interpretation, and optimized code generation. Please see this document for more information. The following optimizations are targeted:
    • Value numbering
    • Type + constant propagation
    • True function inlining

Tasks

Has this already been discussed elsewhere?

No response given

Links to previous discussion of this feature:

No response

Linked PRs

@Fidget-Spinner Fidget-Spinner added type-feature A feature request or enhancement performance Performance or resource usage interpreter-core (Objects, Python, Grammar, and Parser dirs) labels Jan 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
interpreter-core (Objects, Python, Grammar, and Parser dirs) performance Performance or resource usage type-feature A feature request or enhancement
Projects
None yet
Development

No branches or pull requests

1 participant