4 ms·
If it was absolutely necessary you could even have the JIT remove the code and then de-optimize when you enable tracing[1]. That would solve the tight-loop issu
by benschulz 7y ago
If it was absolutely necessary you could even have the JIT remove the code and then de-optimize when you enable tracing[1]. That would solve the tight-loop issue..
[1]: https://community.oracle.com/blogs/forax/2011/12/17/jsr-292-goodness-almost-static-final-field https://community.oracle.com/blogs/forax/2011/12/17/jsr-292-...
- pkolaczk 7y agoCorrect, in simple cases it can do it, but you need to be very careful with computing the arguments for the logging call. Java has no lazy evaluation of args nor macros, so if you accidentally concat strings there or do something expensive, it is likely JVM won't optimize these out. That's why typically you want to guard your logging calls on the hot path with an if condition.