[Python-ideas] compile() getting an optmize flag

Georg Brandl g.brandl at gmx.net
Sat Nov 27 21:39:05 CET 2010


Am 26.11.2010 23:54, schrieb Floris Bruynooghe:
> 2010/11/26 M.-A. Lemburg <mal at egenix.com>:
>> Kristján Valur Jónsson wrote:
>>> When using python to compile to bytecode, it is really inconvenient that the compiler is fixed into using whatever opmiziation level the interpreter was started with.  This makes it impossible to create e.g. .zip libraries of different optimization levels from a single python session.  What is more, a program that creates optimized .zip files cannot itself have active asserts and so on.
>>> Adding the optimize state to the compiler´s state outht not to be too difficult.  We could then:
>>> compile(source, filename, mode[, flags[, dont_inherit[, optimize]]])
>>> with optmize defaulting to the interpreter's current level.
>>>
>>> Same with py_compile, and so on.
>>
>> +1
>>
>> We could then remove the tricks in distutils to compile a package
>> using an external spawned Python process to get around the
>> limitation.
> 
> FWIW I'm +1 as well
> 
> It would be nice getting rid of that spawning hack in our company's
> build process too.

I've posted a patch at http://bugs.python.org/issue10553.  Reviews are welcome.

Georg




More information about the Python-ideas mailing list