Hi all, There is a lot of "if statement" in system, and GCC provides a feature,"__builtin_expect", which let compilers know which branch is mostly run. as we known, miss-prediction will lead the performance lost(because the CPU will thrown away some instructions, and re-fetch some new instructions). so that we can tell GCC how produce more efficient code. for example as following. It will gain performance promotion i think. As i know, the in Linux kernel, this feature is also applied already.
#define likely(cond) __builtin_expect(cond,true) #define unlikely(cond) __builtin_expect(cond,false) if (likely(cond)) { //most likely run. xxxx } else //otherwise. { xxxx } Best Regards. Hom.