8287810: Reduce runtime of java.lang microbenchmarks

Reviewed-by: mchung
This commit is contained in:
Claes Redestad 2022-06-07 07:23:30 +00:00
parent aa6c568a06
commit 778ed1a760
39 changed files with 206 additions and 101 deletions

View file

@ -25,8 +25,10 @@ package org.openjdk.bench.java.lang;
import org.openjdk.jmh.annotations.BenchmarkMode;
import org.openjdk.jmh.annotations.Fork;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.Measurement;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.OutputTimeUnit;
import org.openjdk.jmh.annotations.Warmup;
import java.util.concurrent.TimeUnit;
@ -35,14 +37,18 @@ import java.util.concurrent.TimeUnit;
*/
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Warmup(iterations = 10, time = 1)
@Measurement(iterations = 5, time = 1)
@Fork(2)
public class ObjectHashCode {
@Benchmark
@Fork
public int mode_default() {
return System.identityHashCode(new Object());
}
// Experimental hashCode generation schemes. See synchronizer.cpp get_next_hash
/*
@Benchmark
@Fork(jvmArgsPrepend = {"-XX:+UnlockExperimentalVMOptions", "-XX:hashCode=0"})
public int mode_0() {
@ -78,5 +84,6 @@ public class ObjectHashCode {
public int mode_5() {
return System.identityHashCode(new Object());
}
*/
}