While profiling our Ruboto app, we noticed a performance regression in startup after upgrading JRuby from 1.6.4 to 1.6.5/1.7.0.dev. Profiling revealed lots of time lost in File.file? calls when the load path includes jar files.
I have attached a patch that adds a cache for looking up the contents of jars. This reduces the strain on the file system considerably.
All tests run fine after the patch.