Invokedynamic slower than reflection?

Rémi Forax forax at univ-mlv.fr
Fri Jun 4 04:40:11 PDT 2010


It's funny, I've found the same error last night.

Yes, there is a problem,
if you run with -XX:+PrintCompilation, you will see
lot of "made not entrant" on the same bytecode location.

183%  made not entrant  (2)  Hello::main @ -2 (145 bytes)
184%      Hello::main @ 6 (145 bytes)

It seems that invokedynamic have trouble and
cycle between optimization and deoptimization phases.

Rémi

Le 04/06/2010 10:43, Eric Bodden a écrit :
> Hi all.
>
> I did some simple micro-benchmarking with the current implementation
> of invokedynamic. In the attached test class, I call a method
> "greeter" 100,000,000 times using invokedynamic and then using
> reflection. Reflection only takes about 1338ms, while invokedynamic
> takes about 12099. (This was taken on OSX 10.6, with build
> "1.7.0-internal-stephen_2010_05_28_19_48-b00"). By the way
> invokedynamic works, I had expected it to be at least as fast as a
> reflective call.
>
> Can you tell me if this kind of performance is expected in general?
>
> Best wishes,
> Eric
>
> --
> Dr. Eric Bodden
> Software Technology Group, Technische Universität Darmstadt, Germany
> Tel: +49 6151 16-5478    Fax: +49 6151 16-5410
> Mailing Address: S2|02 A209, Hochschulstraße 10, 64289 Darmstadt
>    
>
>
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>    

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/mlvm-dev/attachments/20100604/b487a02a/attachment.html 


More information about the mlvm-dev mailing list