On Mon, 26 Jun 2023 09:57:31 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:
> 
>   use ISO_8859_1.INSTANCE directly instead of StandardCharsets.ISO_8859_1

the last implementation (commit id 6b61a715) is the best performant whether 
CompactStrings is true or false.

when CompactStrings is false, the improvement brought by using ByteArray is 
greater than the overhead of StringLatin1.inflate. the benchmark result above 
also confirms this.

because the implemented code is in UUID.toString, there is no need to intrude 
into the code of java/lang/Long.java, which is clearer and easier to maintain.

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

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

Reply via email to