RFR: 8311207: Cleanup for Optimization for UUID.toString [v15]

温绍锦 duke at openjdk.org
Tue Sep 12 16:58:20 UTC 2023


> [PR 14578 ](https://github.com/openjdk/jdk/pull/14578) still has unresolved discussions, continue to make improvements.
> 
> # Benchmark Result
> 
> 
> sh make/devkit/createJMHBundle.sh
> bash configure --with-jmh=build/jmh/jars
> make test TEST="micro:java.util.UUIDBench.toString"
> 
> 
> ## 1. [aliyun_ecs_c8i.xlarge](https://help.aliyun.com/document_detail/25378.html#c8i)
> * cpu : intel xeon sapphire rapids (x64)
> 
> ``` diff
> -Benchmark           (size)   Mode  Cnt   Score   Error   Units (baseline)
> -UUIDBench.toString   20000  thrpt   15  62.019 ± 0.622  ops/us
> 
> +Benchmark           (size)   Mode  Cnt   Score   Error   Units
> +UUIDBench.toString   20000  thrpt   15  82.998 ± 0.739  ops/us (+33.82%)
> 
> 
> ## 2. [aliyun_ecs_c8a.xlarge](https://help.aliyun.com/document_detail/25378.html#c8a)
> * cpu : amd epc genoa (x64)
> 
> ``` diff
> -Benchmark           (size)   Mode  Cnt   Score   Error   Units (baseline)
> -UUIDBench.toString   20000  thrpt   15  88.668 ± 0.672  ops/us
> 
> +Benchmark           (size)   Mode  Cnt   Score   Error   Units
> +UUIDBench.toString   20000  thrpt   15  89.229 ± 0.271  ops/us (+0.63%)
> 
> 
> 
> ## 3. [aliyun_ecs_c8y.xlarge](https://help.aliyun.com/document_detail/25378.html#c8y)
> * cpu : aliyun yitian 710 (aarch64)
> ``` diff
> -Benchmark           (size)   Mode  Cnt   Score   Error   Units (baseline)
> -UUIDBench.toString   20000  thrpt   15  49.382 ± 2.160  ops/us
> 
> +Benchmark           (size)   Mode  Cnt   Score   Error   Units
> +UUIDBench.toString   20000  thrpt   15  49.636 ± 1.974  ops/us (+0.51%)
> 
> 
> ## 4. MacBookPro M1 Pro
> ``` diff
> -Benchmark           (size)   Mode  Cnt    Score   Error   Units (baseline)
> -UUIDBench.toString   20000  thrpt   15  103.543 ± 0.963  ops/us
> 
> +Benchmark           (size)   Mode  Cnt    Score   Error   Units
> +UUIDBench.toString   20000  thrpt   15  110.976 ± 0.685  ops/us (+7.17%)
> 
> 
> ## 5. Orange Pi 5 Plus
> 
> ``` diff
> -Benchmark           (size)   Mode  Cnt   Score   Error   Units (baseline)
> -UUIDBench.toString   20000  thrpt   15  33.532 ± 0.396  ops/us
> 
> +Benchmark           (size)   Mode  Cnt   Score   Error   Units (PR)
> +UUIDBench.toString   20000  thrpt   15  33.054 ± 0.190  ops/us (-4.42%)

温绍锦 has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 19 commits:

 - merge from master
 - Merge branch 'master' into optimization_for_uuid_to_string
   
   # Conflicts:
   #	src/java.base/share/classes/java/util/UUID.java
   #	src/java.base/share/classes/jdk/internal/util/HexDigits.java
 - lo | hi => hi | lo
 - add DIGITS description
 - reversed how & hi
 - Merge branch 'master' into optimization_for_uuid_to_string
 - remove redundant parentheses
 - fix java doc, big-endian -> little-endian
 - Merge branch 'master' into optimization_for_uuid_to_string
 - use ByteArrayLittleEndian
 - ... and 9 more: https://git.openjdk.org/jdk/compare/e0845163...4f6ed3e6

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

Changes: https://git.openjdk.org/jdk/pull/14745/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14745&range=14
  Stats: 55 lines in 2 files changed: 5 ins; 12 del; 38 mod
  Patch: https://git.openjdk.org/jdk/pull/14745.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14745/head:pull/14745

PR: https://git.openjdk.org/jdk/pull/14745


More information about the core-libs-dev mailing list