<AWT Dev> [9] Review Request: 8034068 Label.toString performance improvement

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Thu Feb 13 14:01:58 PST 2014


On 11.02.2014 0:13, Artem Ananiev wrote:
>
> On 2/10/2014 9:25 PM, Anthony Petrov wrote:
>> Looks okay. How faster does the Label work now, btw? :)
>
> Earlier today Sergey told it would be about ~20% - AWT Label should be 
> very fast now :)
>
> A minor comment from my side. Since we already use ?: in 
> Component.paramString(), we can also use it for !isValid(), visible, 
> and !enabled later in the same method. The resulting line of code 
> won't be very nice (but shouldn't be ugly too), but it will be fast.
I changed this method a little bit to compact and fast version.
Updated version:
http://cr.openjdk.java.net/~serb/8034068/webrev%2c01
>
>
> Thanks,
>
> Artem
>
>> -- 
>> best regards,
>> Anthony
>>
>> On 2/10/2014 5:53 PM, Sergey Bylokhov wrote:
>>> Hello.
>>> Please review the quick fix for jdk 9.
>>> The code in Label was changed to be a faster and a readable. + small
>>> cleanup in Component.
>>>
>>> Actual change is from:
>>>          String str = ",align=";
>>>          switch(alignment) {
>>>            case 0: str = (new
>>> StringBuilder()).append(s).append("left").toString(); break;
>>>            case 1: str = (new
>>> StringBuilder()).append(s).append("center").toString(); break;
>>>            case 2: str = (new
>>> StringBuilder()).append(s).append("right").toString(); break;
>>>          }
>>>          return (new
>>> StringBuilder()).append(super.paramString()).append(str).append(",text=").append(text).toString(); 
>>>
>>>
>>>
>>> to
>>>          String str = "";
>>>          switch(alignment) {
>>>            case 0: str = "left"; break;
>>>            case 1: str = "center"; break;
>>>            case 2: str = "right"; break;
>>>          }
>>>          return (new
>>> StringBuilder()).append(super.paramString()).append(",align=").append(str).append(",text=").append(text).toString(); 
>>>
>>>
>>>
>>>
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8034068
>>> Webrev can be found at:
>>> http://cr.openjdk.java.net/~serb/8034068/webrev.00
>>>


-- 
Best regards, Sergey.



More information about the awt-dev mailing list