RFR: 8311207: Optimization for j.u.UUID.toString

温绍锦 duke at openjdk.org
Sat Jul 1 01:53:17 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  83.568 ± 0.401  ops/us (+34.74%)


## 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  95.653 ± 0.262  ops/us (+7.87%)



## 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  51.159 ± 1.639  ops/us


## 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%)

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

Commit messages:
 - use big endian
 - 8311207: Optimization for j.u.UUID.toString

Changes: https://git.openjdk.org/jdk/pull/14745/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14745&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8311207
  Stats: 40 lines in 2 files changed: 7 ins; 0 del; 33 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