On the 0x17A day of Apache Harmony Alex Blewitt wrote: > Moral 1: saying 'It's OK, debug logging can be turned off and > log.debug(msg) is inexpensive' is a lie. If you really feel the need > for sprinkling debug statements everywhere (and I'm with others in > using a good IDE to track down problems) then surround every debug > with if (log.debugEnabled()) { log.debug(msg) }. Yes, it has the same > effect, but at least you don't bother wasting the calcuation of the > message itself, and in this case, even a dozy JIT can optimise it > away.
+1 for log.debugEnabled() :) to optimize away log.debug(obj) JIT should perform devirtualization for toString(), with escape analysis. That may turn out to be too expensive. So, a reasonable JIT may optimize it some day, but not always :) BTW, highly optimizing JIT from the DRLVM contribution (=Jitrino.OPT) does *not* perform escape analysis yet. That resides in TODO list :) In fact, all-pure-java annotations may help to completely solve the issue. There may be hints for JIT that it is safe to optimize some code in a certain way. In release mode some pieces of code can be annotated for deletion. Is it a good practice to support annotations of that kind in Harmony JITs? Or is it a dirty hack? :) -- Egor Pasko, Intel Managed Runtime Division --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]