RFR: 8311220: Optimization for StringLatin UpperLower [v2]

温绍锦 duke at openjdk.org
Mon Jul 3 09:53:16 UTC 2023


> # Benchmark Result
> 
> 
> sh make/devkit/createJMHBundle.sh
> bash configure --with-jmh=build/jmh/jars
> make test TEST="micro:java.lang.StringUpperLower.*"
> 
> 
> 
> ## 1. [aliyun_ecs_c8i.xlarge](https://help.aliyun.com/document_detail/25378.html#c8i)
> * cpu : intel xeon sapphire rapids (x64)
> 
> ``` diff
> -Benchmark                      Mode  Cnt   Score   Error  Units (baseline)
> -StringUpperLower.lowerToLower  avgt   15  27.180 ± 0.017  ns/op
> -StringUpperLower.lowerToUpper  avgt   15  47.196 ± 0.066  ns/op
> -StringUpperLower.mixedToLower  avgt   15  32.307 ± 0.072  ns/op
> -StringUpperLower.mixedToUpper  avgt   15  44.005 ± 0.414  ns/op
> -StringUpperLower.upperToLower  avgt   15  32.310 ± 0.033  ns/op
> -StringUpperLower.upperToUpper  avgt   15  42.053 ± 0.341  ns/op
> 
> +Benchmark                      Mode  Cnt   Score   Error  Units
> +StringUpperLower.lowerToLower  avgt   15  16.976 ± 0.043  ns/op (+60.160)
> +StringUpperLower.lowerToUpper  avgt   15  46.373 ± 0.086  ns/op (+1.77%)
> +StringUpperLower.mixedToLower  avgt   15  32.018 ± 0.061  ns/op (+0.9%)
> +StringUpperLower.mixedToUpper  avgt   15  42.019 ± 0.473  ns/op (+4.72%)
> +StringUpperLower.upperToLower  avgt   15  32.052 ± 0.051  ns/op (+0.8%)
> +StringUpperLower.upperToUpper  avgt   15  16.978 ± 0.190  ns/op (+47.69%)
> 
> 
> ## 2. [aliyun_ecs_c8a.xlarge](https://help.aliyun.com/document_detail/25378.html#c8a)
> * cpu : amd epc genoa (x64)
> 
> ``` diff
> -Benchmark                      Mode  Cnt   Score   Error  Units (baseline)
> -StringUpperLower.lowerToLower  avgt   15  22.164 ± 0.021  ns/op
> -StringUpperLower.lowerToUpper  avgt   15  46.113 ± 0.047  ns/op
> -StringUpperLower.mixedToLower  avgt   15  28.501 ± 0.037  ns/op
> -StringUpperLower.mixedToUpper  avgt   15  38.782 ± 0.038  ns/op
> -StringUpperLower.upperToLower  avgt   15  28.625 ± 0.162  ns/op
> -StringUpperLower.upperToUpper  avgt   15  27.960 ± 0.038  ns/op
> 
> +Benchmark                      Mode  Cnt   Score   Error  Units
> +StringUpperLower.lowerToLower  avgt   15  15.273 ± 0.012  ns/op (+45.18%)
> +StringUpperLower.lowerToUpper  avgt   15  46.939 ± 0.037  ns/op (-1.75%)
> +StringUpperLower.mixedToLower  avgt   15  27.978 ± 0.015  ns/op (+1.86%)
> +StringUpperLower.mixedToUpper  avgt   15  38.120 ± 0.047  ns/op (+1.73%)
> +StringUpperLower.upperToLower  avgt   15  27.994 ± 0.053  ns/op (+2.25%)
> +StringUpperLower.upperToUpper  avgt   15  17.405 ± 0.006  ns/op (+60.64%)
> 
> 
> 
> ## 3. [aliyun_ecs_c8y.xlarge](https://help.aliyun.com/document_detail/25378.html#c8y)
> * cpu : aliyun yitian 710 (aarch64)
> ``` dif...

温绍锦 has updated the pull request incrementally with one additional commit since the last revision:

  remove unnecessary code

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/14751/files
  - new: https://git.openjdk.org/jdk/pull/14751/files/6179ca3d..47c4bb03

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=14751&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=14751&range=00-01

  Stats: 5 lines in 1 file changed: 0 ins; 4 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/14751.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14751/head:pull/14751

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


More information about the core-libs-dev mailing list