RFR: JDK-8032012, , String.toLowerCase/toUpperCase performance improvement
forax at univ-mlv.fr
Wed Feb 5 22:46:44 UTC 2014
On 02/05/2014 10:30 PM, Xueming Shen wrote:
> Hi Remi,
> Good suggestion. Now the "common case" path is much simple and faster :-)
> I'm seeing a 5%-10% boost for the normal-non-surrogates case. And it
> the bmp+surr mixed is getting faster as well. Though I would assume
> the it
> would get slower in case of "no-case-folding" + surrogates. But the
> case wins here.
nice, cool !
> On 02/05/2014 01:00 PM, Remi Forax wrote:
>> Hi Sherman,
>> the code can be faster if the first loop call toLowerCaseEx in case
>> of a surrogate instead of modifying srcCount because in that case the
>> JIT will see that the increment is constant.
>> Note that with the current code, the performance of toLowerCase if it
>> was never called with a string that contains a surrogate are great
>> but if toLowerCase is called once with a string that contains a
>> surrogate, even if toLowercase is called after with strings that
>> never contain a surrogate performance will be slower than it was.
>> Calling toLowerCaseEx will make a toLowerCase with a surrogate slower
>> but make toLowerCase faster in the common case.
More information about the core-libs-dev