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

Reply via email to