Thursday, April 1, 2010

Ruby 1.9.1 about twice as fast as JRuby 1.4.0 for my cookingspace.com Rails app

Update: I got better JRuby results in a second benchmark using the JDBC adapters with JRuby (13.8 requests per second with JRuby and 15.8 requests per second with Ruby 1.9.1).

My CookingSpace.com web app (something that I wrote for my own use) runs about twice as fast using Ruby 1.9.1. Also, instead of using mongrel (faster) I ran the Ruby 1.9.1 test using Webrick because I used Webrick for the JRuby test. The Apache Benchmark command line arguments used:
ab -n 20 -c 5 http://127.0.0.1:3000/site/show_random_plan
I let the JRuby test "warm up" Hotspot-wise for several minutes before taking these measurements:

JRuby 1.4.0 and Webrick

Total transferred:      125814 bytes
HTML transferred: 114781 bytes
Requests per second: 7.52 [#/sec] (mean)
Time per request: 664.628 [ms] (mean)
Time per request: 132.926 [ms] (mean, across all concurrent requests)
Transfer rate: 46.22 [Kbytes/sec] received

Ruby 1.9.1 and Webrick

Total transferred:      123214 bytes
HTML transferred: 111672 bytes
Requests per second: 15.82 [#/sec] (mean)
Time per request: 316.149 [ms] (mean)
Time per request: 63.230 [ms] (mean, across all concurrent requests)
Transfer rate: 95.15 [Kbytes/sec] received
Don't get me wrong: JRuby is an awesomely useful project, especially for me because I use my NLP libraries written in Java with JRuby - very convenient! And, the performance boost with Ruby 1.9.1 is fantastic for Rails web apps.

0 comments:

Post a Comment

Note: Only a member of this blog may post a comment.