From 302c063874f03c94eb0f96c974a2d0e2f137e51f Mon Sep 17 00:00:00 2001 From: Jon Siwek Date: Wed, 12 Mar 2014 15:59:05 -0500 Subject: [PATCH] Improve DBG_LOG macro (perf. improvement for --enable-debug mode). Many usages of this macro do some string formatting work inline in the arguments that end up being unnecessary because the debug stream is disabled. --- src/DebugLogger.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/DebugLogger.h b/src/DebugLogger.h index d1f053788e..8546839988 100644 --- a/src/DebugLogger.h +++ b/src/DebugLogger.h @@ -33,10 +33,12 @@ enum DebugStream { NUM_DBGS // Has to be last }; -#define DBG_LOG(args...) debug_logger.Log(args) -#define DBG_LOG_VERBOSE(args...) \ - if ( debug_logger.IsVerbose() ) \ - debug_logger.Log(args) +#define DBG_LOG(stream, args...) \ + if ( debug_logger.IsEnabled(stream) ) \ + debug_logger.Log(stream, args) +#define DBG_LOG_VERBOSE(stream, args...) \ + if ( debug_logger.IsVerbose() && debug_logger.IsEnabled(stream) ) \ + debug_logger.Log(stream, args) #define DBG_PUSH(stream) debug_logger.PushIndent(stream) #define DBG_POP(stream) debug_logger.PopIndent(stream)