gpt4 book ai didi

c++ - visual studio 2012 中的小程序比 visual studio 2005 慢得多

转载 作者:搜寻专家 更新时间:2023-10-31 01:53:28 24 4
gpt4 key购买 nike

我们正在使用 Visual Studio 2005。我们正在考虑在 Visual Studio 2012 发布后升级到它。我在 Visual Studio 2012 RC 中尝试了这个小程序,惊讶地发现它的运行速度比在 Visual Studio 2005 中慢了 2 倍以上。在 VS2012 中,我使用了默认的发布build设置。对我来说,在 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;
}

最佳答案

所以我们将这个问题转贴到微软论坛。 http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/72234b06-7622-445e-b359-88f572b4de52

简短的回答是,与 VS2005 相比,VS2012RC 中 std::deque::operator[] 的实现速度较慢。其他常见的 STL 容器测试为相同或更快。当 VS2012 投入生产时重新测试以查看 operator[] 性能是否得到解决将会很有趣。

附上
嗨拉斐尔
卡尔

关于c++ - visual studio 2012 中的小程序比 visual studio 2005 慢得多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11144989/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com