On Wed, May 25, 2011 at 11:31 AM, Charles Oliver Nutter <head...@headius.com> wrote: > Build in progress! I'll let you know how it goes. How low is low in "low > arity"?
Ok, we're definitely back to having solid performance, but it's not as good as it was before. I'm not sure if it's related to the inlining thresholds, since bumping them up the same way we used to doesn't get all the perf back. Here's the numbers I have. It's now around 3x faster than it was a few days ago, but not as fast as JRuby's dynopt mode (which inserts a guarded invokevirtual next to a normal IC hit). The invokedynamic logic was nearly as fast as dynopt before, which was breathtaking to behold. Indy, indy with thresholds bumped, dynopt: ~/projects/jruby ➔ jruby --server bench/bench_fib_recursive.rb 5 359227465 1.215000 0.000000 1.215000 ( 1.155000) 9227465 0.985000 0.000000 0.985000 ( 0.985000) 9227465 0.977000 0.000000 0.977000 ( 0.977000) 9227465 0.981000 0.000000 0.981000 ( 0.981000) 9227465 0.976000 0.000000 0.976000 ( 0.976000) ~/projects/jruby ➔ jruby -J-XX:MaxInlineSize=150 -J-XX:InlineSmallCode=3000 --server bench/bench_fib_recursive.rb 5 35 9227465 1.209000 0.000000 1.209000 ( 1.132000) 9227465 0.981000 0.000000 0.981000 ( 0.981000) 9227465 0.974000 0.000000 0.974000 ( 0.974000) 9227465 0.971000 0.000000 0.971000 ( 0.971000) 9227465 0.969000 0.000000 0.969000 ( 0.969000) ~/projects/jruby ➔ jruby -Xcompile.dynopt=true -Xcompile.invokedynamic=false --server bench/bench_fib_recursive.rb 5 35 9227465 1.078000 0.000000 1.078000 ( 1.013000) 9227465 0.706000 0.000000 0.706000 ( 0.706000) 9227465 0.697000 0.000000 0.697000 ( 0.697000) 9227465 0.699000 0.000000 0.699000 ( 0.699000) 9227465 0.695000 0.000000 0.695000 ( 0.695000) _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev