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]>

Reply via email to