You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2014/03/22 03:49:18 UTC

svn commit: r1580132 - /logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTestDriver.java

Author: rpopma
Date: Sat Mar 22 02:49:17 2014
New Revision: 1580132

URL: http://svn.apache.org/r1580132
Log:
Make ThreadNameStrategy configurable in performance test

Modified:
    logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTestDriver.java

Modified: logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTestDriver.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTestDriver.java?rev=1580132&r1=1580131&r2=1580132&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTestDriver.java (original)
+++ logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/async/perftest/PerfTestDriver.java Sat Mar 22 02:49:17 2014
@@ -214,12 +214,15 @@ public class PerfTestDriver {
         final String LOG12 = RunLog4j1.class.getName();
         final String LOG20 = RunLog4j2.class.getName();
         final String LOGBK = RunLogback.class.getName();
+        
+        final String THREADNAME = "-DAsyncLogger.ThreadNameStrategy=" //
+                + System.getProperty("AsyncLogger.ThreadNameStrategy", "CACHED");
 
         final long start = System.nanoTime();
         final List<Setup> tests = new ArrayList<PerfTestDriver.Setup>();
         // includeLocation=false
         tests.add(s("perf3PlainNoLoc.xml", LOG20, "Loggers all async",
-                ALL_ASYNC, SYSCLOCK));
+                ALL_ASYNC, SYSCLOCK, THREADNAME));
         tests.add(s("perf7MixedNoLoc.xml", LOG20, "Loggers mixed sync/async"));
         tests.add(s("perf-logback.xml", LOGBK, "Sync"));
         tests.add(s("perf-log4j12.xml", LOG12, "Sync"));
@@ -248,7 +251,7 @@ public class PerfTestDriver {
         // tests.add(s("perf2syncRollRandomAccessFile.xml", LOG20,
         // "RollRandomAccessFileAppender"));
 
-        final int MAX_THREADS = 16; // 64 takes a LONG time
+        final int MAX_THREADS = 4; // 64 takes a LONG time
         for (int i = 2; i <= MAX_THREADS; i *= 2) {
             // includeLocation = false
             tests.add(m("perf-logback.xml", LOGBK, "Sync", i));
@@ -258,7 +261,7 @@ public class PerfTestDriver {
             tests.add(m("perf-log4j12-async.xml", LOG12, "Async Appender", i));
             tests.add(m("perf5AsyncApndNoLoc.xml", LOG20, "Async Appender", i));
             tests.add(m("perf3PlainNoLoc.xml", LOG20, "Loggers all async", i,
-                    ALL_ASYNC, SYSCLOCK));
+                    ALL_ASYNC, SYSCLOCK, THREADNAME));
             tests.add(m("perf7MixedNoLoc.xml", LOG20,
                     "Loggers mixed sync/async", i));
 
@@ -293,8 +296,8 @@ public class PerfTestDriver {
             final ProcessBuilder pb = config.throughputTest(java);
             pb.redirectErrorStream(true); // merge System.out and System.err
             final long t1 = System.nanoTime();
-            // int count = config._threadCount >= 16 ? 2 : repeat;
-            runPerfTest(repeat, x++, config, pb);
+            int count = config._threadCount >= 4 ? 3 : repeat;
+            runPerfTest(count, x++, config, pb);
             System.out.printf(" took %.1f seconds%n", (System.nanoTime() - t1)
                     / (1000.0 * 1000.0 * 1000.0));