Two more micro-optimizations#19627
Merged
ilevkivskyi merged 1 commit intopython:masterfrom Aug 9, 2025
Merged
Conversation
Contributor
|
According to mypy_primer, this change doesn't affect type check results on a corpus of open source code. ✅ |
Member
Author
|
Btw just wanted to brag about how stable is my local bench: (you read that right, standard deviation is just 8 milliseconds) |
sterliakov
approved these changes
Aug 9, 2025
Collaborator
sterliakov
left a comment
There was a problem hiding this comment.
Nice one! Please post this to plugin API announcements - I expect some plugins in wild might use this functionality (yes, undocumented, yes, private, let's just do that and let people know something might break).
since apparently pytest depends on numpy
Now that was interesting.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This has two things (totalling 1.5% locally, but see caveat below):
@contextmanger(that is relatively slow) forlocal_type_map, since it appears in multiple hot paths.difflibthat can be extremely slow with large modules.Btw the second will probably not affect self-check, although it did affect my self-check, since apparently
pytestdepends onnumpy. Well, they don't specify it as a package dependency, but https://github.com/pytest-dev/pytest/blob/main/src/_pytest/python_api.py#L17-L18(and I have numpy installed in all my environments, LOL)