首页 > 其他 > 详细

unlikely 与 likely的作用

时间:2014-02-18 16:07:59      阅读:427      评论:0      收藏:0      [点我收藏+]

unlikely与likely在linux kernel中经常出现。

使用过程需注意:

1. unlikely(x), likely(x)中x只能为逻辑表达式(即0或1)
2. 两者的作用都是gcc提供的,用于代码优化

3.likely用于优化x在大多数为真的情况,unlkely用于优化x在大多数为 假的情况  (likely希望表达式x成立, unlikely希望表达式x不成立)


if(unlikely(a > b) {
    foo();
}
在大多数情况中,a>b不成立,即 此时希望对 表达式a>b不成立 做优化,当希望为真(a>b不成立)时,此时unlikely(x)为 真。
所以,当 a>b 不成立时,unlikely(a>b)为真,执行 foo()


同理 if( likely(a>b) )

在大多数情况中 a>b成立时 应用。此时若a>b确实成立,则 执行if语句的内容。


详细可参考此处

unlikely 与 likely的作用

原文:http://blog.csdn.net/youxin2012/article/details/19402363

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!