這兩個東西在linux kernel裡面常常出現
用在做最佳化程式碼的工作,避免long jump的overhead
#define likely(x) __builtin_expect((x),1) ,expect x ==1
#define unlikely(x) __builtin_expect((x),0) ,expecy x ==0
__builtin_expect((x),1) 是gcc的buildin function
用法:
if ( likely( int ) ){
比較可能
}else{
比較不可能
}
if( unlikely( int ) ){
比較不可能
}else{
比較可能
}
2007年11月22日 星期四
likely, unlikely
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言