Author: rgoers
Date: Sun Aug 14 16:17:21 2011
New Revision: 1157554

URL: http://svn.apache.org/viewvc?rev=1157554&view=rev
Log:
Update performance tests

Added:
    
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/DebugDisabledPerformanceComparison.java
      - copied, changed from r1147720, 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/PerformanceComparison.java
    
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j12-perf2xml
      - copied unchanged from r1147720, 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j12-perf.xml
    
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j2-perf2.xml
      - copied, changed from r1147720, 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j2-perf.xml
    
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/logback-perf2.xml
      - copied, changed from r1147720, 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/logback-perf.xml
Modified:
    
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/SimplePerfTest.java

Copied: 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/DebugDisabledPerformanceComparison.java
 (from r1147720, 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/PerformanceComparison.java)
URL: 
http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/DebugDisabledPerformanceComparison.java?p2=logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/DebugDisabledPerformanceComparison.java&p1=logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/PerformanceComparison.java&r1=1147720&r2=1157554&rev=1157554&view=diff
==============================================================================
--- 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/PerformanceComparison.java
 (original)
+++ 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/DebugDisabledPerformanceComparison.java
 Sun Aug 14 16:17:21 2011
@@ -29,16 +29,15 @@ import java.io.OutputStream;
 import java.io.Writer;
 import java.nio.ByteBuffer;
 import java.nio.channels.FileChannel;
-import java.nio.charset.Charset;
 
 /**
  *
  */
