Invokedynamic slower than reflection?

Rémi Forax forax at univ-mlv.fr
Sat Jun 5 10:58:11 PDT 2010


Le 05/06/2010 02:01, John Rose a écrit :
> Is the call site megamutable?  (Is it linked many times instead of once?)  -- John
>    

no !
The callsite is linked only once.

Rémi

> On Jun 4, 2010, at 4:40 AM, Rémi Forax wrote:
>
>    
>> 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
>>>
>>>
>>>
>>>        
>> _______________________________________________
>> mlvm-dev mailing list
>> mlvm-dev at openjdk.java.net
>> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>>      
> _______________________________________________
> mlvm-dev mailing list
> mlvm-dev at openjdk.java.net
> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev
>    



More information about the mlvm-dev mailing list