[logback-dev] svn commit: r819 - logback/trunk/logback-classic/performance/src/java/ch/qos/logback/classic
noreply.ceki at qos.ch
noreply.ceki at qos.ch
Mon Oct 30 21:29:42 CET 2006
Author: ceki
Date: Mon Oct 30 21:29:41 2006
New Revision: 819
Added:
logback/trunk/logback-classic/performance/src/java/ch/qos/logback/classic/LoggerEventCreationTest.java
Log:
ongoing work
Added: logback/trunk/logback-classic/performance/src/java/ch/qos/logback/classic/LoggerEventCreationTest.java
==============================================================================
--- (empty file)
+++ logback/trunk/logback-classic/performance/src/java/ch/qos/logback/classic/LoggerEventCreationTest.java Mon Oct 30 21:29:41 2006
@@ -0,0 +1,65 @@
+package ch.qos.logback.classic;
+
+import org.slf4j.LoggerFactory;
+
+import ch.qos.logback.classic.Level;
+import ch.qos.logback.classic.Logger;
+import ch.qos.logback.classic.spi.LoggingEvent;
+import junit.framework.TestCase;
+
+
+// it takes about 250 nanos to create a LoggingEvent
+public class LoggerEventCreationTest extends TestCase {
+
+ public LoggerEventCreationTest(String arg0) {
+ super(arg0);
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
+
+ public void testEventLoop() {
+ long len = 10000000;
+ System.out.println((eventLoop(len))/len);
+ }
+
+ public void testFfilterMethod() {
+ long len = 10000000;
+ System.out.println((methodCalLoop(len))/len);
+ }
+
+ long eventLoop(long len) {
+ Logger logger = (Logger) LoggerFactory.getLogger(this.getClass());
+ LoggingEvent le = null;
+ long start = System.nanoTime();
+ for(long i = 0; i < len; i++) {
+ le = new LoggingEvent("", logger, Level.DEBUG, "asdasdasd", null, null);
+ }
+ le.getLevel();
+ long end = System.nanoTime();
+ return end-start;
+ }
+
+ long methodCalLoop(long len) {
+ Logger logger = (Logger) LoggerFactory.getLogger(this.getClass());
+ long start = System.nanoTime();
+ for(long i = 0; i < len; i++) {
+ filterMethod(logger, Level.DEBUG, "asdasdasd", null, null);
+ }
+ long end = System.nanoTime();
+ return end-start;
+ }
+
+ int filterMethod(Logger logger, Level level, String msg, Object[] params, Exception e) {
+ if(level.levelInt < 100) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
+}
More information about the logback-dev
mailing list