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]