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

M.-A. Lemburg mal at egenix.com
Fri Nov 26 13:27:08 CET 2010


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.

See e.g. mxTools for an alternative, but not thread-safe approach:

http://www.egenix.com/products/python/mxBase/mxTools/doc/#_Toc199521822

mx.Tools.optimization([level])

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Nov 26 2010)
>>> Python/Zope Consulting and Support ...        http://www.egenix.com/
>>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

::: Try our new mxODBC.Connect Python Database Interface for free ! ::::


   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/



More information about the Python-ideas mailing list