LOG4J2-1010 enhance benchmark to test with empty map

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/3ed968ed
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/3ed968ed
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/3ed968ed

Branch: refs/heads/master
Commit: 3ed968ed33a2d869af0bb31c60d023620934757f
Parents: 0461989
Author: rpopma <rpo...@apache.org>
Authored: Thu Sep 22 11:04:01 2016 +0900
Committer: rpopma <rpo...@apache.org>
Committed: Thu Sep 22 11:04:01 2016 +0900

----------------------------------------------------------------------
 .../logging/log4j/perf/jmh/MDCFilterBenchmark.java    | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3ed968ed/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MDCFilterBenchmark.java
----------------------------------------------------------------------
diff --git 
a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MDCFilterBenchmark.java
 
b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MDCFilterBenchmark.java
index 9b5c5cf..d3974a1 100644
--- 
a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MDCFilterBenchmark.java
+++ 
b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/MDCFilterBenchmark.java
@@ -21,6 +21,7 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
 import org.apache.logging.log4j.ThreadContext;
 import org.openjdk.jmh.annotations.Benchmark;
+import org.openjdk.jmh.annotations.Param;
 import org.openjdk.jmh.annotations.Scope;
 import org.openjdk.jmh.annotations.Setup;
 import org.openjdk.jmh.annotations.State;
@@ -45,12 +46,19 @@ public class MDCFilterBenchmark {
     Logger log4jLogger;
     org.slf4j.Logger slf4jLogger;
 
+    @Param({"0", "4"})
+    public int size;
+
+    static int staticSize;
+
     @State(Scope.Thread)
     public static class ThreadContextState {
         // Thread scope: initialize MDC/ThreadContext here to ensure each 
thread has some value set
         public ThreadContextState() {
-            ThreadContext.put("user", "Apache");
-            MDC.put("user", "Apache");
+            for (int i = 0; i < staticSize; i++) {
+                ThreadContext.put("user" + i, "Apache");
+                MDC.put("user" + i, "Apache");
+            }
         }
 
         public String message() {
@@ -65,6 +73,8 @@ public class MDCFilterBenchmark {
 
         log4jLogger = LogManager.getLogger(MDCFilterBenchmark.class);
         slf4jLogger = LoggerFactory.getLogger(MDCFilterBenchmark.class);
+
+        staticSize = size;
     }
 
     @TearDown

Reply via email to