On Thu, 20 Jul 2023 16:12:12 GMT, Glavo <d...@openjdk.org> wrote:

>> I just ran your benchmark above - which is similar as I said to the ones we 
>> already have in the JDK. Results:
>> 
>> Benchmark                     Mode  Cnt  Score   Error  Units
>> ByteArray.readByte            avgt   30  3.619 ± 0.051  ns/op
>> ByteArray.readByteFromBuffer  avgt   30  3.936 ± 0.071  ns/op
>> ByteArray.readInt             avgt   30  3.653 ± 0.054  ns/op
>> ByteArray.readIntFromBuffer   avgt   30  3.798 ± 0.019  ns/op
>> ByteArray.readLong            avgt   30  3.637 ± 0.053  ns/op
>> ByteArray.readLongFromBuffer  avgt   30  3.922 ± 0.012  ns/op
>> 
>> 
>> I don't see 2x slowdown. Which JDK are you using? Which platform?
>
>> I don't see 2x slowdown. Which JDK are you using? Which platform?
> 
> I tried running the benchmarks with OpenJDK 20.0.1 and my own jdk built from 
> master and the results were similar. The test platform is based on Ubuntu 
> 23.04, and the CPU is AMD Ryzen 7 3700X.
> 
> Here's the benchmark configuration I use:
> 
> 
> @Warmup(iterations = 5, time = 3)
> @Measurement(iterations = 5, time = 2)
> @Fork(value = 1, jvmArgsAppend = {"-XX:+UseG1GC", "-Xms4g", "-Xmx4g"})
> @BenchmarkMode(Mode.Throughput)
> @OutputTimeUnit(TimeUnit.MILLISECONDS)
> @State(Scope.Benchmark)
> 
> 
> Also, I just ran the benchmarks on my ARM machine (Ubuntu 22.04, RK3588) and 
> here are the results:
> 
> 
> Benchmark                      Mode  Cnt       Score       Error   Units
> ByteArray.readByte            thrpt    5  637843.606 ± 23657.623  ops/ms
> ByteArray.readByteFromBuffer  thrpt    5  350328.152 ±  3635.769  ops/ms
> ByteArray.readInt             thrpt    5  633518.784 ±  2558.021  ops/ms
> ByteArray.readIntFromBuffer   thrpt    5  327456.830 ±  4588.002  ops/ms
> ByteArray.readLong            thrpt    5  627409.162 ± 29301.498  ops/ms
> ByteArray.readLongFromBuffer  thrpt    5  328154.906 ±  1067.439  ops/ms

Here's with the same parameters as the one you are using:

Benchmark                      Mode  Cnt       Score       Error   Units
ByteArray.readByte            thrpt    5  268722.378 ±  5979.787  ops/ms
ByteArray.readByteFromBuffer  thrpt    5  254333.844 ±  6975.034  ops/ms
ByteArray.readInt             thrpt    5  271849.915 ±  4746.869  ops/ms
ByteArray.readIntFromBuffer   thrpt    5  263109.760 ±  2764.372  ops/ms
ByteArray.readLong            thrpt    5  271635.129 ± 14705.673  ops/ms
ByteArray.readLongFromBuffer  thrpt    5  252633.826 ±  2950.184  ops/ms

(Java 22/Ubuntu 20.04 on Ryzen 3900X here).

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14636#discussion_r1269699609

Reply via email to