http://paste.pocoo.org/show/198856/
This is a patch to run the JRuby ahead-of-time compiler against the *entire*Ruby distribution and installed gems prior to zipping for distribution. The motivations behind this are two-fold. First, the resulting .class files are substantially smaller than the original .rb files and so the size of the distributable goes down. More importantly though, AOT compilation imparts a significant performance advantage, particularly when we can apply some optimizations. Unfortunately, documentation seems to be limited (read: non-existant) where it comes to tuning the AOT compiler, so I had to just guess based on what I know of its architecture. The settings I am using are the same ones I've been using with the regular JRuby JIT running Buildr for more than six months, so I think they're fairly safe (and they do yield substantial benefits). The big problem I'm having is that the compiler always seems to return an error. It does compile everything (except for our buildr/java/bdd.rb and one of Hoe's files, which cause internal exceptions), and it doesn't print any errors, but regardless of what I do, the result always seems to be an error code of 1. Headius, if you're listening in lurk mode, we could use some help here. :-) Hopefully this change will help streamline our all-in-one distribution and maybe make it a compelling option even for those who are comfortable with `gem install`. Daniel