Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"2x gain in eventual performance"

It only takes 2 seconds before JRuby catches up with 1.9.2. That's not long, so unless your program only runs for a few seconds, the wait is worth it



The way I see it, languages like Ruby aren't meant for high performance computing: one can pick from a dozen statically typed languages to implement time-critical algorithms. The power and beauty of Ruby is its flexibility, "fluidity", and ability to glue services provided by an operating system and a million OS-native modules. Just look into your /usr/lib.

JRuby lacks that: it only "glues" JARs together and it introduces a shockingly huge startup lag which makes your development feel like you're compiling C++ code between test runs. And even gluing JARs is kind of pointless: Java itself, with its plethora of autocompleting IDEs, is a much better environment to learn and experiment with APIs like Batik or Apache POI.


Perhaps JRuby simply isn't for you. We're using JRuby with Rails, and the tradeoffs are well worth it. Performance is quite good, and the laggy startup is irrelevant to a long-running server process like Rails.

More critically, our development time is significantly reduced by using a highly expressive language like Ruby. Code is more readable, more understandable, and a heck of a lot faster to write. Plus, we can still use all the neat Java libraries like Jetty, Lucene, and JavaMail. Add in things like java NIO, and it matches our needs nicely.

While JRuby might not suit your particular application, it's doing wonderful, useful work for a lot of people. Horses for courses, as they say.


Ruby may not be the fastest language in the world, but that doesn't mean that we shouldn't strive for better performance. As far as startup times are concerned, have you tried using nailgun?

http://blog.headius.com/2009/05/jruby-nailgun-support-in-130...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: