[ 
https://issues.apache.org/jira/browse/LOG4NET-151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13101276#comment-13101276
 ] 

Stefan Bodewig commented on LOG4NET-151:
----------------------------------------

I'll need to re-read the memory model docs, but I think even with volatile the 
JIT would be allowed to swap the lines as it sees fit.

> Cache DateTime.Now values when creating LoggingEvent when 
> Environment.TickCount has not changed
> -----------------------------------------------------------------------------------------------
>
>                 Key: LOG4NET-151
>                 URL: https://issues.apache.org/jira/browse/LOG4NET-151
>             Project: Log4net
>          Issue Type: Improvement
>    Affects Versions: 1.2.10
>            Reporter: Ron Grabowski
>            Assignee: Ron Grabowski
>            Priority: Minor
>             Fix For: 1.2.11
>
>
> When creating a lot of logging events in tight loop, DateTime.Now is called 
> for each new LoggingEvent even if several LoggingEvents are created within 
> the same millisecond. We can reuse the same DateTime object because DateTime 
> objects only track time down to the millisecond:
> // inspired by nlog
> int ticks = Environment.TickCount;
> if (ticks != cachedTicks)
> {
>  cachedTicks = ticks;
>  cachedDateTime = DateTime.Now;
> }
> return cachedDateTime;

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to