Sherman, would you like to file bugs for Ulf's improvements? On Wed, Mar 3, 2010 at 02:44, Ulf Zibis <ulf.zi...@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