[Python-Dev] PEP 488: elimination of PYO files
Armin Rigo
arigo at tunes.org
Wed Mar 11 22:28:53 CET 2015
Hi Brett,
On 6 March 2015 at 19:11, Brett Cannon <brett at python.org> wrote:
> I disagree with your premise that .pyo files don't have a noticeable effect
> on performance. If you don't use asserts a lot then there is no effect, but
> if you use them heavily or have them perform expensive calculations then
> there is an impact.
Maybe you'd be interested to learn that PyPy (at least the 2.x branch)
uses a new bytecode, JUMP_IF_NOT_DEBUG, to conditionally jump over the
"assert" line. In "optimized" mode PyPy follows the jumps; in
"non-optimized" mode it doesn't. This mode is initialized with the -O
flag but can be changed dynamically, as the bytecode is the same. We
introduced it as a simple solution to the mess of .pyc versus .pyo.
(We didn't consider the case of -OO very closely because PyPy is much
bigger than CPython as a binary to start with, so the demand for that
is lower.)
A bientôt,
Armin.
More information about the Python-Dev
mailing list