Is it useful for me to continue posting these, or should I just keep them to myself for now? It's also possible to run many JRuby benchmarks from our repository's bench/ dir.
I've been looking at a red/black tree impl and benchmark recently on JRuby. With stock JRuby settings, it performs around 30% better than Ruby 1.9, but about 2x slower than Rubinius. The overhead seems to be largely allocation-related; many objects are created, along with many Ruby instance variable tables (Object[]). A five-iteration run triggers a full GC 2-3 times for me. You can get the benchmark like this: git clone git://gist.github.com/44301.git redblack When running with invokedynamic, however, the performance is at least an order of magnitude worse. Using stock JRuby, iterations warm up to around 3s on my machine. Running with invokedynamic they are in the neighborhood of 35s. Note that this is a build from over a week ago based on bsd-port and mlvm repos at that time, so Christian's recent fixes for recursive invocations are not included. - Charlie _______________________________________________ mlvm-dev mailing list [email protected] http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
