{{ message }}
bpo-40255: Implement Immortal Instances - Optimizations Combined#31491
Closed
eduardo-elizondo wants to merge 1 commit into
Closed
bpo-40255: Implement Immortal Instances - Optimizations Combined#31491eduardo-elizondo wants to merge 1 commit into
eduardo-elizondo wants to merge 1 commit into
Conversation
Contributor
|
You can use this in deepfrozen modules to get this even faster see cpython/Tools/scripts/deepfreeze.py Line 140 in 74127b8 |
Sorry, something went wrong.
Member
That's great news! I'm going to update PEP 683 with the outcome and some of the details. |
Sorry, something went wrong.
gvanrossum
reviewed
Mar 1, 2022
gvanrossum
left a comment
Member
There was a problem hiding this comment.
Nice work! Here are some random review comments. Hopefully they're helpful. I decided to only review the final PR (with all optimizations). I skipped the .py files and a few others for now.
Sorry, something went wrong.
1 hidden conversation
Load more…
methane
reviewed
Mar 9, 2022
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
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.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.
This is an optimization on top of PR19474.
It combines PR31488, PR31489, and PR31490 into a single change to measure the combined performance benefits.
These results do not change too much from what was already achieved independently by these optimizations (as some of the immortalized instances start overlaping with each other). That being said, performance will keep scaling as the application scales as well. The current microbenchmarks do not measure applications that contain hundreds of imports or thousands of interned strings. Nonetheless, it is still worthwhile to consider all of these improvements in conjunction when thinking about larger scale applications.
Benchmark Results
Overall: 0% faster compared to the main branch and the highest number of non-stat significant benchmarks (18)
pyperformance results
https://bugs.python.org/issue40255