
[英]Why same code is twice slower when migrated from VS2010 to VS2015?
[英]Why is the same C++ code in vs2015/2019 slower than vs2013 [closed]
這是我的代碼。 復制或移動操作循環執行。
在vs2013中,我的電腦中的一次是3000+ms 。 vs2015是5000+ms , vs2019是4000+ms 。我試了很多次。
#include <iostream>
#include <chrono>
#include <sstream>
int main()
{
for (int count = 0; count < 10; count++)
{
{
char ch[50];
auto pretime = std::chrono::steady_clock::now();
for (int i = 0; i < 500000; i++)
{
std::stringstream ss;
ss << 123 << "654";
auto&& str = std::move(ss.str());
sprintf_s(ch, "%s", str.c_str());
}
auto curtime = std::chrono::steady_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(curtime - pretime);
std::cout << "move time= " << duration.count() << "ms" << std::endl;
}
{
char ch[50];
auto pretime = std::chrono::steady_clock::now();
for (int i = 0; i < 500000; i++)
{
std::stringstream ss;
ss << 123 << "654";
auto str = ss.str();
sprintf_s(ch, "%s", str.c_str());
}
auto curtime = std::chrono::steady_clock::now();
auto duration = std::chrono::duration_cast<std::chrono::milliseconds>(curtime - pretime);
std::cout << "copy time= " << duration.count() << "ms" << std::endl;
}
}
}
誰能告訴我原因? 謝謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.