On Sat, 1 Jul 2023 19:05:23 GMT, Sergey Tsypanov <stsypa...@openjdk.org> wrote:

>> The below benchmark files have scaling issues due to cache contention and 
>> leads to poor scaling when run on multiple threads. The patch sets the scope 
>> from benchmark level to thread level to fix the issue:
>> - org/openjdk/bench/java/io/DataOutputStreamTest.java
>> - org/openjdk/bench/java/lang/ArrayCopyObject.java
>> - org/openjdk/bench/java/lang/ArrayFiddle.java
>> - org/openjdk/bench/java/time/format/DateTimeFormatterBench.java
>> - org/openjdk/bench/jdk/incubator/vector/IndexInRangeBenchmark.java
>> - org/openjdk/bench/jdk/incubator/vector/MemorySegmentVectorAccess.java
>> - org/openjdk/bench/jdk/incubator/vector/StoreMaskedBenchmark.java
>> - org/openjdk/bench/jdk/incubator/vector/StoreMaskedIOOBEBenchmark.java
>> - org/openjdk/bench/vm/compiler/ArrayFill.java
>> - org/openjdk/bench/vm/compiler/IndexVector.java
>> 
>> Also removing the static scope for variables in 
>> org/openjdk/bench/jdk/incubator/vector/VectorFPtoIntCastOperations.java for 
>> better scaling.
>> 
>> Please review and share your feedback.
>> 
>> Thanks,
>> Swati
>
> test/micro/org/openjdk/bench/java/lang/ArrayCopyObject.java line 64:
> 
>> 62: }
>> 63: 
>> 64: @State(Scope.Thread)
> 
> Are you sure it makes sense as in `main()` method we set `fork(1)` so there's 
> only one thread running the benchmark?

AFAIK fork value specifies number of times harness should 
[fork](https://javadoc.io/doc/org.openjdk.jmh/jmh-core/0.6/org/openjdk/jmh/annotations/Fork.html).
 Also the change is setting scope to thread level not controlling the number of 
threads.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14746#discussion_r1251459004

Reply via email to