RFR [8051382] Optimize java.lang.reflect.Modifier.toString()

Joel Borggrén-Franck joel.franck at oracle.com
Wed Aug 13 09:29:51 UTC 2014


Hi Ivan,

The first version looks good.

I think this is desirable even if it is a tiny bit slower.

cheers
/Joel

On 4 aug 2014, at 13:27, Ivan Gerasimov <ivan.gerasimov at oracle.com> wrote:

> Hi Martin!
> 
> Sorry for the pause, I had to take a break.
> 
> Thank you for your StringJoiner rework!
> I created a bug to track it: https://bugs.openjdk.java.net/browse/JDK-8054221
> 
> With your implementation of StringJoiner, the first version of Modifier.toString() [1] became (almost) as fast as original, and a bit clearer.
> 
> [1] http://cr.openjdk.java.net/~igerasim/8051382/0/webrev/
> 
> Will you approve the change to Modifier.toString?
> 
> Sincerely your,
> Ivan
> 
> 
> On 19.07.2014 19:58, Martin Buchholz wrote:
>> StringJoiner seems written in a style suitable for an application, not in a low-level performance-oriented style suitable for a JDK core library.  But we can fix that.
>> 
>> http://cr.openjdk.java.net/~martin/webrevs/openjdk9/StringJoiner-optimization/ <http://cr.openjdk.java.net/%7Emartin/webrevs/openjdk9/StringJoiner-optimization/>
>> 
>> 
>> On Fri, Jul 18, 2014 at 6:18 PM, Ivan Gerasimov <ivan.gerasimov at oracle.com <mailto:ivan.gerasimov at oracle.com>> wrote:
>> 
>> 
>>    On 19.07.2014 3:07, Martin Buchholz wrote:
>> 
>> 
>>        I took a quick look at StringJoiner.  It looks to me like this
>>        won't be an optimization, because StringJoiner uses
>>        StringBuilder internally, and will actually perform more total
>>        operations.
>> 
>> 
>>    Unfortunately this is true.
>>    Microbenchmarking shows that StringJoiner makes the things 30%
>>    slower, which is sad.
>> 
>>    Then I propose another simple patch giving +15% to the speed:
>> 
>>    http://cr.openjdk.java.net/~igerasim/8051382/1/webrev/
>>    <http://cr.openjdk.java.net/%7Eigerasim/8051382/1/webrev/>
>> 
>>    Sincerely yours,
>>    Inan
>> 
>> 
> 




More information about the core-libs-dev mailing list