Visual Studio 2005を使用しています。リリースされたら、VisualStudio2012へのアップグレードを検討しています。この小さなプログラムをVisualStudio2012 RCで試してみたところ、Visual Studio 2005よりも2倍以上遅く実行されていることに驚きました。VS2012では、デフォルトのリリースビルド設定を使用しました。私の場合、VS2005では約20ミリ秒、VS2012では約50ミリ秒かかります。なぜそんなに遅いのですか?
#include <windows.h>
#include <deque>
using namespace std;
deque<int> d;
int main(int argc, char* argv[])
{
const int COUNT = 5000000;
timeBeginPeriod(1);
for (int i = 0; i < COUNT; ++i)
{
d.push_back(i);
}
double sum = 0;
DWORD start = timeGetTime();
for (int i = 0; i < COUNT; ++i)
{
sum += d[i];
}
printf("time=%dms\n", timeGetTime() - start);
printf("sum=%f\n", sum);
return 0;
}