On Tue, Aug 4, 2009 at 4:17 PM, Attila Szegedi<szege...@gmail.com> wrote:
> I can now confirm that it indeed does work with jruby-1.4.0dev that
> indeed emits invokedynamic.
>
> The only catch is, it's very slow with invokedynamic, something that
> Christian also mentioned.

The fact that these numbers are so bad and even degrade shows me that
although it's compiling indy, it's not eliminating the handles (which
is true, the inlining and handle-walking stuff is not ready yet). So
it's got many layers of polymorphic calls, probably some argument
boxing and unboxing, and basically a ton more overhead than our
heavily tuned non-indy call path. I'm confident in the Hotspot guys :)

Just wanted to make sure anyone watching didn't think this was the
best it would get...

> MacBook-Pro-Ati:jruby-1.4.0dev aszegedi$ bin/jruby --server -J-
> Djruby.compile.invokedynamic=true -J-XX:+EnableInvokeDynamic bench/
> bench_fib_recursive.rb 15
>   2.993000   0.000000   2.993000 (  2.915000)
>   2.720000   0.000000   2.720000 (  2.720000)
>   2.773000   0.000000   2.773000 (  2.773000)
>   2.712000   0.000000   2.712000 (  2.712000)
>   3.057000   0.000000   3.057000 (  3.057000)
>   3.183000   0.000000   3.183000 (  3.184000)
>   3.167000   0.000000   3.167000 (  3.167000)
>   3.145000   0.000000   3.145000 (  3.145000)
>   3.249000   0.000000   3.249000 (  3.249000)
>   3.160000   0.000000   3.160000 (  3.160000)
>   3.104000   0.000000   3.104000 (  3.104000)
>   3.152000   0.000000   3.152000 (  3.153000)
>   3.172000   0.000000   3.172000 (  3.171000)
>   3.111000   0.000000   3.111000 (  3.111000)
>   3.201000   0.000000   3.201000 (  3.201000)
> MacBook-Pro-Ati:jruby-1.4.0dev aszegedi$ bin/jruby --server bench/
> bench_fib_recursive.rb 15
>   0.523000   0.000000   0.523000 (  0.481000)
>   0.292000   0.000000   0.292000 (  0.291000)
>   0.279000   0.000000   0.279000 (  0.278000)
>   0.283000   0.000000   0.283000 (  0.283000)
>   0.284000   0.000000   0.284000 (  0.284000)
>   0.292000   0.000000   0.292000 (  0.292000)
>   0.289000   0.000000   0.289000 (  0.289000)
>   0.286000   0.000000   0.286000 (  0.287000)
>   0.285000   0.000000   0.285000 (  0.285000)
>   0.285000   0.000000   0.285000 (  0.285000)
>   0.289000   0.000000   0.289000 (  0.290000)
>   0.282000   0.000000   0.282000 (  0.282000)
>   0.290000   0.000000   0.290000 (  0.290000)
>   0.293000   0.000000   0.293000 (  0.293000)
>   0.285000   0.000000   0.285000 (  0.284000)
_______________________________________________
mlvm-dev mailing list
mlvm-dev@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to