我已經工作了一段代碼最近在性能是非常重要的,而且基本上我有以下的情況(FOO> = 0與富!= 0):性能用C++比較
int len = some_very_big_number;
int counter = some_rather_small_number;
for(int i = len; i >= 0; --i){
while(counter > 0 && costly other stuff here){
/* do stuff */
--counter;
}
/* do more stuff */
}
所以在這裏我有一個循環,運行非常頻繁,對於一定數量的運行,while代碼塊將被執行,直到變量counter
減少到零,然後將不會調用while循環,因爲第一個表達式將會假。
現在的問題是,如果使用
counter > 0
和counter != 0
之間的性能有差異嗎?
我懷疑會有,有沒有人知道關於這方面的具體情況。
我覺得第二個while循環應該是for循環。這一改變對性能沒有影響。 – Brian 2009-09-01 21:28:07
即使有區別,它可能是......說1個時鐘週期?這是否真的會改變你的結果... – DeusAduro 2009-09-01 23:15:10
技術上來說是的。 :) – GManNickG 2009-09-01 23:19:26