在this answer某人寫入爲什麼流水作業對於(a + b)+(c + d)比對a + b + c + d更好?
[..]大多數編譯器不會優化+ B + C + d以(A + B)+(C + d)(這是因爲第二個表達式的優化可以更好地進行流水線式)
原來的問題是如何某些涉及float
值表達式可以或不可以被重新排序由於浮點運算的不精確性。
我更感興趣的是上面的一部分,儘管:爲什麼 - 比方說,有unsigned int
值 - 這將是更容易生成代碼,如果a+b+c+d
改寫爲(a+b)+(c+d)
它利用CPU的管道?
+1爲解釋和維基百科鏈接! –