Invokedynamic slower than reflection?
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.
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,
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the mlvm-dev