YARV benchmarking

With YARV 0.4 out, I ran the benchmark suite and got some
interesting results. These are of course non-real-world
results (those typically vary between 2-4 times faster)
but I would be interested in seeing architechture differences.

Overall, in my case YARV executed the same code in 59.3% of
the time ruby took on it or in other words, a bit over half
again faster. The few other people I spoke to showed times
anywhere between 40-60%.

There were some tests that YARV was actually slower in.
Exception handling, Integer#times loops, threading and
some recursion is still a bit behind (in these tests
anyway).

YARV is at http://atdot.net/yarv

--- Results ------------------------------------------------
    (The ones where YARV is slower marked with *'s.)
                          ruby yarv
                          ---- ----
app_answer 1.971 0.328
app_factorial 0.057 0.544 *
app_fib 11.914 4.546
app_mandelbrot 3.749 2.113
app_pentomino 151.232 134.332
app_raise 2.224 3.232 *
app_strconcat 2.128 1.853
app_tak 15.227 5.573
app_tarai 11.761 4.473
loop_times 6.419 17.455 *
loop_whileloop 17.166 7.461
loop_whileloop2 3.389 1.507
so_ackermann 2.106 6.085 *
so_array 11.575 10.383
so_concatenate 3.116 3.336 *
so_count_words 2.921 0.861
so_exception 4.488 4.608 *
so_lists 2.208 1.167
so_matrix 3.058 2.262
so_nested_loop 9.133 12.835 *
so_object 9.499 10.440 *
so_random 3.161 1.820
so_sieve 1.166 0.488
vm1_block 38.336 13.484
vm1_const 30.782 9.581
vm1_ensure 28.041 7.547
vm1_length 33.102 14.533
vm1_rescue 22.668 8.751
vm1_simplereturn 35.084 12.274
vm1_swap 37.236 9.112
vm2_array 10.348 6.022
vm2_method 22.362 8.369
vm2_poly_method 29.600 10.360
vm2_poly_method_ov 7.687 3.456
vm2_proc 11.107 9.039
vm2_regexp 6.932 4.406
vm2_send 7.252 6.162
vm2_super 8.083 3.072
vm2_unif1 6.807 2.512
vm2_zsuper 8.985 3.294
vm3_thread_create_join 0.020 0.149 *

···

-------------------------------------------------
Total: 624.100 369.825

--- Versions ------------------------------------------------
ruby 2.0.0 (Base: Ruby 1.9.0 2006-02-14) [x86_64-freebsd6.0]
YARVCore 0.4.0 Rev: 466 (2006-02-22) [opts: ]

ruby 1.8.4 (2005-12-24) [amd64-freebsd6]

--- Machine -------------------------------------------------
FreeBSD yawn.magical-cat.org 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Jan
5 16:29:48 EST 2006
ruerue@yawn.magical-cat.org:/usr/obj/usr/src/sys/LAPTOP amd64

(1.8GHz, 512MiB)

E

--
Posted via http://www.ruby-forum.com/.

Here are mine:

-- benchmark summary ---------------------------
(The ones where YARV is slower marked with *'s.)

                           ruby yarv
                           ---- ----
app_answer 2.418 0.405
app_factorial 1.456 0.743
app_fib 15.248 5.514
app_mandelbrot 4.999 2.450
app_pentomino 212.400 104.224
app_raise 4.370 4.844 *
app_strconcat 3.648 2.852
app_tak 19.795 7.156
app_tarai 15.720 5.735
loop_times 8.294 5.903
loop_whileloop 21.181 9.547
loop_whileloop2 4.250 1.924
so_ackermann 42.671 6.196
so_array 14.458 7.160
so_concatenate 3.876 2.178
so_count_words 1.610 0.955
so_exception 7.298 6.310
so_lists 2.518 1.429
so_matrix 4.011 1.998
so_nested_loop 11.652 6.595
so_object 13.858 9.797
so_random 4.680 2.514
so_sieve 1.555 0.677
vm1_block 51.689 16.343
vm1_const 38.324 13.231
vm1_ensure 37.261 9.546
vm1_length 40.715 19.410
vm1_rescue 30.107 11.241
vm1_simplereturn 42.499 14.965
vm1_swap 53.092 11.935
vm2_array 12.452 6.581
vm2_method 26.487 10.435
vm2_poly_method 37.888 13.257
vm2_poly_method_ov 9.918 4.250
vm2_proc 15.580 4.702
vm2_regexp 9.237 6.154
vm2_send 9.632 4.729
vm2_super 10.475 3.786
vm2_unif1 8.588 3.351
vm2_zsuper 11.429 4.171
vm3_thread_create_join 0.035 0.799 *

···

On 23 févr. 06, at 02:38, E. Saynatkari wrote:

With YARV 0.4 out, I ran the benchmark suite and got some
interesting results. These are of course non-real-world
results (those typically vary between 2-4 times faster)
but I would be interested in seeing architechture differences.

-------------------------------------------------
Total: 867.374 355.992

--- Versions ------------------------------------------------
Ruby:
ruby 1.8.4 (2005-12-24) [powerpc-darwin8.3.0]

YARV:
ruby 2.0.0 (Base: Ruby 1.9.0 2006-02-14) [powerpc-darwin8.5.0]
YARVCore 0.4.0 Rev: 471 (2006-02-22) [opts: ]

--- Machine -------------------------------------------------
Darwin arrakis.local 8.5.0 Darwin Kernel Version 8.5.0: Sun Jan 22 10:38:46 PST 2006; root:xnu-792.6.61.obj~1/RELEASE_PPC Power Macintosh powerpc

--
Luc Heinrich - luc@honk-honk.com - http://www.honk-honk.com