Unusually high polymorphic dispatch costs?
Christian Thalinger
christian.thalinger at oracle.com
Thu May 5 04:14:15 PDT 2011
On Apr 30, 2011, at 9:27 AM, Charles Oliver Nutter wrote:
> I have pushed a change to JRuby master that fails over to a simple
> inline cache after one failed GWT. This is not how I would want to do
> it long-term, but it does bring some benchmarks back in line with
> non-indy JRuby. Specifically, bench_richards 1000000 now runs in a
> normal amount of time...but it's not faster than non-indy just yet (it
> was *much* slower before).
richards looks much better now. Today's indy version is even faster on SPARC than non-indy:
$ bin/jruby.sh --server bench/bench_richards.rb 10 1000000
10.777000 0.000000 10.777000 ( 10.716000)
9.040000 0.000000 9.040000 ( 9.040000)
8.422000 0.000000 8.422000 ( 8.422000)
7.948000 0.000000 7.948000 ( 7.949000)
7.965000 0.000000 7.965000 ( 7.965000)
7.974000 0.000000 7.974000 ( 7.974000)
8.007000 0.000000 8.007000 ( 8.007000)
8.009000 0.000000 8.009000 ( 8.009000)
7.984000 0.000000 7.984000 ( 7.984000)
8.000000 0.000000 8.000000 ( 7.999000)
$ bin/jruby.sh --server -Xcompile.invokedynamic=true bench/bench_richards.rb 10 1000000
10.935000 0.000000 10.935000 ( 10.874000)
8.682000 0.000000 8.682000 ( 8.682000)
7.672000 0.000000 7.672000 ( 7.672000)
7.573000 0.000000 7.573000 ( 7.573000)
7.543000 0.000000 7.543000 ( 7.543000)
7.571000 0.000000 7.571000 ( 7.572000)
7.583000 0.000000 7.583000 ( 7.583000)
7.583000 0.000000 7.583000 ( 7.583000)
7.590000 0.000000 7.590000 ( 7.590000)
7.584000 0.000000 7.584000 ( 7.584000)
Exciting!
-- Christian
More information about the mlvm-dev
mailing list