Merge pull request #9389 from alimate/BAEL-4039
BAEL-4039: Introducing Constant Folding & Dead Code Elimination
This commit is contained in:
commit
5ce70c75de
|
@ -1,14 +1,20 @@
|
||||||
package com.baeldung;
|
package com.baeldung;
|
||||||
|
|
||||||
import com.google.common.hash.HashFunction;
|
|
||||||
import com.google.common.hash.Hasher;
|
import com.google.common.hash.Hasher;
|
||||||
import com.google.common.hash.Hashing;
|
import com.google.common.hash.Hashing;
|
||||||
import org.openjdk.jmh.annotations.*;
|
import org.openjdk.jmh.annotations.*;
|
||||||
|
import org.openjdk.jmh.infra.Blackhole;
|
||||||
|
|
||||||
import java.nio.charset.Charset;
|
import java.nio.charset.Charset;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
public class BenchMark {
|
public class BenchMark {
|
||||||
|
|
||||||
|
@State(Scope.Benchmark)
|
||||||
|
public static class Log {
|
||||||
|
public int x = 8;
|
||||||
|
}
|
||||||
|
|
||||||
@State(Scope.Benchmark)
|
@State(Scope.Benchmark)
|
||||||
public static class ExecutionPlan {
|
public static class ExecutionPlan {
|
||||||
|
|
||||||
|
@ -45,4 +51,44 @@ public class BenchMark {
|
||||||
// Do nothing
|
// Do nothing
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Benchmark
|
||||||
|
@OutputTimeUnit(TimeUnit.NANOSECONDS)
|
||||||
|
@BenchmarkMode(Mode.AverageTime)
|
||||||
|
public void doNothing() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Benchmark
|
||||||
|
@OutputTimeUnit(TimeUnit.NANOSECONDS)
|
||||||
|
@BenchmarkMode(Mode.AverageTime)
|
||||||
|
public void objectCreation() {
|
||||||
|
new Object();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Benchmark
|
||||||
|
@OutputTimeUnit(TimeUnit.NANOSECONDS)
|
||||||
|
@BenchmarkMode(Mode.AverageTime)
|
||||||
|
public Object pillarsOfCreation() {
|
||||||
|
return new Object();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Benchmark
|
||||||
|
@OutputTimeUnit(TimeUnit.NANOSECONDS)
|
||||||
|
@BenchmarkMode(Mode.AverageTime)
|
||||||
|
public void blackHole(Blackhole blackhole) {
|
||||||
|
blackhole.consume(new Object());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Benchmark
|
||||||
|
public double foldedLog() {
|
||||||
|
int x = 8;
|
||||||
|
|
||||||
|
return Math.log(x);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Benchmark
|
||||||
|
public double log(Log input) {
|
||||||
|
return Math.log(input.x);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue