У меня есть следующая программа, и я запускаю ее в режиме отладки VS 2010.К моему удивлению, пустой цикл for занимает больше времени, чем цикл for с оператором сложения.Время пустого цикла составляет 2371 мс, а для сложения цикла - 2043 мс.И я запускал его несколько раз, и каждый раз, когда цикл пуст, цикл выполняется быстрее.Что происходит?
#include <Windows.h>
#include <iostream>
using namespace std;
int main(){
DWORD start = GetTickCount();
for(int i = 0; i < 1000000000; i++){
}
DWORD finish = GetTickCount();
cout<<finish - start<<" ms."<<endl;
start = GetTickCount();
for(int i = 0; i < 1000000000; i++){
int x = i + 1;
}
finish = GetTickCount();
cout<<finish - start<<" ms."<<endl;
return 0;
}