On Feb 28, 2006, at 12:09, Nicolas Cannasse wrote:

Yesterday I did a quick fib(30) benchmark comparing Parrot Win32 daily build (using jit core) and NekoVM (http://nekovm.org). The results are showing that Parrot is 5 times slower than Neko (see my blog post on this point there : http://ncannasse.free.fr/?p=66).

Benchmarks are just damn lies ;)

$ time ./parrot -j fib.pir 30
Fib(30): 1346269

real    0m4.774s

Ok that's slow (AMD [EMAIL PROTECTED], unoptimized parrot build), you are right. But:

$ time ./parrot -Cj fib.pir 30
Fib(30): 1346269

real    0m0.036s

$ time ./parrot -Cj fib.pir 38
Fib(38): 63245986

real    0m0.675s

$ time ./parrot -Cj fibn.pir 38
Fib(38.0): 63245986.0

real    0m1.475s


The rather slow function call performance is coming from a complex call frame creation and flexible argument passing. The whole code involved with calls/returns isn't optimized either.

The '-Cj' runtime options tries to compile simple subs to native assembler code (and obviously succeeds here ;)

leo

Reply via email to