< prev index next >

test/micro/org/openjdk/bench/java/lang/foreign/ParallelSum.java

Print this page

 35 import org.openjdk.jmh.annotations.Setup;
 36 import org.openjdk.jmh.annotations.State;
 37 import org.openjdk.jmh.annotations.TearDown;
 38 import org.openjdk.jmh.annotations.Warmup;
 39 
 40 import java.util.LinkedList;
 41 import java.util.List;
 42 import java.util.Optional;
 43 import java.util.Spliterator;
 44 import java.util.concurrent.CountedCompleter;
 45 import java.util.concurrent.RecursiveTask;
 46 import java.util.concurrent.TimeUnit;
 47 import java.util.function.Predicate;
 48 import java.util.function.ToIntFunction;
 49 
 50 @BenchmarkMode(Mode.AverageTime)
 51 @Warmup(iterations = 5, time = 500, timeUnit = TimeUnit.MILLISECONDS)
 52 @Measurement(iterations = 10, time = 500, timeUnit = TimeUnit.MILLISECONDS)
 53 @State(org.openjdk.jmh.annotations.Scope.Thread)
 54 @OutputTimeUnit(TimeUnit.MILLISECONDS)
 55 @Fork(value = 3, jvmArgsAppend = "--enable-preview")
 56 public class ParallelSum extends JavaLayouts {
 57 
 58     final static int CARRIER_SIZE = 4;
 59     final static int ALLOC_SIZE = CARRIER_SIZE * 1024 * 1024 * 256;
 60     final static int ELEM_SIZE = ALLOC_SIZE / CARRIER_SIZE;
 61 
 62     final static MemoryLayout ELEM_LAYOUT = ValueLayout.JAVA_INT;
 63     final static int BULK_FACTOR = 512;
 64     final static SequenceLayout ELEM_LAYOUT_BULK = MemoryLayout.sequenceLayout(BULK_FACTOR, ELEM_LAYOUT);
 65 
 66     static final Unsafe unsafe = Utils.unsafe;
 67 
 68     Arena arena;
 69     MemorySegment segment;
 70     long address;
 71 
 72     @Setup
 73     public void setup() {
 74         address = unsafe.allocateMemory(ALLOC_SIZE);
 75         for (int i = 0; i < ELEM_SIZE; i++) {

 35 import org.openjdk.jmh.annotations.Setup;
 36 import org.openjdk.jmh.annotations.State;
 37 import org.openjdk.jmh.annotations.TearDown;
 38 import org.openjdk.jmh.annotations.Warmup;
 39 
 40 import java.util.LinkedList;
 41 import java.util.List;
 42 import java.util.Optional;
 43 import java.util.Spliterator;
 44 import java.util.concurrent.CountedCompleter;
 45 import java.util.concurrent.RecursiveTask;
 46 import java.util.concurrent.TimeUnit;
 47 import java.util.function.Predicate;
 48 import java.util.function.ToIntFunction;
 49 
 50 @BenchmarkMode(Mode.AverageTime)
 51 @Warmup(iterations = 5, time = 500, timeUnit = TimeUnit.MILLISECONDS)
 52 @Measurement(iterations = 10, time = 500, timeUnit = TimeUnit.MILLISECONDS)
 53 @State(org.openjdk.jmh.annotations.Scope.Thread)
 54 @OutputTimeUnit(TimeUnit.MILLISECONDS)
 55 @Fork(3)
 56 public class ParallelSum extends JavaLayouts {
 57 
 58     final static int CARRIER_SIZE = 4;
 59     final static int ALLOC_SIZE = CARRIER_SIZE * 1024 * 1024 * 256;
 60     final static int ELEM_SIZE = ALLOC_SIZE / CARRIER_SIZE;
 61 
 62     final static MemoryLayout ELEM_LAYOUT = ValueLayout.JAVA_INT;
 63     final static int BULK_FACTOR = 512;
 64     final static SequenceLayout ELEM_LAYOUT_BULK = MemoryLayout.sequenceLayout(BULK_FACTOR, ELEM_LAYOUT);
 65 
 66     static final Unsafe unsafe = Utils.unsafe;
 67 
 68     Arena arena;
 69     MemorySegment segment;
 70     long address;
 71 
 72     @Setup
 73     public void setup() {
 74         address = unsafe.allocateMemory(ALLOC_SIZE);
 75         for (int i = 0; i < ELEM_SIZE; i++) {
< prev index next >