GAE has a lot more at play than standard JVM startup/warmup. JRuby on a desktop "client" Hotspot Java 6 starts up in around 0.5 seconds. On App Engine it can take as much as 10-15 seconds. Why? Because App Engine has a very different environment with a virtual filesystem, heavily-locked-down security, and (probably) quite different memory and CPU resource allocation. GAE does have issues with startup, but they're largely due to design decisions the GAE team has made, and not due to flaws in the JVM itself.
That said, I appreciate what GAE is: the first fully-sandboxed, elastically-scaling Java webapp environment. The decisions they've made seem to be good ones, ignoring the overhead they introduce.
Hey hedius, forgot to say in this thread ... thanks for your work on JRuby. It works great.
One small suggestion ... would you consider adding extra-extensions (breaking backward compatibility with Ruby)? You've already done it here and there, like for threads or for string processing (although I guess it wouldn't have made sense otherwise).
What I'd like is for some way to get the AST of a anonymous code block ... as I'm dreaming of something like Linq in a JVM language.
I'm not opposed to anything that seems like it might help bring more people to JRuby (and by extension, to Ruby). You can already access most of JRuby's internals via our Java integration layer, and that includes the AST, various core types, class structures and method tables, and so on. So much of this you could probably prototype without us adding anything. Beyond that, I'm interested in possible enhancements in JRuby to "over-optimize" code (like opting out of certain Ruby behaviors in a limited scope if they're just overhead for your app), and we're obviously always trying to improve how JRuby integrates with Java itself.
So yes, there are many great plans...and user demand (especially paid users!) can make anything happen.
That said, I appreciate what GAE is: the first fully-sandboxed, elastically-scaling Java webapp environment. The decisions they've made seem to be good ones, ignoring the overhead they introduce.