You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Nick Chadwick (JIRA)" <ji...@apache.org> on 2016/06/01 10:46:59 UTC

[jira] [Created] (LOG4J2-1403) Unboxer in new gc-free implementation

Nick Chadwick created LOG4J2-1403:
-------------------------------------

             Summary: Unboxer in new gc-free implementation
                 Key: LOG4J2-1403
                 URL: https://issues.apache.org/jira/browse/LOG4J2-1403
             Project: Log4j 2
          Issue Type: Question
          Components: API
    Affects Versions: 2.6
            Reporter: Nick Chadwick
            Priority: Minor


Firstly, thanks for the GC-free work you've done in 2.6 - it's great news, and I've already adopted it in the project I'm currently involved with.

However, I just wanted to point out a possible wrinkle, for discussion as much as anything. As a matter of habit, I try to surround any low-level (e.g. debug, trace) log statement that does any processing in its parameters (i.e. calls methods, etc) with a check to .isXXXEnabled(). This means that the enabled check will run twice - once when I call it explicitly, and once under the hood when the log statement runs. 

With the new GC-free stuff, wrapping primitives using Unbox.box() meets this criteria - I don't really want a log statement for a disabled level using up processing power appending to StringBuilders for all the primitive arguments to the log statement, when I'm not going to use the results. Therefore, everywhere I have these low-level log statements that are using Unbox.box(), I have to wrap them in enabled checks. 

Concerned that this may have an impact on performance, I am instead caching the result of .isXXXEnabled() in a static variable on the class.

I'm just wondering whether this has been considered, and if this is the right approach?

Thanks



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org