现在的位置: 首页 > 综合 > 正文

减少分支预测,让代码并行度更高

2012年10月29日 ⁄ 综合 ⁄ 共 725字 ⁄ 字号 评论关闭

 很久以前就听说过尽量把for里面的if拆开,近来编了一个程序,深有体会。

 

未优化代码:

此代码有几个条件,一个是位于0附近的特殊处理,另外是循环变量的奇偶判断。

耗时:1312.68457 ms

 

将if拆成更多的for,减少for循环的分支预测:

先拆奇偶,然后拆0附近的循环,这样下来的效果是

耗时:918.65375 ms

 

可见效果有多么明显。

 

 

抱歉!评论已关闭.