On Thu, 29 Jun 2023 08:46:32 GMT, 温绍锦 <d...@openjdk.org> wrote:

>> By optimizing the implementation of java.lang.Long#fastUUID, the performance 
>> of the java.util.UUID#toString method can be significantly improved.
>> 
>> The following are the test results of JMH: 
>> 
>> Benchmark                     Mode  Cnt      Score      Error   Units
>> UUIDUtilsBenchmark.new       thrpt    5  92676.550 ±  292.213  ops/ms
>> UUIDUtilsBenchmark.original  thrpt    5  37040.165 ± 1023.532  ops/ms
>
> 温绍锦 has updated the pull request incrementally with one additional commit 
> since the last revision:
> 
>   revert HexDigits.DIGITS private

> HexDigits.DIGITS



> I've read through 
> [26f3a6a](https://github.com/openjdk/jdk/commit/26f3a6a5317718235bc3506f0a3e851001f43404)
>  (iteration 29) and it mostly looks okay.
> 
> It's good to see the UUID code removed from Long.
> 
> It's unfortunate that UUID is directly accessing HexDigits.DIGITS but at 
> least its in the same package and the array is accessed more widely. If there 
> were frozen arrays then this would be better. Have you measured using an 
> accessor method to access the array elements rather than accessing the array 
> directly?
> 
> Somewhat subjective but I find the new comment in Digits a bit confusing, 
> particularly "In the byte[] encoded in LATIN1" as a byte[] is just bytes and 
> I think you want to say a String encoding as LATIN1 in a byte[]. Maybe drop 
> this and the reference to jdk.internal.util.ByteArray.

Good suggestion, it has been modified and submitted. now UUID#toString codeSize 
is 203, less than default FreqInlineSize 325,  It can be inline, and the 
performance is better than the previous version.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/14578#issuecomment-1612648221

Reply via email to