From a854416b5117750bc6c9fb893016ddf574b3119e Mon Sep 17 00:00:00 2001 From: Marko Kreen Date: Wed, 31 Oct 2007 14:04:47 +0000 Subject: [PATCH] use unlikely() in debug macros --- src/system.h | 10 +++++++++- src/util.h | 12 ++++++++---- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/system.h b/src/system.h index 4e082c3..5ca08dc 100644 --- a/src/system.h +++ b/src/system.h @@ -56,8 +56,16 @@ #include #endif +#ifdef __GNUC__ +#define unlikely(x) __builtin_expect(!!(x), 0) +#define likely(x) __builtin_expect(!!(x), 1) +#else +#define unlikely(x) x +#define likely(x) x +#endif + #ifdef CASSERT -#define Assert(e) do { if (!(e)) { \ +#define Assert(e) do { if (unlikely(!(e))) { \ fatal_noexit("Assert(%s) failed", #e); abort(); } } while (0) #else #define Assert(e) diff --git a/src/util.h b/src/util.h index dfb0186..b7af4ca 100644 --- a/src/util.h +++ b/src/util.h @@ -38,10 +38,12 @@ void log_level(const char *level, const char *s, ...); #define log_warning(args...) log_level("WARNING", ## args) #define log_info(args...) log_level("LOG", ## args) #define log_debug(args...) do { \ - if (cf_verbose > 0) log_level("DEBUG", ## args); \ + if (unlikely(cf_verbose > 0)) \ + log_level("DEBUG", ## args); \ } while (0) #define log_noise(args...) do { \ - if (cf_verbose > 1) log_level("NOISE", ## args); \ + if (unlikely(cf_verbose > 1)) \ + log_level("NOISE", ## args); \ } while (0) void close_logfile(void); @@ -54,10 +56,12 @@ void slog_level(const char *level, const PgSocket *sock, const char *fmt, ...); #define slog_warning(sk, args...) slog_level("WARNING", sk, ## args) #define slog_info(sk, args...) slog_level("LOG", sk, ## args) #define slog_debug(sk, args...) do { \ - if (cf_verbose > 0) slog_level("DEBUG", sk, ## args); \ + if (unlikely(cf_verbose > 0)) \ + slog_level("DEBUG", sk, ## args); \ } while (0) #define slog_noise(sk, args...) do { \ - if (cf_verbose > 1) slog_level("NOISE", sk, ## args); \ + if (unlikely(cf_verbose > 1)) \ + slog_level("NOISE", sk, ## args); \ } while (0) /* -- 2.39.5