[Python-Dev] PEP 488: elimination of PYO files
Brett Cannon
brett at python.org
Wed Mar 11 23:08:21 CET 2015
On Wed, Mar 11, 2015 at 5:29 PM Armin Rigo <arigo at tunes.org> wrote:
> 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.)
>
Interesting, so you simply merged the optimization levels 0 and 1 in the
bytecode and basically drop .pyo files thanks to it. That might be some
motivation to support the default file name not having any specified
optimization level at all.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20150311/62be8e81/attachment.html>
More information about the Python-Dev
mailing list