Charles Oliver Nutter a écrit : > John Cowan wrote: > >> On Tue, Sep 2, 2008 at 4:03 PM, Charles Oliver Nutter >> <[EMAIL PROTECTED]> wrote: >> >> >>> Here's another from me, which I've posted about previously: >>> -XX:bootclasspath and friends. JRuby is a Ruby implementation, which >>> means it needs to perform reasonably well as a command-line tool. >>> Typical JVM startup precludes fast command-line startup, but it turns >>> out a large portion of that time is spent verifying bytecode. >>> bootclasspath allows JRuby and its dependencies to skip verification, >>> which in our case improved startup time almost 3X, putting it >>> comfortably under 0.5s on OS X. That was a *huge* find, akin to a silver >>> bullet for startup speed. >>> >> That's an excellent hacque for *any* non-Java language on the JVM, >> dynamic or not. All such languages are going to have core libraries >> that are as important to them as java.lang.*, so they need the benefit >> of the fast startup. >> > > In our case it was a doubly nice find, since we generate bytecode at > runtime and can't afford to use verify:none. bootclasspath allowed us to > target verification-skipping at just the code we'd verified a bazillion > times during our day-to-day test runs. > I have seen an impressive boost by generating StackMap infos, particularly when generated codes use overlaped exception handlers. > Of course I understand it didn't help Groovy as much when they tried it, > probably because we load many, many more tiny classes to act as method > invokers, and because Groovy uses reflection for everything. Reflection > is, on the whole, a much, much larger time sink on startup than > verification, so bootclasspath helped us a lot and Groovy very little. > > - Charlie > Rémi
--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to jvm-languages@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---