< prev index next >

test/micro/org/openjdk/bench/java/lang/ref/CleanerChurn.java

Print this page

31 
32 @OutputTimeUnit(TimeUnit.NANOSECONDS)
33 @State(Scope.Thread)
34 @BenchmarkMode(Mode.AverageTime)
35 @Warmup(iterations = 3, time = 1, timeUnit = TimeUnit.SECONDS)
36 @Measurement(iterations = 3, time = 1, timeUnit = TimeUnit.SECONDS)
37 @Fork(value = 3, jvmArgs = {"-Xmx256m", "-Xms256m", "-XX:+AlwaysPreTouch"})
38 public class CleanerChurn {
39 
40     @Param({"128", "256", "512", "1024", "2048"})
41     int recipFreq;
42 
43     @Benchmark
44     public Object test() {
45         boolean register = ThreadLocalRandom.current().nextInt(recipFreq) == 0;
46         return new Target(register);
47     }
48 
49     static class Target {
50         private static final Cleaner CLEANER = Cleaner.create();

51         public Target(boolean register) {
52             if (register) {
53                 CLEANER.register(this, () -> {});
54             }
55         }
56     }
57 
58 }

31 
32 @OutputTimeUnit(TimeUnit.NANOSECONDS)
33 @State(Scope.Thread)
34 @BenchmarkMode(Mode.AverageTime)
35 @Warmup(iterations = 3, time = 1, timeUnit = TimeUnit.SECONDS)
36 @Measurement(iterations = 3, time = 1, timeUnit = TimeUnit.SECONDS)
37 @Fork(value = 3, jvmArgs = {"-Xmx256m", "-Xms256m", "-XX:+AlwaysPreTouch"})
38 public class CleanerChurn {
39 
40     @Param({"128", "256", "512", "1024", "2048"})
41     int recipFreq;
42 
43     @Benchmark
44     public Object test() {
45         boolean register = ThreadLocalRandom.current().nextInt(recipFreq) == 0;
46         return new Target(register);
47     }
48 
49     static class Target {
50         private static final Cleaner CLEANER = Cleaner.create();
51         @SuppressWarnings("initialization")
52         public Target(boolean register) {
53             if (register) {
54                 CLEANER.register(this, () -> {});
55             }
56         }
57     }
58 
59 }
< prev index next >