< prev index next > test/micro/org/openjdk/bench/java/lang/foreign/CallOverheadVirtual.java
Print this page
@BenchmarkMode(Mode.AverageTime)
@Warmup(iterations = 5, time = 500, timeUnit = TimeUnit.MILLISECONDS)
@Measurement(iterations = 10, time = 500, timeUnit = TimeUnit.MILLISECONDS)
@State(org.openjdk.jmh.annotations.Scope.Thread)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
! @Fork(value = 3, jvmArgsAppend = { "--enable-native-access=ALL-UNNAMED", "--enable-preview" })
public class CallOverheadVirtual {
@Benchmark
public void jni_blank() throws Throwable {
blank();
@BenchmarkMode(Mode.AverageTime)
@Warmup(iterations = 5, time = 500, timeUnit = TimeUnit.MILLISECONDS)
@Measurement(iterations = 10, time = 500, timeUnit = TimeUnit.MILLISECONDS)
@State(org.openjdk.jmh.annotations.Scope.Thread)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
! @Fork(value = 3, jvmArgsAppend = { "--enable-native-access=ALL-UNNAMED" })
public class CallOverheadVirtual {
@Benchmark
public void jni_blank() throws Throwable {
blank();
public void panama_blank() throws Throwable {
func_v.invokeExact(func_addr);
}
@Benchmark
! public void panama_blank_trivial() throws Throwable {
! func_trivial_v.invokeExact(func_addr);
}
@Benchmark
public int jni_identity() throws Throwable {
return identity(10);
public void panama_blank() throws Throwable {
func_v.invokeExact(func_addr);
}
@Benchmark
! public void panama_blank_critical() throws Throwable {
! func_critical_v.invokeExact(func_addr);
}
@Benchmark
public int jni_identity() throws Throwable {
return identity(10);
public int panama_identity() throws Throwable {
return (int) identity_v.invokeExact(identity_addr, 10);
}
@Benchmark
! public int panama_identity_trivial() throws Throwable {
! return (int) identity_trivial_v.invokeExact(identity_addr, 10);
}
@Benchmark
public MemorySegment panama_identity_struct() throws Throwable {
return (MemorySegment) identity_struct_v.invokeExact(identity_struct_addr, recycling_allocator, point);
public int panama_identity() throws Throwable {
return (int) identity_v.invokeExact(identity_addr, 10);
}
@Benchmark
! public int panama_identity_critical() throws Throwable {
! return (int) identity_critical_v.invokeExact(identity_addr, 10);
}
@Benchmark
public MemorySegment panama_identity_struct() throws Throwable {
return (MemorySegment) identity_struct_v.invokeExact(identity_struct_addr, recycling_allocator, point);
< prev index next >