On Wed, Mar 11, 2015 at 5:29 PM Armin Rigo <ar...@tunes.org> wrote: > Hi Brett, > > On 6 March 2015 at 19:11, Brett Cannon <br...@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.
_______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com