Still crashity crashing
Charles Oliver Nutter
headius at headius.com
Tue Aug 4 17:58:52 PDT 2009
On Tue, Aug 4, 2009 at 4:17 PM, Attila Szegedi<szegedia at 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)
More information about the mlvm-dev
mailing list