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());
     }
 

Reply via email to