Yes, you are right. My measurements doesn't account for the background thread processing time since it use the pattern observer/observable(more like publish and subscribe but in-process).
I thought that Log4j would also be doing the same but once I started digging through the source code(to get better perf #'s ), it didn't seem to do the same. Let me know, if I can make some settings change and get a better perf numbers. --- "Cakalic, James" <[EMAIL PROTECTED]> wrote: > Perhaps one telling comment is "My logger does > formatting&writing to log > file in a background thread". My question is, do > your measurements > account for all background processing having been > completed? If not, > this may explain why log4j performance appears to > degrade in comparison > with "mylogger" as logging load increases -- > assuming that I am reading > your results correctly. > > Jim > > -----Original Message----- > From: Shapira, Yoav [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, September 03, 2002 9:40 AM > To: Log4J Users List > Subject: RE: Performance between Log4j and custom > in-house logger > > > Hi, > There are always going to be difference between any > two systems designed > to do the same thing. Your system was obviously > designed for your > needs, and probably not much more. Log4j is > designed to be generic, > useful to a very broad range of people / > applications, easily > extensible, and yet fast. > > At my organization, we carefully compared five or > six in-house custom > logging systems and a couple of 3rd party ones. We > included very > detailed performance comparisons and profilings. We > found log4j to be > as fast or faster than nearly all the other > implementation, while > providing the best range of features. As we need a > lot of its features > (JDBC logging, SMTP logging, runtime > configurability, JMS logging, daily > rolling, appender thresholds, object renderers, > etc), we picked log4j, > and have been very very happy since. > > So it's a question of what you need from your > logging system. If your > system did everything you need, you probably > wouldn't even be > considering log4j, right? ;) Maybe it';; easier to > add just the > features you need to your own system, instead of > migrating to log4j > completely? > > The point is, if you want to help tune log4j you're > welcome to. It's > open source and contributors are always welcome, > right Ceki? ;) > However, having used log4j in numerous apps from > very small to very > large, we've never had any complaints about its > performance. There was > always a lot of tuning to be done on our own apps > before logging > performance showed up as a blip on the profiler > screen... > > Yoav Shapira > Millennium ChemInformatics > > > >-----Original Message----- > >From: sk k [mailto:[EMAIL PROTECTED]] > >Sent: Tuesday, September 03, 2002 10:30 AM > >To: [EMAIL PROTECTED] > >Subject: Performance between Log4j and custom > in-house logger > > > >Hi, > > > >We are planning to move from a custom in house > logging > >framework (MyLogger) to using Log4j and have been > >doing some performance comparison between log4j and > >MyLogger. > > > >The numbers seem to be favoring mylogger over > log4j. > > > > > >Sample Numbers > >============== > >Note: Timing includes logj startup time, mylogger > >startup time and junitperf startup time. > > > >1) Logging 2 strings, each of size: 128bytes > > > >Request MyLogger(sec) Log4j(sec) > >====== ======= ========= > >100 1.22 1.29 > >1000 1.67 1.71 > >2000 2.12 2.01 > > > > > > > >2) Logging 4 strings, each of size: 128bytes > > > >Request MyLogger(sec) Log4j(sec) > >====== ======= ========= > >100 1.21 1.25 > >1000 1.653 1.82 > >2000 2.24 2.56 > > > > > >3) Logging 8 strings, each of size: 128bytes > > > >Request MyLogger(sec) Log4j(sec) > >====== ======= ========= > >100 1.35 1.35 > >400 1.56 1.71 > >900 1.8 2.35 > > > >4) Logging 80 strings, each of size: 128bytes > > > >Request MyLogger(sec) Log4j(sec) > >====== ======= ========= > >100 1.251 1.7 > >1000 1.81 6.1 > >2000 2.15 11.2 > > > > > >Sample code and configuration > >=========================== > >log4j.properties > >============== > >log4j.rootCategory=DEBUG,dest1 > > > >log4j.appender.dest1=org.apache.log4j.RollingFileAppender > >log4j.appender.dest1.layout=org.apache.log4j.SimpleLayout > >log4j.appender.dest1.File=c:/skk/cps/logger/test/test1.log > >log4j.appender.dest1.MaxFileSize=4MB > >log4j.appender.dest1.MaxBackupIndex=60 > > > > > >log4j.category.ut.log.Log4jPerfTest=DEBUG,dest2 > >log4j.additivity.Log4jPerfTest=false > >log4j.appender.dest2=org.apache.log4j.RollingFileAppender > >log4j.appender.dest1.layout=org.apache.log4j.TTCCLayout > > > >log4j.appender.dest2.File=c:/skk/cps/logger/test/test.log > >log4j.appender.dest2.MaxFileSize=4MB > >log4j.appender.dest2.MaxBackupIndex=60 > > > >Test Logger code > >=============== > > > >Note: logMsgs is an array with strings of size 128 > >bytes. > > > > public void test_Log4j() throws Exception { > > > > int size = logMsgs.size(); > > > > for( int i=0; i<size; i++ ) { > > log4jLogger.info( > (String)logMsgs.get(i) > >); > > } > > > > } > > > >Some of my questions > > > >1) Is there anything that I can do to increase the > >performance of log4j on my box( Pentium-3, 800Mhz, > >512MB RAM) > > > >2) I see some architectural difference between the > way > >mylogger and log4j is implemented namely > > My logger does formatting&writing to log file in a > >background thread whereas it seems that log4j > doesn't > > seem do the same. Is this true. > > My logger uses the concept of observer and > >observable. > > > > > >Thanks. > > > >__________________________________________________ > >Do You Yahoo!? > >Yahoo! Finance - Get real-time stock quotes > >http://finance.yahoo.com > > > >-- > === message truncated === __________________________________________________ Do You Yahoo!? Yahoo! Finance - Get real-time stock quotes http://finance.yahoo.com -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>