Sean O'Rourke <[EMAIL PROTECTED]> wrote:
> At least on Fibonacci, there's room for improvement, even after
> ignoring calling conventions and hand-tweaking the assembly a bit.
> Here are the numbers for n=27, running "parrot -j -O2":
-O2 isn't working and disabled. Anyway run it with "-j -Oc". This
improves register saving times by replacing savetop/restoretop with
more specific ops for the PIR version.
Was Parrot build optimized?
$perl Configure.pl ... --optimize
> 1002 savetop 635621 1.025097 0.0016
> 44 newsub_p_ic_ic 635620 0.891770 0.0014
^^^^^^
> $P0 = new .Sub
> $P0 = addr _funcname3638
That should be just:
$I1 = _fib($I0) # assuming _funcname3638 is _fib
... so that the compiler can emit the fastest code to call the function.
This will be something like:
get_pmc_const P0, "_fib"
invokecc
leo