< prev index next >

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

Print this page

 31 import org.openjdk.jmh.annotations.Measurement;
 32 import org.openjdk.jmh.annotations.Mode;
 33 import org.openjdk.jmh.annotations.OutputTimeUnit;
 34 import org.openjdk.jmh.annotations.Setup;
 35 import org.openjdk.jmh.annotations.State;
 36 import org.openjdk.jmh.annotations.TearDown;
 37 import org.openjdk.jmh.annotations.Warmup;
 38 import sun.misc.Unsafe;
 39 
 40 import java.nio.ByteBuffer;
 41 import java.nio.ByteOrder;
 42 import java.util.concurrent.TimeUnit;
 43 
 44 import static java.lang.foreign.ValueLayout.JAVA_DOUBLE;
 45 
 46 @BenchmarkMode(Mode.AverageTime)
 47 @Warmup(iterations = 5, time = 500, timeUnit = TimeUnit.MILLISECONDS)
 48 @Measurement(iterations = 10, time = 500, timeUnit = TimeUnit.MILLISECONDS)
 49 @State(org.openjdk.jmh.annotations.Scope.Thread)
 50 @OutputTimeUnit(TimeUnit.MILLISECONDS)
 51 @Fork(value = 3, jvmArgsAppend = "--enable-preview")
 52 public class LoopOverNonConstantFP {
 53 
 54     static final Unsafe unsafe = Utils.unsafe;
 55 
 56     static final int ELEM_SIZE = 1_000_000;
 57     static final int CARRIER_SIZE = (int)JAVA_DOUBLE.byteSize();
 58     static final int ALLOC_SIZE = ELEM_SIZE * CARRIER_SIZE;
 59 
 60     Arena arena;
 61     MemorySegment segmentIn, segmentOut;
 62     long unsafe_addrIn, unsafe_addrOut;
 63     ByteBuffer byteBufferIn, byteBufferOut;
 64 
 65     @Setup
 66     public void setup() {
 67         unsafe_addrIn = unsafe.allocateMemory(ALLOC_SIZE);
 68         unsafe_addrOut = unsafe.allocateMemory(ALLOC_SIZE);
 69         for (int i = 0; i < ELEM_SIZE; i++) {
 70             unsafe.putDouble(unsafe_addrIn + (i * CARRIER_SIZE), i);
 71         }

 31 import org.openjdk.jmh.annotations.Measurement;
 32 import org.openjdk.jmh.annotations.Mode;
 33 import org.openjdk.jmh.annotations.OutputTimeUnit;
 34 import org.openjdk.jmh.annotations.Setup;
 35 import org.openjdk.jmh.annotations.State;
 36 import org.openjdk.jmh.annotations.TearDown;
 37 import org.openjdk.jmh.annotations.Warmup;
 38 import sun.misc.Unsafe;
 39 
 40 import java.nio.ByteBuffer;
 41 import java.nio.ByteOrder;
 42 import java.util.concurrent.TimeUnit;
 43 
 44 import static java.lang.foreign.ValueLayout.JAVA_DOUBLE;
 45 
 46 @BenchmarkMode(Mode.AverageTime)
 47 @Warmup(iterations = 5, time = 500, timeUnit = TimeUnit.MILLISECONDS)
 48 @Measurement(iterations = 10, time = 500, timeUnit = TimeUnit.MILLISECONDS)
 49 @State(org.openjdk.jmh.annotations.Scope.Thread)
 50 @OutputTimeUnit(TimeUnit.MILLISECONDS)
 51 @Fork(3)
 52 public class LoopOverNonConstantFP {
 53 
 54     static final Unsafe unsafe = Utils.unsafe;
 55 
 56     static final int ELEM_SIZE = 1_000_000;
 57     static final int CARRIER_SIZE = (int)JAVA_DOUBLE.byteSize();
 58     static final int ALLOC_SIZE = ELEM_SIZE * CARRIER_SIZE;
 59 
 60     Arena arena;
 61     MemorySegment segmentIn, segmentOut;
 62     long unsafe_addrIn, unsafe_addrOut;
 63     ByteBuffer byteBufferIn, byteBufferOut;
 64 
 65     @Setup
 66     public void setup() {
 67         unsafe_addrIn = unsafe.allocateMemory(ALLOC_SIZE);
 68         unsafe_addrOut = unsafe.allocateMemory(ALLOC_SIZE);
 69         for (int i = 0; i < ELEM_SIZE; i++) {
 70             unsafe.putDouble(unsafe_addrIn + (i * CARRIER_SIZE), i);
 71         }
< prev index next >