Code Coverage by Clover.NET

Performance Enhancements

View: New views
2 Messages — Rating Filter:   Alert me  

Performance Enhancements

by Jake Milnes :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
Hello,

For a new project of ours, we looked at several different logging frameworks and decided on using NLog.  Thanks for making NLog great!

We made a couple of minor performance enhancements to speed up our particular usage of NLog.  I would like to find out  if others are interested in these performance enhancements or if anyone sees any problems with these:

1.  Added Write(LogEvent[]) override to the MSMQ class.  This removes the overhead of checking for the queue's existence, connecting and disconnecting for every insert if you are batching the inserts (e.g. through a buffered wrapper or async wrapper).
2.  Updated the Async wrapper class so that it doesn't go back to sleep after processing a callback if there are still enough items on the queue for a full batch.

We did some decent performance testing benchmarks before and after, and saw significant gains in the applicable test cases (by roughly a factor of 5).  I can provide more detail on the performance test if someone is truly interested (the test results currently are not written up for release).

Thanks,

Jake Milnes

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Nlog-list mailing list
Nlog-list@...
https://lists.sourceforge.net/lists/listinfo/nlog-list

Re: Performance Enhancements

by Jaroslaw_Kowalski :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


> Hello,
>
> For a new project of ours, we looked at several different logging
> frameworks and decided on using NLog.  Thanks for making NLog great!
>
> We made a couple of minor performance enhancements to speed up our
> particular usage of NLog.  I would like to find out  if others are
> interested in these performance enhancements or if anyone sees any
> problems with these:
>
> 1.  Added Write(LogEvent[]) override to the MSMQ class.  This removes the
> overhead of checking for the queue's existence, connecting and
> disconnecting for every insert if you are batching the inserts (e.g.
> through a buffered wrapper or async wrapper).
> 2.  Updated the Async wrapper class so that it doesn't go back to sleep
> after processing a callback if there are still enough items on the queue
> for a full batch.
>
> We did some decent performance testing benchmarks before and after, and
> saw significant gains in the applicable test cases (by roughly a factor of
> 5).  I can provide more detail on the performance test if someone is truly
> interested (the test results currently are not written up for release).

That sounds like a nice addition to NLog. Can you send a patch so that
people on the list can review it? I'll be happy to include it in the
source.

Jarek


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Nlog-list mailing list
Nlog-list@...
https://lists.sourceforge.net/lists/listinfo/nlog-list