I have a better idea regarding the performance tests. We can use JUnit categories for perf tests and integration tests: https://github.com/junit-team/junit/wiki/Categories
Then we can have a maven profile for running those tests (along with enabling that profile on the build server). Good idea? On 17 May 2014 13:12, Gary Gregory <[email protected]> wrote: > This is getting silly. Why not reduce the loop to 3 then? I think the > large loop is there to test robustness. How about a compromise? Keep your > changes but allow a command line override to test all of log4j with more > data thrown at it? Different tests could use this factor... > > Gary > > > -------- Original message -------- > From: [email protected] > Date:05/17/2014 11:28 (GMT-05:00) > To: [email protected] > Subject: svn commit: r1595497 - > /logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractJdbcAppenderTest.java > > > Author: rpopma > Date: Sat May 17 15:28:29 2014 > New Revision: 1595497 > > URL: http://svn.apache.org/r1595497 > Log: > performance improvement: reduce time taken by performance test from 7.5 > seconds to 2.5 seconds (2 tests, gain=10 seconds) > > Modified: > > logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractJdbcAppenderTest.java > > Modified: > logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractJdbcAppenderTest.java > URL: > http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractJdbcAppenderTest.java?rev=1595497&r1=1595496&r2=1595497&view=diff > > ============================================================================== > --- > logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractJdbcAppenderTest.java > (original) > +++ > logging/log4j/log4j2/trunk/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/db/jdbc/AbstractJdbcAppenderTest.java > Sat May 17 15:28:29 2014 > @@ -226,20 +226,20 @@ public abstract class AbstractJdbcAppend > } > > @Test > - public void testPerformanceOfAppenderWith10000Events() throws > Exception { > + public void testPerformanceOfAppenderWith1000Events() throws > Exception { > this.setUp("fmLogEntry", "log4j2-" + this.databaseType + > "-factory-method.xml"); > > final RuntimeException exception = new RuntimeException("Hello, > world!"); > > final Logger logger = > LogManager.getLogger(this.getClass().getName() + > - ".testPerformanceOfAppenderWith10000Events"); > + ".testPerformanceOfAppenderWith1000Events"); > logger.info("This is a warm-up message."); > > System.out.println("Starting a performance test for JDBC Appender > for " + this.databaseType + '.'); > > long start = System.nanoTime(); > > - for(int i = 0; i < 10000; i++) { > + for(int i = 0; i < 1000; i++) { > if (i % 25 == 0) { > logger.warn("This is an exception message.", exception); > } else { > @@ -255,9 +255,9 @@ public abstract class AbstractJdbcAppend > final ResultSet resultSet = statement.executeQuery("SELECT * FROM > fmLogEntry ORDER BY id"); > > resultSet.last(); > - assertEquals("The number of records is not correct.", 10001, > resultSet.getRow()); > + assertEquals("The number of records is not correct.", 1001, > resultSet.getRow()); > > - System.out.println("Wrote 10,000 log events in " + elapsed + " > nanoseconds (" + elapsedMilli + > + System.out.println("Wrote 1,000 log events in " + elapsed + " > nanoseconds (" + elapsedMilli + > " milliseconds) for " + this.databaseType + '.'); > } > } > > > -- Matt Sicker <[email protected]>
