Hi Armin,
On Sun, Jul 13, 2008 at 23:19 +0200, Armin Rigo wrote:
> On Sun, Jul 13, 2008 at 06:00:37PM +0200, holger krekel wrote:
> > would be good to rename the --faassen option sometime soon
> > Martijn asked us multiple times already for it. What about
> > "--cheetah" or "--falcon"? other suggestions?
>
> "--allopts" is already an alias for it, and I changed the docs
> to mention it instead of --faassen.
ah, good. i only checked that "--allopts" is already there
for a long time.
> I also came up with some suggestion for the optimization options.
> What about introducing the --opt translation option (applying to all
> translations, not just targetpypystandalone) with the following possible
> values, which roughly correspond to the scheme used by gcc:
>
> --opt=0: all backendopt and other optimizations off; gc=boehm
> --opt=1: default backendopts, low inlining threadhold; gc=boehm
> --opt=size: same as opt=1 + remove_asserts
> --opt=mem: same as opt=size + gc=marknsweep (or some future low-ram gc)
> --opt=2: default backendopts; smallfuncset=5; gc=hybrid
> --opt=3: same as opt=2 + remove_asserts
i like the idea. But I find mixing in the choice of GC a bit odd.
what about defaulting to gc=hybrid and getting rid of
the boehm dependency?
> During a PyPy translation, we would control which pypy-specific options
> to use with the same scheme: a --pypyopt option (whose value is by
> default equal to the --opt option in order to reduce surprizes)
> according to a table like the following one:
>
> pypyopt option
> ===================================
>
> 2 3 ("objspace.opcodes.CALL_LIKELY_BUILTIN", True),
> 2 3 ("objspace.opcodes.CALL_METHOD", True),
> 3 ("translation.profopt", "..."),
> 2 3 ("objspace.std.withmultidict", True),
> 2 3 ("objspace.std.withshadowtracking", True),
> mem ("objspace.std.withsmallint", True),
> mem 2 3 ("objspace.std.withrangelist", True),
> 2 3 ("objspace.std.withmethodcache", True),
> mem 2 3 ("objspace.std.withprebuiltchar", True),
> 2 3 ("objspace.std.builtinshortcut", True),
> 2 3 ("objspace.std.optimized_list_getitem", True),
> 2 3 ("objspace.std.getattributeshortcut", True),
> mem ("objspace.std.withsharingdict", True),
>
> So this would generalize the --faassen and --allopts options. The
> fastest results would be obtained with --opt=3, --opt=size would try to
> minimize the executable size, --opt=mem would try to minimize run-time
> RAM usage.
Looks fine to me!
cheers,
holger
_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev