什么是更快和/或通常更好?矢量[] 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