RFR: JDK-8310502 : Optimization for j.l.Long.fastUUID() [v22]
ExE Boss
duke at openjdk.org
Sun Jun 25 16:24:10 UTC 2023
On Sun, 25 Jun 2023 12:20:17 GMT, 温绍锦 <duke at 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:
>
> add jdk.util.HexDigits, sharing cache array across multiple classes, including :
> java.lang.Long#fastUUID
> java.util.HexDigits
> java.lang.Long#toHexString(future)
> java.lang.Integer#toHexString(future)
> java.util.HexFormat(future)
src/java.base/share/classes/java/lang/Long.java line 451:
> 449: }
> 450:
> 451: static String fastUUID(long lsb, long msb) {
This method should probably have an assert or something that `COMPACT_STRINGS` is `true`, e.g.:
Suggestion:
static String fastUUID(long lsb, long msb) {
if (!COMPACT_STRINGS) {
throw new InternalError("Long::fastUUID requires compact strings");
}
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14578#discussion_r1241232478
More information about the core-libs-dev
mailing list