Have not messed with NailGun yet, nice numbers there. The NPE was from using 1.1b1 I believe... I'll take a closer look later and get back to you.
M On Nov 26, 2007 4:24 AM, Charles Oliver Nutter <[EMAIL PROTECTED]> wrote: > Mike McKinney wrote: > > I'll take a look at the benchmarks again (it's been a while) > > > > I know getting a JVM dynlang to compete with the native impl times > > from the command line is not going to happen without outside > > intervention, just thought it was interesting to see the numbers > > compared to other languages on the JVM. > > On trunk, one feature that helps this is the addition of NailGun. If you > check out trunk, there's an "ant jruby-nailgun" command that allows you > to run with NailGun, an out-of-process persistent JVM. > > ant jruby-nailgun > cd tool/nailgun > make > > jruby-ng-server # starts up the server > jruby-ng runs JRuby with nailgun. > > With a persistent JVM in the background, performance improves substantially: > > ~/NetBeansProjects/jruby $ jruby-ng-server& > [1] 9840 > ~/NetBeansProjects/jruby $ NGServer started on all interfaces, port 2113. > > ~/NetBeansProjects/jruby $ time jruby -e "puts 'here'" > here > > real 0m1.719s > user 0m1.625s > sys 0m0.160s > ~/NetBeansProjects/jruby $ time jruby-ng -e "puts 'here'" > here > > real 0m1.638s > user 0m0.007s > sys 0m0.012s > ~/NetBeansProjects/jruby $ time jruby-ng -e "puts 'here'" > here > > real 0m0.140s > user 0m0.006s > sys 0m0.010s > ~/NetBeansProjects/jruby $ time jruby-ng -e "puts 'here'" > here > > real 0m0.090s > user 0m0.006s > sys 0m0.011s > ~/NetBeansProjects/jruby $ time jruby-ng -e "puts 'here'" > here > > real 0m0.096s > user 0m0.006s > sys 0m0.010s > > > That sux about the classloader slowdown (AOT ruby compile). > > It's also worth noting that the same techniques causing startup slowdown > in general are also why we're faster than Groovy on most benchmarks (at > least all benchmarks I've tried, sans regexp benchmarks which have a > soon-to-be-fixed bottleneck). > > > improvement in times with -J-Xverify:none (adding -C didn't really > > make a difference) > > > > went from: 0m1.668s > > to: 0m1.268s > > Pretty substantial. > > > -J-Djruby.reflection=true option causes NPE for me > > > > Exception in thread "main" java.lang.NullPointerException > > at org.jruby.RubyModule.defineAnnotatedMethod(RubyModule.java:511) > > at org.jruby.RubyModule.defineAnnotatedMethods(RubyModule.java:458) > > at org.jruby.RubyKernel.createKernelModule(RubyKernel.java:84) > > at org.jruby.Ruby.initCoreClasses(Ruby.java:1279) > > at org.jruby.Ruby.init(Ruby.java:1171) > > at org.jruby.Ruby.newInstance(Ruby.java:322) > > at org.jruby.Main.runInterpreter(Main.java:168) > > at org.jruby.Main.run(Main.java:117) > > at org.jruby.Main.main(Main.java:92) > > > > Too tired to look into why right now... > > Was this with 1.0.2? It was broken and unsupported in 1.0.2. Fixed in > 1.1b1 I believe, or for sure on trunk. > > > - Charlie > > --------------------------------------------------------------------- > To unsubscribe from this list please visit: > > http://xircles.codehaus.org/manage_email > > --------------------------------------------------------------------- To unsubscribe from this list please visit: http://xircles.codehaus.org/manage_email
