什麼是更快和/或通常更好?矢量[] vs複製
vector<myType> myVec;
int i;
myType current;
for(i = 0; i < 1000000; i ++)
{
current = myVec[ i ];
doSomethingWith(current);
doAlotMoreWith(current);
messAroundWith(current);
checkSomeValuesOf(current);
}
或
vector<myType> myVec;
int i;
for(i = 0; i < 1000000; i ++)
{
doSomethingWith(myVec[ i ]);
doAlotMoreWith(myVec[ i ]);
messAroundWith(myVec[ i ]);
checkSomeValuesOf(myVec[ i ]);
}
目前我使用的第一個解決方案。每秒鐘真的有數百萬次的調用,每一次比較/移動都會帶來性能問題。
爲什麼你在這裏問人們哪裏的速度更快,而不是在十分鐘內寫一個測試工具,以便給你一個明確的答案? – 2010-04-11 09:46:40
當人們問布爾問題「哪一個更快」,而不是「多快多少」(就複雜度,CPU週期或時間而言)時,我總是感到驚訝 – 2010-04-11 10:09:07
@Pavel:或者「在什麼情況下更快」 – jalf 2010-04-11 10:18:21