{{ message }}
bpo-31650: PEP 552 (Deterministic pycs) implementation#4575
Merged
benjaminp merged 14 commits intoDec 9, 2017
Merged
Conversation
780bf48 to
cd28db3
Compare
November 27, 2017 07:31
gpshead
reviewed
Nov 28, 2017
1 hidden conversation
Load more…
benjaminp
commented
Nov 28, 2017
benjaminp
left a comment
Contributor
Author
There was a problem hiding this comment.
Thanks for the comments! Update incoming.
Sorry, something went wrong.
cd28db3 to
737f925
Compare
November 28, 2017 05:47
brettcannon
reviewed
Dec 1, 2017
brettcannon
left a comment
Member
There was a problem hiding this comment.
Pretty much all of my comments are minor, so no need to have to double-check any changes made based on my feedback.
Sorry, something went wrong.
737f925 to
b3a7070
Compare
December 3, 2017 07:08
gpshead
approved these changes
Dec 9, 2017
gpshead
left a comment
Member
There was a problem hiding this comment.
some minor comments to address but overall i believe this is good to go in when you are ready.
thanks!
Sorry, something went wrong.
Python now supports checking bytecode cache up-to-dateness with a hash of the source contents rather than volatile source metadata. See the PEP for details. While a fairly straightforward idea, quite a lot of code had to be modified due to the pervasiveness of pyc implementation details in the codebase. Changes in this commit include: - The core changes to importlib to understand how to read, validate, and regenerate hash-based pycs. - Support for generating hash-based pycs in py_compile and compileall. - Modifications to our siphash implementation to support passing a custom key. We then expose it to importlib through _imp. - Updates to all places in the interpreter, standard library, and tests that manually generate or parse pyc files to grok the new format. - Support in the interpreter command line code for long options like --check-hash-based-pycs. - Tests and documentation for all of the above.
e5d54da to
f498a91
Compare
December 9, 2017 08:35
Contributor
Author
|
Thanks again for the reviews, Brett and Greg! |
Sorry, something went wrong.
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.
Python now supports checking bytecode cache up-to-dateness with a hash of the
source contents rather than volatile source metadata. See the PEP for details.
While a fairly straightforward idea, quite a lot of code had to be modified due
to the pervasiveness of pyc implementation details in the codebase. Changes in
this commit include:
The core changes to importlib to understand how to read, validate, and
regenerate hash-based pycs.
Support for generating hash-based pycs in py_compile and compileall.
Modifications to our siphash implementation to support passing a custom
key. We then expose it to importlib through _imp.
Updates to all places in the interpreter, standard library, and tests that
manually generate or parse pyc files to grok the new format.
Support in the interpreter command line code for long options like
--check-hash-based-pycs.
Tests and documentation for all of the above.
https://bugs.python.org/issue31650