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