Skip to content

Commit 11866b6

Browse files
committed
perf: ⚡ 优化宏定义,建议使用O1及以上优先级
1 parent 1822e9e commit 11866b6

File tree

1 file changed

+21
-84
lines changed

1 file changed

+21
-84
lines changed

core/fc_log.h

Lines changed: 21 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,7 @@ extern fc_pool_t fc_log_pool; // log组件使用的内存池声明,在fc_log.c
317317
#define fc_log_merge_0() \
318318
fc_log_merge_1({ (void)0; })
319319

320+
// 根据参数展开为0/1/2个参数的版本,超过2将报错,可以用复合语句{exp1;exp2...expN}算一个参数
320321
#define fc_log_merge(...) \
321322
FC_CONNECT2(fc_log_merge_, __PLOOC_VA_NUM_ARGS(__VA_ARGS__))(__VA_ARGS__)
322323

@@ -325,98 +326,34 @@ extern fc_pool_t fc_log_pool; // log组件使用的内存池声明,在fc_log.c
325326
{ \
326327
if (_level <= FC_LOG_FILE_LEVEL) \
327328
fc_log_fprintf((fc_log_t *)(scope_log_ptr ? scope_log_ptr : &FC_LOG_OBJ), _level, text "" fmt "" FC_LOG_END, FC_LOG_PREFIX_CONTENT, ##__VA_ARGS__); \
329+
if (scope_log_ptr) \
330+
{ \
331+
fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
332+
SAFE_NAME(log_temp_ptr)->last_level = _level; /* 临时对象实体记录临时等级 */ \
333+
} \
328334
} while (0)
329335

330-
//+********************************* 期望使用 **********************************/
331-
#if FC_LOG_FILE_LEVEL >= FC_LOG_LEVEL_ERROR
332-
#define fc_log_error(fmt, ...) \
333-
fc_log_format(FC_ERROR_TEXT, FC_LOG_LEVEL_ERROR, fmt, ##__VA_ARGS__)
334-
#else
335-
#define fc_log_error(fmt, ...) \
336-
do \
337-
{ \
338-
if (scope_log_ptr) \
339-
{ \
340-
fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
341-
SAFE_NAME(log_temp_ptr)->last_level = FC_LOG_LEVEL_ERROR; /* 临时对象实体记录临时等级 */ \
342-
} \
343-
} while (0);
344-
#endif
336+
//+********************************* 期望使用 **********************************/
337+
#define fc_log_error(fmt, ...) \
338+
fc_log_format(FC_ERROR_TEXT, FC_LOG_LEVEL_ERROR, fmt, ##__VA_ARGS__)
345339

346-
#if FC_LOG_FILE_LEVEL >= FC_LOG_LEVEL_WARNING
347-
#define fc_log_warning(fmt, ...) \
348-
fc_log_format(FC_WARNING_TEXT, FC_LOG_LEVEL_WARNING, fmt, ##__VA_ARGS__)
349-
#else
350-
#define fc_log_warning(fmt, ...) \
351-
do \
352-
{ \
353-
if (scope_log_ptr) \
354-
{ \
355-
fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
356-
SAFE_NAME(log_temp_ptr)->last_level = FC_LOG_LEVEL_WARNING; /* 临时对象实体记录临时等级 */ \
357-
} \
358-
} while (0);
359-
#endif
340+
#define fc_log_warning(fmt, ...) \
341+
fc_log_format(FC_WARNING_TEXT, FC_LOG_LEVEL_WARNING, fmt, ##__VA_ARGS__)
360342

361-
#if FC_LOG_FILE_LEVEL >= FC_LOG_LEVEL_INFO
362-
#define fc_log_info(fmt, ...) \
363-
fc_log_format(FC_INFO_TEXT, FC_LOG_LEVEL_INFO, fmt, ##__VA_ARGS__)
364-
#else
365-
#define fc_log_info(fmt, ...) \
366-
do \
367-
{ \
368-
if (scope_log_ptr) \
369-
{ \
370-
fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
371-
SAFE_NAME(log_temp_ptr)->last_level = FC_LOG_LEVEL_INFO; /* 临时对象实体记录临时等级 */ \
372-
} \
373-
} while (0);
374-
#endif
343+
#define fc_log_info(fmt, ...) \
344+
fc_log_format(FC_INFO_TEXT, FC_LOG_LEVEL_INFO, fmt, ##__VA_ARGS__)
375345

376-
#if FC_LOG_FILE_LEVEL >= FC_LOG_LEVEL_DEBUG
377-
#define fc_log_debug(fmt, ...) \
378-
fc_log_format(FC_DEBUG_TEXT, FC_LOG_LEVEL_DEBUG, fmt, ##__VA_ARGS__)
379-
#else
380-
#define fc_log_debug(fmt, ...) \
381-
do \
382-
{ \
383-
if (scope_log_ptr) \
384-
{ \
385-
fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
386-
SAFE_NAME(log_temp_ptr)->last_level = FC_LOG_LEVEL_DEBUG; /* 临时对象实体记录临时等级 */ \
387-
} \
388-
} while (0);
389-
#endif
346+
#define fc_log_debug(fmt, ...) \
347+
fc_log_format(FC_DEBUG_TEXT, FC_LOG_LEVEL_DEBUG, fmt, ##__VA_ARGS__)
390348

391-
#if FC_LOG_FILE_LEVEL >= FC_LOG_LEVEL_VERBOSE
392-
#define fc_log_verbose(fmt, ...) \
393-
fc_log_format(FC_VERBOSE_TEXT, FC_LOG_LEVEL_VERBOSE, fmt, ##__VA_ARGS__)
394-
#else
395-
#define fc_log_verbose(fmt, ...) \
396-
do \
397-
{ \
398-
if (scope_log_ptr) \
399-
{ \
400-
fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)scope_log_ptr; \
401-
SAFE_NAME(log_temp_ptr)->last_level = FC_LOG_LEVEL_VERBOSE; /* 临时对象实体记录临时等级 */ \
402-
} \
403-
} while (0);
404-
#endif
349+
#define fc_log_verbose(fmt, ...) \
350+
fc_log_format(FC_VERBOSE_TEXT, FC_LOG_LEVEL_VERBOSE, fmt, ##__VA_ARGS__)
405351

406-
#define fc_log_printf(fmt, ...) \
407-
do \
408-
{ \
409-
fc_log_t *SAFE_NAME(log_temp_ptr) = (fc_log_t *)(scope_log_ptr ? scope_log_ptr : &FC_LOG_OBJ); \
410-
if (SAFE_NAME(log_temp_ptr)->last_level <= FC_LOG_FILE_LEVEL) \
411-
fc_log_format("", SAFE_NAME(log_temp_ptr)->last_level, fmt, ##__VA_ARGS__); \
412-
} while (0)
352+
#define fc_log_printf(fmt, ...) \
353+
fc_log_format("", (scope_log_ptr ? scope_log_ptr->last_level : FC_LOG_LEVEL_NONE), fmt, ##__VA_ARGS__);
413354

414-
#define fc_log_printf_lv(_level, fmt, ...) \
415-
do \
416-
{ \
417-
if (_level <= FC_LOG_FILE_LEVEL) \
418-
fc_log_format("", _level, fmt, ##__VA_ARGS__); \
419-
} while (0)
355+
#define fc_log_printf_lv(_level, fmt, ...) \
356+
fc_log_format("", _level, fmt, ##__VA_ARGS__);
420357

421358
#define fc_log_assert(expr, ...) \
422359
if (!(expr)) \

0 commit comments

Comments
 (0)