Forum: Ruby YARV benchmarking

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
E. Saynatkari (Guest)
on 2006-02-23 03:38
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
removed_email_address@domain.invalid:/usr/obj/usr/src/sys/LAPTOP  amd64

(1.8GHz, 512MiB)


E
Luc H. (Guest)
on 2006-02-23 15:21
(Received via mailing list)
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.

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   *
-------------------------------------------------
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
This topic is locked and can not be replied to.