On 04/03/2008, Lionel Bouton <lionel-subscription / bouton.name> wrote:
>
> For the small scripts problem with the JVM loading, at some point I've
> read that future JVMs would have the ability of acting as resident
> interpreters (ie: a JVM is always running in the background and new
> instances are simply feeding it the code instead of loading a whole new
> JVM). I didn't found any documentation on that in the java man page of
> my local Sun 1.6.0.03 JDK install though :-(
Technically Java can do that for ages already. It has a proper VM that
you can reset. So all you need is a small application that loads a
class, executes it, resets the VM, etc. The only obstacle is you would
have to write it ;-)
Actually it's the only major defect I see in ruby MRI - it is not a
proper VM that can be reset, equipped with various GCs, and whatnot.
JRuby is a very nice bridge that allows exploiting the years of
development that went into JVM without tying your application to it.
BTW I do not find the small script performance that bad. Implementing
something like the shell [ in jruby might have noticeable impact on
shell scripts but running a short script for testing seem fine. That
might be the OS X prelinking, though.
Thanks
Michal