Surinx + backport
Charles Oliver Nutter
headius at headius.com
Sat Sep 12 02:47:16 PDT 2009
On Sat, Sep 12, 2009 at 3:21 AM, John Rose <John.Rose at sun.com> wrote:
> I just pushed that fix. I also pushed (what I hope are) the fixes for
> the last GC bugs. Please let me know what happens.
Updated numbers for Surinx, new build as of a few minutes ago:
~/projects/surinx ➔ jruby --server -J-XX:+UnlockExperimentalVMOptions
-J-XX:+EnableInvokeDynamic bin/surinx examples/fib.sx
0.091
0.068
0.066
0.067
0.067
0.066
0.066
0.065
0.069
0.066
I don't have Remi's backport handy, but it's obviously very close.
JRuby numbers are nearly as fast as non-indy now too:
~/projects/jruby ➔ jruby --server bench/bench_fib_recursive.rb 100
0.473000 0.000000 0.473000 ( 0.421000)
0.241000 0.000000 0.241000 ( 0.241000)
0.239000 0.000000 0.239000 ( 0.239000)
0.242000 0.000000 0.242000 ( 0.242000)
0.239000 0.000000 0.239000 ( 0.239000)
0.236000 0.000000 0.236000 ( 0.236000)
0.236000 0.000000 0.236000 ( 0.236000)
~/projects/jruby ➔ jruby --server -J-XX:+UnlockExperimentalVMOptions
-J-XX:+EnableInvokeDynamic -J-XX:InlineSmallCode=1500
-J-XX:MaxInlineSize=150 bench/bench_fib_recursive.rb 100
0.444000 0.000000 0.444000 ( 0.378000)
0.236000 0.000000 0.236000 ( 0.236000)
0.231000 0.000000 0.231000 ( 0.231000)
0.234000 0.000000 0.234000 ( 0.234000)
0.233000 0.000000 0.233000 ( 0.233000)
0.235000 0.000000 0.235000 ( 0.235000)
0.235000 0.000000 0.235000 ( 0.236000)
If I remove some special-case code for math operations, indy actually
improves, beating stock JRuby:
~/projects/jruby ➔ jruby --server -J-XX:+UnlockExperimentalVMOptions
-J-XX:+EnableInvokeDynamic -J-XX:InlineSmallCode=1500
-J-XX:MaxInlineSize=150 bench/bench_fib_recursive.rb 100
0.429000 0.000000 0.429000 ( 0.365000)
0.237000 0.000000 0.237000 ( 0.237000)
0.231000 0.000000 0.231000 ( 0.230000)
0.231000 0.000000 0.231000 ( 0.230000)
0.229000 0.000000 0.229000 ( 0.230000)
0.229000 0.000000 0.229000 ( 0.229000)
0.227000 0.000000 0.227000 ( 0.227000)
0.226000 0.000000 0.226000 ( 0.227000)
It's time for that blog post I've been promising about "how to" and
"why it's awesome".
- Charlie
More information about the mlvm-dev
mailing list