[pypy-dev] new -O option

holger krekel holger at merlinux.eu
Mon Aug 4 09:03:01 CEST 2008


Hi Armin, 

On Sun, Aug 03, 2008 at 15:13 +0200, Armin Rigo wrote:
> Hi all,
> 
> I'm going to merge the "opt-option" branch; I'll write a blog post entry
> when it's done.  It removes the "--faassen" and "--allopts" options to
> translate.py and adds instead the "--opt=#" option, which can also be
> spelled "-O#", where "#" is one of 0, 1, size, mem, 2 or 3.  Levels from
> 0 to 3 are trade-offs between the time+memory it takes to translate, and
> the efficiency of the produced executable.  Levels "size" and "mem" try
> (or should try in the future) to minimize the executable size and the
> runtime memory usage, respectively.  The level is a global option of
> translate.py but it also influences PyPy-specific options in
> targetpypystandalone.py; for example, a bit arbitrarily, geninterp is
> disabled with -O0.  The specific config options enabled or disabled by
> each level can depend on e.g. the selected backend; see the two
> functions set_opt_level() and set_pypy_opt_level().

looks good.  i particularly like that a single "-O#" sets
things nicely both for translation and the target. 

> We have a number of open branches; does it make sense, in an effort to
> reduce confusion, to apply this change to some of them too?

Maybe, yes.  Reminds me: I'd really like to see better tool 
support for working with branches. eazysvn from Marius Gedminas 
might help a bit (haven't tried) but i am rather thinking of
something that helps me efficiently managing 
e.g. my "codespeak.net/svn/pypy" checkout, including quick
overviews of active branches, easy merging (without knowing
numbers) etc.  Some might think "dvcs!" here but it's a while
until we go there, i think, and i even consider somewhat orthogonal 
to having support for my particular work flow. 

cheers, 

holger



More information about the Pypy-dev mailing list