Skip to content

[mypyc] Optimize __(a)enter__/__(a)exit__ paths for native case#14530

Merged
JukkaL merged 1 commit intopython:masterfrom
jhance:enter-exit-opt
Jan 30, 2023
Merged

[mypyc] Optimize __(a)enter__/__(a)exit__ paths for native case#14530
JukkaL merged 1 commit intopython:masterfrom
jhance:enter-exit-opt

Conversation

@jhance
Copy link
Copy Markdown
Collaborator

@jhance jhance commented Jan 26, 2023

Closes mypyc/mypyc#904

Directly calls enter and exit handlers in the case that the context manager is implemented natively.

Unfortunately the implementation becomes a bit more complicated because there are two different places where we call exit in different ways, and they both need to support the native and non-native cases.

Closes mypyc/mypyc#904

Directly calls enter and exit handlers in the case that the context manager is implemented natively.

Unfortunately the implementation becomes a bit more complicated because there are two different places where we call exit in different ways, and they both need to support the native and non-native cases.
Copy link
Copy Markdown
Collaborator

@JukkaL JukkaL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! Nice to have this performance bottleneck fixed.

@JukkaL JukkaL merged commit b2cf9d1 into python:master Jan 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Optimize with statement with native classes

2 participants