You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by ca...@apache.org on 2006/01/13 23:50:59 UTC
svn commit: r368896 - in /logging/sandbox/log4j/formatter: build.xml pom.xml
src/test/java/org/apache/log4j/formatter/Java5PerformanceTest.java
src/test/java/org/apache/log4j/formatter/PerformanceTest.java
Author: carnold
Date: Fri Jan 13 14:50:54 2006
New Revision: 368896
URL: http://svn.apache.org/viewcvs?rev=368896&view=rev
Log:
Add benchmark tests
Added:
logging/sandbox/log4j/formatter/src/test/java/org/apache/log4j/formatter/Java5PerformanceTest.java
logging/sandbox/log4j/formatter/src/test/java/org/apache/log4j/formatter/PerformanceTest.java (with props)
Modified:
logging/sandbox/log4j/formatter/build.xml
logging/sandbox/log4j/formatter/pom.xml
Modified: logging/sandbox/log4j/formatter/build.xml
URL: http://svn.apache.org/viewcvs/logging/sandbox/log4j/formatter/build.xml?rev=368896&r1=368895&r2=368896&view=diff
==============================================================================
--- logging/sandbox/log4j/formatter/build.xml (original)
+++ logging/sandbox/log4j/formatter/build.xml Fri Jan 13 14:50:54 2006
@@ -31,6 +31,8 @@
<property name="log4j.jar" value="${M2_REPO}/log4j/log4j/${log4j.version}/log4j-${log4j.version}.jar"/>
<property name="junit.version" value="3.8.1"/>
<property name="junit.jar" value="${M2_REPO}/junit/junit/${junit.version}/junit-${junit.version}.jar"/>
+ <property name="slf4j.version" value="1.0-rc3"/>
+ <property name="slf4j.jar" value="${M2_REPO}/org/slf4j/slf4j-log4j12/${slf4j.version}/slf4j-log4j12-${slf4j.version}.jar"/>
<target name="clean" description="Remove generated artifacts">
<delete dir="${target.dir}"/>
@@ -119,10 +121,10 @@
<javac destdir="${test-classes-java2.dir}"
srcdir="src/test/java"
includes="**/*.java"
- excludes="**/LogFTest*.java **/LogFTraceTest.java"
+ excludes="**/LogFTest*.java **/LogFTraceTest.java **/Java5*.java"
source="1.3"
target="1.3"
- classpath="${classes-java2.dir};${log4j.jar};${junit.jar}"/>
+ classpath="${classes-java2.dir};${log4j.jar};${junit.jar};${slf4j.jar}"/>
</target>
<target name="testCompile" depends="compile" description="Compile tests for Java 5">
@@ -133,7 +135,7 @@
excludes="**/LogFTest*.java **/LogFTraceTest.java"
source="1.3"
target="1.3"
- classpath="${classes.dir};${log4j.jar};${junit.jar}"/>
+ classpath="${classes.dir};${log4j.jar};${junit.jar};${slf4j.jar}"/>
<javac destdir="${test-classes.dir}"
srcdir="src/test/java"
includes="**/LogFTest*.java **/LogFTraceTest.java"
@@ -145,7 +147,7 @@
<target name="test" depends="testCompile" description="Run tests for Java 5">
<junit printsummary="yes"
fork="yes">
- <classpath path="${test-classes.dir};${classes.dir};${log4j.jar};${junit.jar}"/>
+ <classpath path="${test-classes.dir};${classes.dir};${log4j.jar};${junit.jar};${slf4j.jar}"/>
<formatter type="plain" usefile="false"/>
<batchtest>
<fileset dir="src/test/java"
@@ -159,12 +161,12 @@
description="Run tests for Java 2">
<junit printsummary="yes"
fork="yes">
- <classpath path="${test-classes-java2.dir};${classes-java2.dir};${log4j.jar};${junit.jar}"/>
+ <classpath path="${test-classes-java2.dir};${classes-java2.dir};${log4j.jar};${junit.jar};${slf4j.jar}"/>
<formatter type="plain" usefile="false"/>
<batchtest>
<fileset dir="src/test/java"
includes="**/*.java"
- excludes="**/LogF*.java **/VectorAppender.java **/LogCapture.java"/>
+ excludes="**/LogF*.java **/VectorAppender.java **/LogCapture.java **/Java5*.java"/>
</batchtest>
</junit>
</target>
Modified: logging/sandbox/log4j/formatter/pom.xml
URL: http://svn.apache.org/viewcvs/logging/sandbox/log4j/formatter/pom.xml?rev=368896&r1=368895&r2=368896&view=diff
==============================================================================
--- logging/sandbox/log4j/formatter/pom.xml (original)
+++ logging/sandbox/log4j/formatter/pom.xml Fri Jan 13 14:50:54 2006
@@ -109,6 +109,11 @@
<artifactId>log4j</artifactId>
<version>1.2.13</version>
</dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.0-rc3</version>
+ </dependency>
</dependencies>
<reporting>
<plugins>
Added: logging/sandbox/log4j/formatter/src/test/java/org/apache/log4j/formatter/Java5PerformanceTest.java
URL: http://svn.apache.org/viewcvs/logging/sandbox/log4j/formatter/src/test/java/org/apache/log4j/formatter/Java5PerformanceTest.java?rev=368896&view=auto
==============================================================================
--- logging/sandbox/log4j/formatter/src/test/java/org/apache/log4j/formatter/Java5PerformanceTest.java (added)
+++ logging/sandbox/log4j/formatter/src/test/java/org/apache/log4j/formatter/Java5PerformanceTest.java Fri Jan 13 14:50:54 2006
@@ -0,0 +1,85 @@
+package org.apache.log4j.formatter;
+import java.text.MessageFormat;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
+import org.apache.log4j.FileAppender;
+import org.slf4j.impl.MessageFormatter;
+
+/**
+ * Performance tests for Java 5 specific features.
+ * @author Curt Arnold
+ *
+ */
+public class Java5PerformanceTest extends TestCase {
+
+ private static final int ITERATIONS = 50000;
+ /**
+ * Creates new instance of test.
+ * @param name test name.
+ */
+ public Java5PerformanceTest(final String name) {
+ super(name);
+ }
+
+ /**
+ * Configures log4j.
+ * @return logger.
+ */
+ private static Logger initLogger() {
+ LogManager.resetConfiguration();
+ Logger logger = Logger.getLogger("org.apache.log4j.formatter.test");
+ FileAppender appender = new FileAppender();
+ String tmpDir = System.getProperty("java.io.tmpdir");
+ appender.setFile(tmpDir + "/TestPerformance.log");
+ appender.setLayout(new PatternLayout("%m%n"));
+ appender.setAppend(false);
+ appender.activateOptions();
+ Logger.getRootLogger().addAppender(appender);
+ return logger;
+ }
+ /**
+ * Test java.text.MessageFormat.format.
+ */
+ public void testMessageFormat() {
+ Logger logger = initLogger();
+
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < ITERATIONS; i++) {
+ logger.debug(MessageFormat.format("Hello, {0}", "World"));
+ }
+ long end = System.currentTimeMillis();
+ System.out.println("java.text.MessageFormat.format(String, Object): " + String.valueOf(end - start));
+ }
+
+ /**
+ * Test java.util.Formatter.format.
+ */
+ public void testUtilFormatter() {
+ Logger logger = initLogger();
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < ITERATIONS; i++) {
+ logger.debug(String.format("Hello, %s", "World"));
+ }
+ long end = System.currentTimeMillis();
+ System.out.println("java.util.Formatter: " + String.valueOf(end - start));
+ }
+
+ /**
+ * Test LogF(Logger, String, Object).
+ */
+ public void testLogF() {
+ Logger logger = initLogger();
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < ITERATIONS; i++) {
+ LogF.debug(logger, "Hello, %s", "World");
+ }
+ long end = System.currentTimeMillis();
+ System.out.println("LogF(Logger, String, Object): " + String.valueOf(end - start));
+ }
+
+
+}
Added: logging/sandbox/log4j/formatter/src/test/java/org/apache/log4j/formatter/PerformanceTest.java
URL: http://svn.apache.org/viewcvs/logging/sandbox/log4j/formatter/src/test/java/org/apache/log4j/formatter/PerformanceTest.java?rev=368896&view=auto
==============================================================================
--- logging/sandbox/log4j/formatter/src/test/java/org/apache/log4j/formatter/PerformanceTest.java (added)
+++ logging/sandbox/log4j/formatter/src/test/java/org/apache/log4j/formatter/PerformanceTest.java Fri Jan 13 14:50:54 2006
@@ -0,0 +1,145 @@
+package org.apache.log4j.formatter;
+
+import junit.framework.TestCase;
+
+import org.apache.log4j.varia.NullAppender;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.apache.log4j.PatternLayout;
+import org.apache.log4j.FileAppender;
+
+/**
+ * Performance tests.
+ * @author Curt Arnold
+ *
+ */
+public class PerformanceTest extends TestCase {
+
+ private static final int ITERATIONS = 50000;
+ /**
+ * Creates new instance of test.
+ * @param name test name.
+ */
+ public PerformanceTest(final String name) {
+ super(name);
+ }
+
+ /**
+ * Configures log4j.
+ * @return logger.
+ */
+ private static Logger initLogger() {
+ LogManager.resetConfiguration();
+ Logger logger = Logger.getLogger("org.apache.log4j.formatter.test");
+ FileAppender appender = new FileAppender();
+ String tmpDir = System.getProperty("java.io.tmpdir");
+ appender.setFile(tmpDir + "/TestPerformance.log");
+ appender.setLayout(new PatternLayout("%m%n"));
+ appender.setAppend(false);
+// NullAppender appender = new NullAppender();
+ appender.activateOptions();
+ Logger.getRootLogger().addAppender(appender);
+ return logger;
+ }
+
+ public void testSleep() throws Exception {
+ System.out.println("Sleeping to allow profiler to be started");
+ Thread.sleep(5000);
+ }
+
+ /**
+ * Test baseline performance.
+ */
+ public void testMessageBaseline() {
+ Logger logger = initLogger();
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < ITERATIONS; i++) {
+ logger.debug("Hello, World");
+ }
+ long end = System.currentTimeMillis();
+ System.out.println("\"Hello, World\": " + String.valueOf(end - start));
+ }
+
+ /**
+ * Test java.text.MessageFormat.format(String, Object[]).
+ */
+ public void testMessageFormatArray() {
+ Logger logger = initLogger();
+ Object[] vals = new Object[] { "World" };
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < ITERATIONS; i++) {
+ logger.debug(java.text.MessageFormat.format("Hello, {0}", vals));
+ }
+ long end = System.currentTimeMillis();
+ System.out.println("java.text.MessageFormat.format(String, Object[]): " + String.valueOf(end - start));
+ }
+
+
+ /**
+ * Test org.slf4j.impl.MessageFormatter.format(String, Object).
+ */
+ public void testSLF4JFormatter() {
+ Logger logger = initLogger();
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < ITERATIONS; i++) {
+ logger.debug(org.slf4j.impl.MessageFormatter.format("Hello, {}", "World"));
+ }
+ long end = System.currentTimeMillis();
+ System.out.println("org.slf4j.impl.Formatter.format(String, Object): " + String.valueOf(end - start));
+ }
+
+ /**
+ * Test org.slf4j.impl.MessageFormatter.format(String, Object[]).
+ */
+ public void testSLF4JFormatterArray() {
+ Logger logger = initLogger();
+ Object[] vals = new Object[] { "World" };
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < ITERATIONS; i++) {
+ logger.debug(org.slf4j.impl.MessageFormatter.format("Hello, {}", vals));
+ }
+ long end = System.currentTimeMillis();
+ System.out.println("org.slf4j.impl.Formatter.format(String, Object[]): " + String.valueOf(end - start));
+ }
+
+ /**
+ * Test org.slf4j.impl.MessageFormatter.format(String, Object[]).
+ */
+ public void testSLF4JFormatterArrayCreation() {
+ Logger logger = initLogger();
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < ITERATIONS; i++) {
+ logger.debug(org.slf4j.impl.MessageFormatter.format("Hello, {}",
+ new Object[] { "World" }));
+ }
+ long end = System.currentTimeMillis();
+ System.out.println("org.slf4j.impl.Formatter.format(String, new Object[]): " + String.valueOf(end - start));
+ }
+
+ /**
+ * Test LogSF.debug(Logger, String, Object).
+ */
+ public void testLogSF() {
+ Logger logger = initLogger();
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < ITERATIONS; i++) {
+ LogSF.debug(logger, "Hello, {}", "World");
+ }
+ long end = System.currentTimeMillis();
+ System.out.println("LogSF.debug(Logger, String, Object): " + String.valueOf(end - start));
+ }
+
+ /**
+ * Test LogSF.debug(Logger, String, Object).
+ */
+ public void testLogMF() {
+ Logger logger = initLogger();
+ long start = System.currentTimeMillis();
+ for (int i = 0; i < ITERATIONS; i++) {
+ LogMF.debug(logger, "Hello, {0}", "World");
+ }
+ long end = System.currentTimeMillis();
+ System.out.println("LogMF.debug(Logger, String, Object): " + String.valueOf(end - start));
+ }
+
+}
Propchange: logging/sandbox/log4j/formatter/src/test/java/org/apache/log4j/formatter/PerformanceTest.java
------------------------------------------------------------------------------
svn:executable = *
---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org