[Parrot-users] running fib benchmark

Jonathan Leto jonathan at leto.net
Mon Feb 22 20:58:43 UTC 2010


Howdy Parth,

You are indeed running the benchmarks correctly, but a single run can
never be trusted, do to background processes waking up/etc. Here is
the output of timing fib.pir across released versions of Parrot, using
euler_bench with ten iterations each [0]:

$ BENCH_CONFIG=bench.yaml ./bin/bench
~/svn/parrot/examples/benchmarks/fib.pir parrot --count=10 --order=avg

   min     max     avg    total
 parrot /home/leto/src/parrot/parrot-0.8.1/parrot  0.3986  0.4217
0.4099  4.0991
 parrot /home/leto/src/parrot/parrot-0.9.0/parrot  0.4062  0.4208
0.4130  4.1305
 parrot /home/leto/src/parrot/parrot-0.8.2/parrot  0.4101  0.4494
0.4206  4.2064
 parrot /home/leto/src/parrot/parrot-0.9.1/parrot  0.4854  0.5061
0.4933  4.9333
 parrot /home/leto/src/parrot/parrot-1.0.0/parrot  0.5279  0.5565
0.5410  5.4100
 parrot /home/leto/src/parrot/parrot-1.1.0/parrot  0.5340  0.5630
0.5427  5.4268
 parrot /home/leto/src/parrot/parrot-1.2.0/parrot  0.5843  0.6277
0.5961  5.9606
 parrot /home/leto/src/parrot/parrot-1.4.0/parrot  0.5947  0.6151
0.6032  6.0322
 parrot /home/leto/src/parrot/parrot-1.3.0/parrot  0.5986  0.6266
0.6054  6.0536
 parrot /home/leto/src/parrot/parrot-1.5.0/parrot  0.6083  0.6290
0.6173  6.1733
 parrot /home/leto/src/parrot/parrot-1.9.0/parrot  0.6839  0.7392
0.7004  7.0036
 parrot /home/leto/src/parrot/parrot-1.7.0/parrot  0.7630  0.7855
0.7698  7.6978
 parrot /home/leto/src/parrot/parrot-1.8.0/parrot  0.8316  0.8620
0.8449  8.4485
 parrot /home/leto/src/parrot/parrot-1.6.0/parrot  0.8389  0.8697
0.8552  8.5520
 parrot /home/leto/src/parrot/parrot-2.1.1/parrot  0.8470  0.8766
0.8556  8.5563
 parrot /home/leto/src/parrot/parrot-2.1.0/parrot  1.0427  1.1071
1.0592  10.5924

As you can see, recent versions of Parrot are roughly twice as slow as
older versions on the same benchmark. Sometimes fixing bugs and making
things more "correct" slow things down temporarily.
Also, Parrot has no JIT currently (it was ripped out in 1.7.0 and is
being redesigned) so you will notice  a jump on some benchmarks around
that version.

One nice thing to note is that Parrot 2.1.1 is about 20% faster than
Parrot 2.1.0 on this benchmark, most probably due to garbage
collection tuning and optimization. Thanks chromatic!

Duke


On Mon, Feb 22, 2010 at 12:21 PM, Parth Malwankar
<parth.malwankar at gmail.com> wrote:
> Hello,
>
> While experimenting with parrot I tried running
> examples/benchmarks/fib.xx. The results are somewhat surprising.
>
> [benchmarks]% time python fib.py 30
> fib(30) = 832040
> python fib.py 30  1.03s user 0.02s system 77% cpu 1.356 total
> [benchmarks]% time perl fib.pl 30
> fib(30) = 832040
> perl fib.pl 30  2.29s user 0.01s system 86% cpu 2.652 total
> [benchmarks]% time ruby1.8 fib.rb 30
> fib(30) = 832040
> ruby1.8 fib.rb 30  3.85s user 1.19s system 88% cpu 5.679 total
> [benchmarks]% time parrot fib.pir 30
> fib(30) = 832040 10.8722469806671s
> parrot fib.pir 30  10.84s user 0.02s system 99% cpu 10.888 total
> [benchmarks]% parrot -V
> This is Parrot version 2.1.1 built for i386-linux.
> ...
>
> The command line used to build parrot (2.1.1) was:
>  perl Configure.pl --prefix=$HOME/install/parrot-2.1.1 --optimize
> --debugging=0 --jitcapable --execcapable
>
> Are the above results expected or do I need to do something differently?
>
> Thanks,
> Parth
> _______________________________________________
> Parrot-users mailing list
> Parrot-users at lists.parrot.org
> http://lists.parrot.org/mailman/listinfo/parrot-users
>



-- 
Jonathan "Duke" Leto
jonathan at leto.net
http://leto.net


More information about the Parrot-users mailing list