On Tue, Nov 9, 2010 at 9:09 AM, Rémi Forax <[email protected]> wrote: > Do you try profile the rails apps + your runtime ?
Yes, but unfortunately profiling either introduces so much overhead it masks the actual startup time...and profiling isn't particularly good at startup anyway. As far as JRuby's concerned, much of the time taken during startup of a large app is simply parsing and executing all those Ruby scripts. Our parser is definitely not a simple piece of code, and there's a lot happening as an application boots. We've knocked down a few obvious bottlenecks, but our startup time is at *best* an order of magnitude slower than C Ruby for any given app. On server, it's more like two orders of magnitude. Most of my experiments have pointed toward the lack of quick jitting and the cost of jitting once it happens as the primary costs running on the server VM. That's largely why reducing compilation threshold and disabling inlining improves that startup time. > Tiered compilation doesn't use the CompileThreshold flag but its own set of > flags: > see > http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2010-November/004239.html Yes, I saw that thread. I haven't tried tuning the other thresholds yet, but that may be the next attempt. However, since I need options for real users on Java 6, I'd still like to hear if there's other server-tuning flags that can make compiles come more quickly and with less overhead. I will keep poking at it. - Charlie -- You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en.
