[m-users.] Enable LCMC tail recursion optimization by default?

Zoltan Somogyi zoltan.somogyi at runbox.com
Tue Apr 19 23:06:27 AEST 2016



On Tue, 19 Apr 2016 22:42:44 +1000, Peter Wang <novalazy at gmail.com> wrote:
> The standard library is compiled with --optimize-constructor-last-call.
> 
> We should consider enabling it by default.  I assume it would be done if
> shown not to degrade performance of the compiler (the only benchmark
> that matters ;)

I have done one test already: compiling the 20 largest modules of the compiler,
either specifying or not specifying --optimize-constructor-last-call. The result
is that there is no meaningful difference in compilation times. The pass that
implements the option was always reported as taking either 0.00 seconds or
0.01 second on those modules, i.e. its execution always got either 0 or 1
clock interrupts.

I am now doing a more extensive test, to see what the performance effect is
of compiling the compiler itself with --optimize-constructor-last-call.

Zoltan.


More information about the users mailing list