I have done some precompilation of Rails core. Here are my current
experiences:
-
Some parts of Rails are loaded by listing files in a directory, which
obviously does not work in a precompiled app. You will have to patch
those parts to load the dependencies .class explicitly. -
I patched Rails code to bypass gem and just load the files directly.
-
There is currently not much performance advantage to precompile ruby
files. Launch time for my app actually worsens slightly compared to
interpretation mode. If you want better performance, you can always set
jruby.compile.mode=FORCE to force compilation on all code. This way, you
gain the same level of compiled performance, but without the risk of
having a precompiled version that may become incompatible with future
reason of JRuby (I don’t think JRuby has a versioned compilation format;
someone correct me if I am wrong).
Peter