-public class PerformanceComparison {
+public class DebugDisabledPerformanceComparison {
 
-    private Logger logger = 
LogManager.getLogger(PerformanceComparison.class.getName());
-    private org.slf4j.Logger logbacklogger = 
org.slf4j.LoggerFactory.getLogger(PerformanceComparison.class);
-    private org.apache.log4j.Logger log4jlogger = 
org.apache.log4j.Logger.getLogger(PerformanceComparison.class);
+    private Logger logger = 
LogManager.getLogger(DebugDisabledPerformanceComparison.class.getName());
+    private org.slf4j.Logger logbacklogger = 
org.slf4j.LoggerFactory.getLogger(DebugDisabledPerformanceComparison.class);
+    private org.apache.log4j.Logger log4jlogger = 
org.apache.log4j.Logger.getLogger(DebugDisabledPerformanceComparison.class);
 
 
     // How many times should we try to log:
@@ -46,9 +45,9 @@ public class PerformanceComparison {
     private static final int PROFILE_COUNT = 500000;
     private static final int WARMUP = 1000;
 
-    private static final String CONFIG = "log4j2-perf.xml";
-    private static final String LOGBACK_CONFIG = "logback-perf.xml";
-    private static final String LOG4J_CONFIG = "log4j12-perf.xml";
+    private static final String CONFIG = "log4j2-perf2.xml";
+    private static final String LOGBACK_CONFIG = "logback-perf2.xml";
+    private static final String LOG4J_CONFIG = "log4j12-perf2.xml";
 
     private static final String LOGBACK_CONF = "logback.configurationFile";
     private static final String LOG4J_CONF = "log4j.configuration";

Modified: 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/SimplePerfTest.java
URL: 
http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/SimplePerfTest.java?rev=1157554&r1=1157553&r2=1157554&view=diff
==============================================================================
--- 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/SimplePerfTest.java
 (original)
+++ 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/java/org/apache/logging/log4j/core/SimplePerfTest.java
 Sun Aug 14 16:17:21 2011
@@ -38,12 +38,11 @@ public class SimplePerfTest {
 
     private static org.apache.logging.log4j.Logger logger = 
LogManager.getLogger(SimplePerfTest.class.getName());
     private volatile Level lvl = Level.DEBUG;
-    private static final int LOOP_CNT = 100000000;
+    private static final int LOOP_CNT = 10000000;
     private static final int WARMUP = 1000;
     private static long maxTime;
-    private static int DEPTH = 2;
-    private static NotRandom rand = new NotRandom();
-    private static int RAND_SIZE = 10000;
+    private static Random rand = new SimpleRandom();
+    private static int RAND_SIZE = 200;
     private static int[] values = new int[RAND_SIZE];
 
     @BeforeClass
@@ -55,32 +54,24 @@ public class SimplePerfTest {
             ((LoggerContext)LogManager.getContext()).setConfiguration(new 
DefaultConfiguration());
         }
 
-        Random r = new Random(WARMUP);
-
-        for (int i=0; i < RAND_SIZE; ++i) {
-            values[i] = r.nextInt(Integer.MAX_VALUE);
-        }
-
         for (int i=0; i < WARMUP; ++i) {
-            if (overhead(DEPTH)) {
-                System.out.println("help!");
-            }
+            overhead();
         }
-
+        System.gc();
         Timer timer = new Timer("Setup", LOOP_CNT);
         timer.start();
-        for (int i=0; i < LOOP_CNT; ++i) {
-            if (overhead(DEPTH)) {
-                System.out.println("help!");
-            }
+        for (int i=0; i < (LOOP_CNT / 150); ++i) {
+            overhead();
         }
         timer.stop();
         maxTime = timer.getElapsedNanoTime();
+        System.gc();
         System.out.println(timer.toString());
     }
 
     @Test
     public void debugDisabled() {
+        System.gc();
         Timer timer = new Timer("DebugDisabled", LOOP_CNT);
         timer.start();
         for (int i=0; i < LOOP_CNT; ++i) {
@@ -120,26 +111,41 @@ public class SimplePerfTest {
      * Try to generate some overhead that can't be optimized well. Not sure 
how accurate this is,
      * but the point is simply to insure that changes made don't suddenly 
cause performance issues.
      */
-    private static boolean overhead(int i) {
-        while (i > 0) {
-            if (rand.nextInt() <= 0) {
-                return true;
-            }
-            --i;
+    private static void overhead() {
+        int values[] = new int[RAND_SIZE];
+        Random rand = new SimpleRandom();
+
+        for (int i = 0; i < RAND_SIZE; ++i) {
+            values[i] = rand.nextInt();
         }
-        return false;
+        bubbleSort(values);
     }
 
-    private static class NotRandom extends Random
-    {
-        private int index = 0;
+    private static class SimpleRandom extends Random {
+        private int low = 5;
+        private int high = 55;
 
-        @Override
         public int nextInt() {
-            if (index >= values.length) {
-                index = 0;
+            high = 36969 * (high & 65535) + (high >> 16);
+            low = 18000 * (low & 65535) + (low >> 16);
+            return (high << 16) + low;
+        }
+    }
+
+    /**
+     * Standard BubbleSort algorithm.
+     * @param array The array to sort.
+     */
+    private static void bubbleSort(int array[]) {
+        int length = array.length;
+        for (int i = 0; i < length; i++) {
+            for (int j = 1; j > length - i; j++) {
+                if (array[j-1] > array[j]) {
+                    int temp = array[j-1];
+                    array[j-1] = array[j];
+                    array[j] = temp;
+                }
             }
-            return values[index++];
         }
     }
 }

Copied: 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j2-perf2.xml
 (from r1147720, 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j2-perf.xml)
URL: 
http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j2-perf2.xml?p2=logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j2-perf2.xml&p1=logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j2-perf.xml&r1=1147720&r2=1157554&rev=1157554&view=diff
==============================================================================
--- 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j2-perf.xml
 (original)
+++ 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/log4j2-perf2.xml
 Sun Aug 14 16:17:21 2011
@@ -8,7 +8,7 @@
     </File>
   </appenders>
   <loggers>
-    <root level="debug">
+    <root level="error">
       <appender-ref ref="TestLogfile"/>
     </root>
   </loggers>

Copied: 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/logback-perf2.xml
 (from r1147720, 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/logback-perf.xml)
URL: 
http://svn.apache.org/viewvc/logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/logback-perf2.xml?p2=logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/logback-perf2.xml&p1=logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/logback-perf.xml&r1=1147720&r2=1157554&rev=1157554&view=diff
==============================================================================
--- 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/logback-perf.xml
 (original)
+++ 
logging/log4j/branches/BRANCH_2_0_EXPERIMENTAL/rgoers/log4j2-core/src/test/resources/logback-perf2.xml
 Sun Aug 14 16:17:21 2011
@@ -6,7 +6,7 @@
    </encoder>
  </appender>
 
- <root level="debug">
+ <root level="error">
    <appender-ref ref="TestLogfile" />
  </root>
 </configuration>
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to