作者: 高老师很忙arrow-up-right
__builtin_expect 是 GCC 引入的,对if语句的预言,用这个指令告诉编译器最有可能执行的代码,从而编译器进行优化,通俗来讲就是告诉编译器执行 if 和 else 哪个是大概率事件。话不多说直接说用法:__builtin_expect(EXP, N),很简单,EXP == N 是大概率事件。
__builtin_expect
GCC
if
else
__builtin_expect(EXP, N)
EXP == N
我先用正常的写法写了一个简单的的 Demo
代码执行时间是 0.017361 秒;加上这个指令
0.017361
代码执行时间是 0.007645 秒,还是挺明显的。小伙伴们也来试试哇!
0.007645
Last updated 7 years ago
Was this helpful?