The Great Startup Problem

Charles Oliver Nutter headius at
Sun Aug 24 18:33:29 UTC 2014

On Sun, Aug 24, 2014 at 12:55 PM, Jochen Theodorou <blackdrag at> wrote:
> afaik you can set how many times a lambda form has to be executed before it
> is compiled... what happens if you set that very low... like 1 and disable
> tiered compilation?

Forcing all handles to compiler early has the same negative
effect...most are only called once, and the overhead of reifying them
outweighs the cost of interpreting them.

I need to play with it more, though. The property I think you're
referring to did not appear to help us much.

>> We obviously still love working with OpenJDK, and it remains the best
>> platform for building JRuby (and other languages). However, our
>> failure as a community to address these startup/warmup issues is
>> eventually going to kill us. Startup time remains the #1 complaint
>> about JRuby, and warmup time may be a close second.
> how do normal ruby startup times compare to JRuby for a rails app?

Perhaps 10x faster startup across the board in C Ruby. With tier 1 we
can get it down to 5x or so. It's incredibly frustrating for our

> All in all, the situation is for the Groovy world quite different I would
> say.

I'd guess that developers in the Groovy world typically do all their
development in an IDE, which can keep a runtime environment available
all the time. Contrast this to pretty much everyone not from a Java or
C# background, where their IDE is a text editor and a command line.

You're also right that it's not quite a fair comparison. Rails is 100%
Ruby. Perhaps 50-75% of the libraries in a given app are 100% Ruby.

- Charlie

More information about the mlvm-dev mailing list