Slower than 1.9.2 report

Well, since you suggested reporting when jruby was slower than 1.9.2…

http://betterlogic.com/roger/?p=2866

lists how it is basically slower for rails. At least the server
version, anyway.
So there’s your report.
NB that it’s actually faster on windows than MRI. Nice work there.
Enjoy!
-rp

Did you run it as described in the readme, which says to use one
iteration?
If so, the numbers may not be valid.

If not, then there’s probably other things we can look at to improve
performance, but the golden rule of benchmarking applies: these
benchmarks
tell you exactly one thing: how well an implementation runs these
benchmarks
:slight_smile:

It’s also too bad it isn’t Rails 3…from what I have heard, JRuby is
consistently the fastest for benchmarks against Rails 3.

  • Charlie (from mobile)

I ran some numbers for request_root, and while MRI timed about the same
as
your results, my JRuby numbers were drastically better.

I first ran client mode with five iterations. The first time was around
your
time, and it sped up to around 1.6s, comfortably faster than 1.9. Then I
tried with server and five iterations. The numbers never got faster than
MRI. It seems like the benchmark involves so much code and runs for such
a
short time that not enough optimization happens.

When I am settled in at the hotel I will post some numbers.

  • Charlie (from mobile)

On Jun 6, 2010 2:23 PM, “Charles Oliver N.” [email protected]
wrote:

Did you run it as described in the readme, which says to use one
iteration?
If so, the numbers may not be valid.

If not, then there’s probably other things we can look at to improve
performance, but the golden rule of benchmarking applies: these
benchmarks
tell you exactly one thing: how well an implementation runs these
benchmarks
:slight_smile:

It’s also too bad it isn’t Rails 3…from what I have heard, JRuby is
consistently the fastest for benchmarks against Rails 3.

  • Charlie (from mobile)

I’ve attached results from JRuby and Ruby 1.8.7. Other than startup
and running tests, JRuby is easily faster, with some of our slowest
times even being faster than MRI’s fastest.

I wasn’t able to get it to run with Ruby 1.9.2 on my machine, but you
can probably project from these results how JRuby would compare.

Note that many of the numbers had not settled down by the time the
bench was over; they could continue to get faster. And this was just
on the client VM…server would eventually be even faster, but
takes a long time to warm up.

On Sun, Jun 6, 2010 at 9:26 PM, Charles Oliver N.

I wasn’t able to get it to run with Ruby 1.9.2 on my machine, but you
can probably project from these results how JRuby would compare.

What didn’t work?
Unfortunately it’s hard to extrapolate because of the different
hardware.
Apparently, according to your results, it indeed makes a big difference
(?)

Note that many of the numbers had not settled down by the time the
bench was over; they could continue to get faster. And this was just
on the client VM…server would eventually be even faster, but
takes a long time to warm up.

It’s also too bad it isn’t Rails 3…from what I have heard, JRuby is
consistently the fastest for benchmarks against Rails 3.

Antonio will probably give you write access if you want to tweak the
tests so that they run long enough, or add new tests.

I suppose we could add something like a “stable state” (instead of
iteration based) metric.

Cheers!
-rp

Hi Charles,

I have just experienced some hard time in syncing the benchmark scripts
via
git, going through a proxy :).
Next, i seem to cannot run the benchmarks successfully.

Could you please share your experience with running the scripts ? How
did
you change the different JVMs (does changing the value of the JAVA_HOME
environment variable work ?), how did you point to the Ruby / JRuby
installation ?
Right now i get the “‘ruby’ is not recognized as an internal or external
command,” error, which actually tells me that by default the scripts
require
Ruby VM.
How did you solve that ?
What steps did you do in order to get out some meaningful results ?

Thanks in advance,
Kindest Regards,
Krum.

Right now i get the “‘ruby’ is not recognized as an internal or external
command,” error, which actually tells me that by default the scripts
require
Ruby VM.
How did you solve that ?

I think you have to run it like
rake VM=jruby
to get it to run jruby currently.

I would make it able to use jruby as the driver [1] but jruby can’t
adequately kill processes in windows yet
[http://jira.codehaus.org/browse/JRUBY-4862]

-rp

[1] patch to the RBS to make it use native driver for the benchmarks where available, instead of the just "ruby" · GitHub