[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