added benchmarks omitting the conversion from String to byte[] array (to show the cost of this conversion)
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/307d9458 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/307d9458 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/307d9458 Branch: refs/heads/LOG4J2-1136 Commit: 307d945837bf53f7be475c27b0b08ee843506733 Parents: 22614d5 Author: rpopma <[email protected]> Authored: Sat Oct 3 19:27:00 2015 +0200 Committer: Ralph Goers <[email protected]> Committed: Sat Oct 3 23:08:06 2015 -0700 ---------------------------------------------------------------------- .../log4j/perf/jmh/ThreadLocalVsPoolBenchmark.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/307d9458/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadLocalVsPoolBenchmark.java ---------------------------------------------------------------------- diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadLocalVsPoolBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadLocalVsPoolBenchmark.java index da4f41f..365649f 100644 --- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadLocalVsPoolBenchmark.java +++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/ThreadLocalVsPoolBenchmark.java @@ -99,6 +99,21 @@ public class ThreadLocalVsPoolBenchmark { return serializeWithPool(LOG4J2EVENT).getBytes(CHARSET_DEFAULT); } + @Benchmark + public String _stringNewInstance() { + return serializeWithNewInstance(LOG4J2EVENT); + } + + @Benchmark + public String _stringThreadLocal() { + return serializeWithThreadLocal(LOG4J2EVENT); + } + + @Benchmark + public String _stringObjectPool() { + return serializeWithPool(LOG4J2EVENT); + } + private String serializeWithNewInstance(final LogEvent event) { final StringBuilder buf = new StringBuilder(DEFAULT_STRING_BUILDER_SIZE); return serialize(event, buf);
