review request for 6798511/6860431: Include functionality of Surrogate in Character

Xueming Shen Xueming.Shen at Sun.COM
Wed Mar 3 19:11:40 UTC 2010


#6931812

Martin Buchholz wrote:
> Sherman, would you like to file bugs for Ulf's improvements?
>
> On Wed, Mar 3, 2010 at 02:44, Ulf Zibis <Ulf.Zibis at gmx.de> wrote:
>   
>> Am 03.03.2010 09:00, schrieb Martin Buchholz:
>>     
>
>   
>>> Keep in mind that supplementary characters are extremely rare.
>>>
>>>       
>> Yes, but many API's in the JDK are used rarely.
>> Why should they waste memory footprint / perform bad, particularly if it
>> doesn't cost anything.
>>     
>
> I admire your perfectionism.
>
>   
>>> Therefore the existing implementation
>>>
>>>  return codePoint>= MIN_SUPPLEMENTARY_CODE_POINT
>>>             &&  codePoint<= MAX_CODE_POINT;
>>>
>>> will almost always perform just one comparison against a constant,
>>> which is hard to beat.
>>>
>>>       
>> 1. Wondering: I think there are TWO comparisons.
>> 2. Those comparisons need to load 32 bit values from machine code, against
>> only 8 bit values in my case.
>>     
>
> It's a good point.  In the machine code, shifts are likely to use
> immediate values, and so will be a small win.
>
> int x = codePoint >>> 16;
> return x != 0 && x < 0x11;
>
> (On modern hardware, these optimizations
> are less valuable than they used to be;
> ordinary integer arithmetic is almost free)
>
> Martin
>   




More information about the core-libs-dev mailing list