On Tue, 7 Jan 2025 10:39:18 GMT, Shaojin Wen <s...@openjdk.org> wrote:
> In PR #22928, UUID introduced long-based vectorized hexadecimal to string > conversion, which can also be used in Integer::toHexString and > Long::toHexString to eliminate table lookups. The benefit of eliminating > table lookups is that the performance is better when cache misses occur. src/java.base/share/classes/java/lang/Integer.java line 312: > 310: * this string as a hexadecimal number to form and return a long > value. > 311: */ > 312: static long hex8(long i) { I think we should move this to HexDigits. src/java.base/share/classes/java/lang/Long.java line 325: > 323: if (COMPACT_STRINGS) { > 324: len -= 8; > 325: Unsafe.getUnsafe().putLong(chars, ARRAY_BYTE_BASE_OFFSET > + len, Long.reverseBytes(x)); We only need to reverse on small endian platforms right? We can use putLongUnaligned which takes a boolean for big endian so conversion is automatic. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/22942#discussion_r1905774332 PR Review Comment: https://git.openjdk.org/jdk/pull/22942#discussion_r1905786538