Simplify benchmark with @Param
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/52924948 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/52924948 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/52924948 Branch: refs/heads/master Commit: 5292494820fe632dd532d28564f3b8a9a1868dcc Parents: 4514fe7 Author: Matt Sicker <boa...@gmail.com> Authored: Fri Jun 17 22:48:30 2016 -0500 Committer: Matt Sicker <boa...@gmail.com> Committed: Fri Jun 17 22:48:30 2016 -0500 ---------------------------------------------------------------------- .../perf/jmh/AsyncAppenderLog4j2Benchmark.java | 34 ++++++-------------- 1 file changed, 9 insertions(+), 25 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/52924948/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncAppenderLog4j2Benchmark.java ---------------------------------------------------------------------- diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncAppenderLog4j2Benchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncAppenderLog4j2Benchmark.java index 74483f2..a5e7d97 100644 --- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncAppenderLog4j2Benchmark.java +++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/AsyncAppenderLog4j2Benchmark.java @@ -28,6 +28,7 @@ import org.openjdk.jmh.annotations.BenchmarkMode; import org.openjdk.jmh.annotations.Level; import org.openjdk.jmh.annotations.Mode; import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; import org.openjdk.jmh.annotations.Scope; import org.openjdk.jmh.annotations.Setup; import org.openjdk.jmh.annotations.State; @@ -60,36 +61,19 @@ import static org.apache.logging.log4j.perf.util.BenchmarkMessageParams.two; // java -jar log4j-perf/target/benchmarks.jar -help // @State(Scope.Benchmark) -public abstract class AsyncAppenderLog4j2Benchmark { +public class AsyncAppenderLog4j2Benchmark { Logger logger; - abstract String getConfigFileName(); - - public static class ArrayBlockingQueue extends AsyncAppenderLog4j2Benchmark { - @Override - String getConfigFileName() { - return "perf5AsyncApndNoLoc-noOpAppender.xml"; - } - } - - public static class DisruptorBlockingQueue extends AsyncAppenderLog4j2Benchmark { - @Override - String getConfigFileName() { - return "perf5AsyncApndDsrptrNoLoc-noOpAppender.xml"; - } - } - - public static class LinkedTransferQueue extends AsyncAppenderLog4j2Benchmark { - - @Override - String getConfigFileName() { - return "perf5AsyncApndXferQNoLoc-noOpAppender.xml"; - } - } + @Param({ + "perf5AsyncApndNoLoc-noOpAppender.xml", + "perf5AsyncApndDsrptrNoLoc-noOpAppender.xml", + "perf5AsyncApndXferQNoLoc-noOpAppender.xml" + }) + public String configFileName; @Setup(Level.Trial) public void up() { - System.setProperty("log4j.configurationFile", getConfigFileName()); + System.setProperty("log4j.configurationFile", configFileName); logger = LogManager.getLogger(getClass()); }