RFR [9] 8006627: UUID to/from String performance should be improved by reducing object allocations

Peter Levart peter.levart at gmail.com
Mon Jul 21 16:51:27 UTC 2014


Hi Claes,

Invalid inputs to UUID.fromString() behave a little different than 
before. IllegalArgumentException is not thrown for the following inputs:

For example:

"0": IllegalArgumentException: Invalid UUID string: 0 (before patch)
"0": IndexOutOfBoundsException (after patch)

"-0": IllegalArgumentException: Invalid UUID string: -0 (before patch)
"-0": NumberFormatException (after patch)

"0-0-0-0-": IllegalArgumentException: Invalid UUID string: 0-0-0-0- 
(before patch)
"0-0-0-0-": NumberFormatException (after patch)

The following input (and similar) do throw NumberFormatException as 
before, but messages are a little different. That's OK, I suppose.

"0-0-0-x-0": NumberFormatException: For input string: "x" (before patch)
"0-0-0-x-0": NumberFormatException: Error at index 1 in: "x" (after patch)

"0-0-0--0": NumberFormatException: For input string: "" (before patch)
"0-0-0--0": NumberFormatException: (after patch)


The 1st 3 examples could be fixed by checking that dash1,2,3,4 are all > 
0 and that dash4 + 1 < name.length()


Regards, Peter


On 07/21/2014 01:41 PM, Claes Redestad wrote:
> On 07/19/2014 02:59 PM, Ivan Gerasimov wrote:
>> This looks just beautiful!
>
> Thanks!
>
>> But why do you need the digits() function at all?
>> In my opinion, using formatUnsignedLong directly would be no less 
>> clearer.
>
> Sure!
>
> http://cr.openjdk.java.net/~redestad/8006627/webrev.2/
>
> Small improvement with client compiler; no measurable change with tiered.
>
> /Claes
>
>>
>> Sincerely yours,
>> Ivan
>>
>> On 19.07.2014 8:59, Claes Redestad wrote:
>>> Hi,
>>>
>>>  after recent changes, this patch has been revisited and improved 
>>> slightly, primarily simplifying and speeding up the toString method 
>>> slightly more:
>>>
>>>  http://cr.openjdk.java.net/~redestad/8006627/webrev.1/
>>>
>>>  /Claes
>>>
>>> On 2014-06-15 00:41, Claes Redestad wrote:
>>>> Hi,
>>>>
>>>> please review this patch to improve UUID performance, originally 
>>>> proposed by Steven Schlansker, rebased to use the allocation-free 
>>>> methods added in https://bugs.openjdk.java.net/browse/JDK-8041972
>>>>
>>>> Webrev: http://cr.openjdk.java.net/~redestad/8006627/webrev.0/
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8006627
>>>>
>>>> Thanks!
>>>>
>>>> /Claes
>>>
>>>
>>>
>>
>




More information about the core-libs-dev mailing list