2010年3月16日星期二

likely & unlikey

GCC的likely和unlikely功能就是让很可能被执行的分支代码紧跟着je或jne这样的条件跳转指令后面。为何非要跟在条件跳转指令屁股后?主要是更好利用CPU指令Cache。想想看:如果要执行的语句都在Cache里,省去从Memory抓数据的时间直接去执行,速度岂不是快了?所以likely和unlikely这种功能主要是为了提速,去掉不会影响功能。

http://kerneltrap.org/node/4705