[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