Same for me, I posted about this some time ago: http://www.nabble.com/forum/ViewPost.jtp?post=17302698&framed=y
I did some simple profiling (actually added some logs to Rails startup procedure) with the result that alone requiring active_support takes almost 50% of the time (especially loading all the core extensions). Another thing worth mentioning: On my system (Ubuntu/JDK6) server hotspot is default. The startup-time drops by 30% if I set -J-client. I don't want to sound negative, I very much appreciate JRuby since it offers so many advantages, but the "drastically reduced startup time" of JRuby 1.1.2 doesn't apply to Rails yet. Just a thing to notice If I were you and attending RailsConf ;-) Rails startup time (my current project): JRuby 1.1.2: 10.8sec JRuby 1.1.2 -J-client: 8.7sec JRuby 1.1.1: 12.2sec JRuby 1.1.1 -J-client: 9.5sec MRI 1.7sec Charles Oliver Nutter-2 wrote: > > Someone popped on to IRC and mentioned it takes 25 seconds for 1.1.2 to > start up their Rails console. I tried it myself and got a better result, > 10s, but still far slower than Ruby's 2s. Given that a simple "puts 1" > script now starts up within .5s of Ruby for me, what gives with overall > startup performance? > > Part of the answer is sure to be JVM warmup time. But I think there's > probably a lot more we can do to improve cold performance. Since it's > not hard for brain, now's probably a good time to take a step back and > look at improving our cold perf time. Gentlemen, start your engines! > (and then promptly stop them!) > > To kick things off, here's a fully-timed runhprof run of starting up a > fresh Rails app's console. Notice that the majority of hotspots are in > the interpreter, and these top 30 account for 44% of accumulated time: > > CPU TIME (ms) BEGIN (total = 226580928) Wed May 28 01:33:54 2008 > rank self accum count trace method > 1 2.88% 2.88% 5479 322419 > org.jruby.evaluator.ASTInterpreter.evalInternal > 2 1.91% 4.79% 748 323074 > org.jruby.runtime.load.LoadService.smartLoad > 3 1.90% 6.69% 746 323077 org.jruby.RubyKernel.require > 4 1.90% 8.59% 746 323075 > org.jruby.runtime.load.LoadService.require > 5 1.81% 10.41% 474 318369 org.jruby.Ruby.loadFile > 6 1.81% 12.22% 471 323073 > org.jruby.runtime.load.ExternalScript.load > 7 1.80% 14.02% 2440 323086 > org.jruby.runtime.CallSite$InlineCachingCallSite.cacheAndCall > 8 1.72% 15.74% 2071 318356 > org.jruby.evaluator.ASTInterpreter.evalInternal > 9 1.71% 17.45% 482 318359 > org.jruby.evaluator.ASTInterpreter.rootNode > 10 1.71% 19.16% 479 318360 > org.jruby.evaluator.ASTInterpreter.evalInternal > 11 1.71% 20.87% 475 318361 org.jruby.evaluator.ASTInterpreter.eval > 12 1.64% 22.52% 849 323601 > org.jruby.evaluator.ASTInterpreter.blockNode > 13 1.64% 24.16% 2564 322070 > org.jruby.evaluator.ASTInterpreter.evalInternal > 14 1.55% 25.71% 11202 322546 > org.jruby.evaluator.ASTInterpreter.evalInternal > 15 1.53% 27.24% 642 331934 > org.jruby.RubyKernelInvoker$require_s_method_1_0.call > 16 1.41% 28.65% 2674 328510 > org.jruby.evaluator.ASTInterpreter.blockNode > 17 1.41% 30.06% 2202 325052 > org.jruby.evaluator.ASTInterpreter.callNode > 18 1.40% 31.46% 4097 323088 > org.jruby.evaluator.ASTInterpreter.fCallNode > 19 1.38% 32.84% 2577 323087 > org.jruby.runtime.CallSite$InlineCachingCallSite.call > 20 1.36% 34.20% 1401 328581 org.jruby.evaluator.ASTInterpreter.eval > 21 1.35% 35.56% 472 328584 > org.jruby.internal.runtime.methods.DefaultMethod.call > 22 1.34% 36.90% 463 328583 > org.jruby.internal.runtime.methods.DefaultMethod.interpretedCall > 23 1.30% 38.20% 549 330274 > org.jruby.evaluator.ASTInterpreter.evalInternal > 24 1.05% 39.25% 849 328585 > org.jruby.internal.runtime.methods.DefaultMethod.call > 25 0.98% 40.23% 568 332399 > org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneBlock.call > 26 0.97% 41.20% 174 330294 > org.jruby.evaluator.ASTInterpreter.rescueNode > 27 0.95% 42.15% 93 331939 > org.jruby.evaluator.ASTInterpreter.fCallNode > 28 0.94% 43.09% 87 331938 > org.jruby.runtime.CallSite$InlineCachingCallSite.call > 29 0.77% 43.87% 14333 326194 org.jruby.evaluator.ASTInterpreter.eval > 30 0.77% 44.64% 14333 326193 > org.jruby.evaluator.ASTInterpreter.evalInternal > > - Charlie > > --------------------------------------------------------------------- > To unsubscribe from this list, please visit: > > http://xircles.codehaus.org/manage_email > > > > -- View this message in context: http://www.nabble.com/Studying-startup-time-tp17506106p17506930.html Sent from the JRuby - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email