Skip to content

Commit aa6c568

Browse files
committedJun 7, 2022
8287798: Reduce runtime of java.lang.reflect/runtime microbenchmarks
Reviewed-by: jvernee, mchung
1 parent 956d44d commit aa6c568

File tree

4 files changed

+25
-2
lines changed

4 files changed

+25
-2
lines changed
 

‎test/micro/org/openjdk/bench/java/lang/reflect/Clazz.java

+6
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,17 @@
2828

2929
import org.openjdk.jmh.annotations.Benchmark;
3030
import org.openjdk.jmh.annotations.BenchmarkMode;
31+
import org.openjdk.jmh.annotations.Fork;
32+
import org.openjdk.jmh.annotations.Measurement;
3133
import org.openjdk.jmh.annotations.Mode;
3234
import org.openjdk.jmh.annotations.OutputTimeUnit;
35+
import org.openjdk.jmh.annotations.Warmup;
3336

3437
@BenchmarkMode(Mode.AverageTime)
3538
@OutputTimeUnit(TimeUnit.NANOSECONDS)
39+
@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS)
40+
@Measurement(iterations = 5, time = 2, timeUnit = TimeUnit.SECONDS)
41+
@Fork(3)
3642
public class Clazz {
3743

3844
/**

‎test/micro/org/openjdk/bench/java/lang/reflect/ClazzWithSecurityManager.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,22 @@
3232
import java.security.NoSuchAlgorithmException;
3333
import java.security.Policy;
3434
import java.security.URIParameter;
35+
import java.util.concurrent.TimeUnit;
3536

37+
import org.openjdk.jmh.annotations.Fork;
38+
import org.openjdk.jmh.annotations.Measurement;
3639
import org.openjdk.jmh.annotations.Scope;
3740
import org.openjdk.jmh.annotations.Setup;
3841
import org.openjdk.jmh.annotations.State;
42+
import org.openjdk.jmh.annotations.Warmup;
3943

4044
/**
4145
* Reflection benchmark
42-
*
43-
* @author sfriberg
4446
*/
4547
@State(Scope.Benchmark)
48+
@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS)
49+
@Measurement(iterations = 5, time = 2, timeUnit = TimeUnit.SECONDS)
50+
@Fork(3)
4651
public class ClazzWithSecurityManager extends Clazz {
4752

4853
@SuppressWarnings("removal")

‎test/micro/org/openjdk/bench/java/lang/reflect/MethodInvoke.java

+6
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,14 @@
2525
import org.openjdk.jmh.annotations.Benchmark;
2626
import org.openjdk.jmh.annotations.BenchmarkMode;
2727
import org.openjdk.jmh.annotations.CompilerControl;
28+
import org.openjdk.jmh.annotations.Fork;
29+
import org.openjdk.jmh.annotations.Measurement;
2830
import org.openjdk.jmh.annotations.Mode;
2931
import org.openjdk.jmh.annotations.OutputTimeUnit;
3032
import org.openjdk.jmh.annotations.Scope;
3133
import org.openjdk.jmh.annotations.Setup;
3234
import org.openjdk.jmh.annotations.State;
35+
import org.openjdk.jmh.annotations.Warmup;
3336

3437
import java.lang.reflect.InvocationTargetException;
3538
import java.lang.reflect.Method;
@@ -43,6 +46,9 @@
4346
@BenchmarkMode(Mode.AverageTime)
4447
@OutputTimeUnit(TimeUnit.NANOSECONDS)
4548
@State(Scope.Thread)
49+
@Warmup(iterations = 10, time = 1, timeUnit = TimeUnit.SECONDS)
50+
@Measurement(iterations = 5, time = 2, timeUnit = TimeUnit.SECONDS)
51+
@Fork(3)
4652
public class MethodInvoke {
4753

4854
private Method staticMeth_0;

‎test/micro/org/openjdk/bench/java/lang/runtime/ObjectMethods.java

+6
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,14 @@
2424

2525
import org.openjdk.jmh.annotations.Benchmark;
2626
import org.openjdk.jmh.annotations.BenchmarkMode;
27+
import org.openjdk.jmh.annotations.Fork;
28+
import org.openjdk.jmh.annotations.Measurement;
2729
import org.openjdk.jmh.annotations.Mode;
2830
import org.openjdk.jmh.annotations.OutputTimeUnit;
2931
import org.openjdk.jmh.annotations.Scope;
3032
import org.openjdk.jmh.annotations.Setup;
3133
import org.openjdk.jmh.annotations.State;
34+
import org.openjdk.jmh.annotations.Warmup;
3235

3336
import java.lang.invoke.MethodHandle;
3437
import java.lang.invoke.MethodHandles;
@@ -41,6 +44,9 @@
4144
@BenchmarkMode(Mode.AverageTime)
4245
@OutputTimeUnit(TimeUnit.NANOSECONDS)
4346
@State(Scope.Thread)
47+
@Warmup(iterations = 15, time = 1, timeUnit = TimeUnit.SECONDS)
48+
@Measurement(iterations = 5, time = 2, timeUnit = TimeUnit.SECONDS)
49+
@Fork(3)
4450
public class ObjectMethods {
4551
record R0() {}
4652
record R1(int i) {}

0 commit comments

Comments
 (0)
Please sign in to comment.