给定代码:
for (int i = 0; i < n; ++i)
{
A(i) ;
B(i) ;
C(i) ;
}
优化版本如下:
for (int i = 0; i < (n - 2); i+=3)
{
A(i)
A(i+1)
A(i+2)
B(i)
B(i+1)
B(i+2)
C(i)
C(i+1)
C(i+2)
}
有一件事情我不是很清楚:哪个更好?我没有看到使用另一个版本能使任何东西更快。这里我错过了什么吗?
我看到的是每个指令都依赖于先前的指令,这意味着我需要等待先前的指令完成才能开始下一个...
谢谢