Does CPython already has Peephole optimizations?
On 2/17/14 3:59 AM, Steven D'Aprano wrote:
> On Mon, 17 Feb 2014 13:54:25 +0530, Laxmikant Chitare wrote:
>> I read about this article:
>> Just wanted to clarify whether CPython already includes these kind of
>> byte code optimizations? Are all the temporary variables removed when
>> byte code is generated?
> You can check these things for yourself:
> import dis
> will show you the byte code.
> But in general, I would expect not. CPython (that's the Python you
> probably use) doesn't do a lot of optimization apart from some simple
> constant folding. If you're interested in optimizing Python, you should
> look at the JIT optimizing Python compiler, PyPy.
CPython does some constant folding, and also jump optimizations. In my
role as coverage.py maintainer, I would love to see a way to disable all
those optimizations. I tried filing a bug about it
(http://bugs.python.org/issue2506), but it did not win the popular
support I had hoped for.
Ned Batchelder, http://nedbatchelder.com