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

Reply via email to