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