RFR: JDK-8310502 : Optimization for j.l.Long.fastUUID() [v19]

温绍锦 duke at openjdk.org
Sun Jun 25 10:03:09 UTC 2023


On Sun, 25 Jun 2023 05:49:09 GMT, Alan Bateman <alanb at openjdk.org> wrote:

>> Latest benchmark results (commit id [0d34655](https://github.com/openjdk/jdk/pull/14578/commits/0d346558e00cfab899e435acd0eb83d39d5b7169) ):
>> 
>> * [aliyun_c8i.xlarge](https://help.aliyun.com/document_detail/25378.html#c8i) (+32.17% )
>> cpu : intel xeon sapphire rapids (x64)
>> ``` diff
>>  Benchmark           (size)   Mode  Cnt   Score   Error   Units
>> -UUIDBench.toString   20000  thrpt   15  62.457 ± 0.226  ops/us
>> +UUIDBench.toString   20000  thrpt   15  82.550 ± 0.704  ops/us
>> 
>> 
>> * [aliyun_c8a.xlarge](https://help.aliyun.com/document_detail/25378.html#c8a) (+46.88%)
>> cpu : amd epc genoa (x64)
>> ``` diff
>>  Benchmark           (size)   Mode  Cnt   Score   Error   Units
>> -UUIDBench.toString   20000  thrpt   15  65.673 ± 0.110  ops/us
>> +UUIDBench.toString   20000  thrpt   15  96.461 ± 0.293  ops/us
>> 
>> 
>> * [aliyun_c8y.xlarge](https://help.aliyun.com/document_detail/25378.html#c8y) (+57.97%)
>> cpu : aliyun yitian 710 (aarch64)
>> ``` diff
>>  Benchmark           (size)   Mode  Cnt   Score   Error   Units
>> -UUIDBench.toString   20000  thrpt   15  32.198 ± 0.907  ops/us
>> +UUIDBench.toString   20000  thrpt   15  50.864 ± 1.305  ops/us
>> 
>> 
>> * aws_c5.xlarge (+49.42% )
>> aws x64
>> ``` diff
>>  Benchmark           (size)   Mode  Cnt   Score   Error   Units
>> -UUIDBench.toString   20000  thrpt   15  46.003 ± 0.291  ops/us
>> +UUIDBench.toString   20000  thrpt   15  68.741 ± 0.199  ops/us
>> 
>> 
>> * MacBook Pro M1 Pro (+201.14%)
>> ``` diff
>>  Benchmark           (size)   Mode  Cnt   Score    Error   Units
>> -UUIDBench.toString   20000  thrpt   15   36.875 ± 0.902  ops/us
>> +UUIDBench.toString   20000  thrpt   15  111.049 ± 0.783  ops/us
>> 
>> 
>> * [Orange Pi 5 Plus](http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-5-plus.html) (+64.97%)
>> cpu : RK3588 (aarch64)
>> ``` diff
>>  Benchmark           (size)   Mode  Cnt   Score   Error   Units
>> -UUIDBench.toString   20000  thrpt   15  21.691 ± 0.204  ops/us
>> +UUIDBench.toString   20000  thrpt   15  35.785 ± 0.447  ops/us
>
> @wenshao The patch has changed 19 times in the last 3 days, is it ready for review now?

@AlanBateman 

i found an implementation with minor changes, but slower when COMPACT_STRINGS is false.

https://github.com/wenshao/jdk/commit/4a3da4b20fe0f7244c2c7bde3d9a0e2c8b91455a

do you suggest using a new implementation? if yes, i commit new changes.

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

PR Comment: https://git.openjdk.org/jdk/pull/14578#issuecomment-1605999627


More information about the core-libs-dev mailing list