I made the changes mentioned and still the performance
has increased by only 10-50% but still my custom
logger
results are ahead of log4j.

Also measured the cpu and memory and it seems my
custom logger is  consuming lesser values since
formatting and writing to file is done in the
background.

I did some more testing on writting to multiple
appenders and my custom logger is like 10-300% faster
than log4j. 


Are there any plans to re-write log4j (any next
generation version). It seems that log4j needs 
an architectural change rather than anything else.

Any ideas?




--- "Ebersole, Steven" <[EMAIL PROTECTED]>
wrote:
> SPECIFICALLY:
> 
> As Ceki mentioned you currently have logging
> statements being output to both
> files...  this will hurt performance in this test. 
> Simply setting
> additivity to false for the two loggers should work
> wonders for this simple
> test.  Try this for your config:
> 
>
############################################################################
> ###
> # Define root logger/category
>
############################################################################
> ###
> log4j.rootCategory=DEBUG,dest1
> 
>
############################################################################
> ###
> # Define non-root loggers/categories
>
############################################################################
> ###
> log4j.category.ut.log.Log4jPerfTest=DEBUG,dest2
> log4j.additivity.ut.log.Log4jPerfTest=false
> 
> 
>
############################################################################
> ###
> # Define appenders
>
############################################################################
> ###
>
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.appender.dest2=org.apache.log4j.RollingFileAppender
>
log4j.appender.dest2.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
> 
> 
> 
> GENERALLY:
> The way to mimic your setup in log4j would be to use
> AsyncAppender as your
> attached appender.  This will create a background
> thread to handle appending
> the actual logging events.
> 
> AsyncAppender can only be created from config files
> using the XML config.
> Or you can do it programatically for your tests.
> 
> See
>
http://jakarta.apache.org/log4j/docs/api/org/apache/log4j/AsyncAppender.html
> for its description.
> 
> Also, be aware that the async logging in log4j does
> still strive to maintain
> delivery of generated LoggingEvents to its attached
> appenders in the
> chronological order in which those events were
> created.  To this end, it
> uses a bounded buffer as the "queue" for these
> events.  This slows
> performance in simple, non-intensive apps; however
> it does ensure delivery
> of the logging events in the correct order.
> 
> For a discussion of this see the section on
> AsyncAppender at
>
http://jakarta.apache.org/log4j/docs/api/org/apache/log4j/performance/Loggin
> g.html
> 
> 
> HTH
> 
> 
> 
>     |-----Original Message-----
>     |From: sk k [mailto:[EMAIL PROTECTED]]
>     |Sent: Tuesday, September 03, 2002 9:37 PM
>     |To: Log4J Users List
>     |Subject: Re: Performance between Log4j and
> custom in-house logger
>     |
>     |
>     |
>     |Hi,
>     |
>     |Any thoughts on how I can improve the
> performance
>     |numbers for logging.
>     |
>     |
>     |Thanks.
>     |
>     |
>     |--- Ceki Gülcü <[EMAIL PROTECTED]> wrote:
>     |> 
>     |> What is the difference between Strings,
> taking the
>     |> values 2,4 and 8,
>     |> and Request, taking the values 100, 1000 and
> 2000?
>     |> 
>     |> Are you sure you are waiting for the
> background
>     |> thread to finish?
>     |> 
>     |> Your log4j configuration file suggests that
> your
>     |> tests use two
>     |> appenders dest1 and dest2. You are aware that
>     |> appenders are additive,
>     |> right?  Does logging output go both
>     |> c:/skk/cps/logger/test/test1.log
>     |> and c:/skk/cps/logger/test/test.log? Given
> that
>     |> writing to a file is
>     |> the most time consuming task, is it fait to
> say that
>     |> log4j is doing
>     |> twice the work roughly at the same cost?
>     |> 
>     |> At 07:29 03.09.2002 -0700, you wrote:
>     |> >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
>     |>
> 
=== 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