[ 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