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 <[email protected]> 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 > [email protected] > http://lists.parrot.org/mailman/listinfo/parrot-users > -- Jonathan "Duke" Leto [email protected] http://leto.net _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
