__builtin_expect的作用
应用举例:
#define LIKELY(x) __builtin_expect(!!(x), 1) //x很可能为真 #define UNLIKELY(x) __builtin_expect(!!(x), 0) //x很可能为假
!!的作用是将x转变成布尔类型并取反
可以用来替代if()的条件语句,通过c编译生成的汇编来比较这两个宏所带来的效率的提高。
应用举例:
#define LIKELY(x) __builtin_expect(!!(x), 1) //x很可能为真 #define UNLIKELY(x) __builtin_expect(!!(x), 0) //x很可能为假
!!的作用是将x转变成布尔类型并取反
可以用来替代if()的条件语句,通过c编译生成的汇编来比较这两个宏所带来的效率的提高。