您的位置:程序门 -> linux/unix社区 -> 内核及驱动程序研究区



linux内核中unlikely(!c)是什么意思?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


linux内核中unlikely(!c)是什么意思?
发表于:2007-04-29 08:35:28 楼主
如题。
发表于:2007-04-29 09:31:401楼 得分:0
这是gcc的扩展,目的是增加条件分支预测的准确性,cpu会提前装载后面的指令,遇到条件转移指令时会提前预测并装载某个分支的指令。unlikely表示你可以确认该条件是极少发生的,相反likely表示该条件多数情况下会发生。编译器会产生相应的代码来优化cpu执行效率。
发表于:2007-06-25 22:27:522楼 得分:0
二楼正解
发表于:2007-06-26 01:29:413楼 得分:0
学习!
发表于:2007-06-30 01:38:284楼 得分:0
unlikely(x)   x大多数为0
likely(x)       一般不为0
发表于:2007-06-30 19:19:065楼 得分:0
#define   likely(x)               __builtin_expect(!!(x),   1)
#define   unlikely(x)           __builtin_expect(!!(x),   0)

likely是一个宏,   __builtin_expect   才是gcc   扩展。


快速检索

最新资讯
热门点击