为什么MSVC编译器比Linux上的gcc和Mac上的Xcode C ++编译器慢得多

为什么MSVC编译器比Linux上的gcc和Mac上的Xcode C ++编译器慢得多,第1张

概述为什么MSVC编译器比Linux上的gcc和Mac上的Xcode C ++编译器慢得多

我无法弄清楚为什么以下代码片段的执行时间在windows(MSVC ++)虚拟机,linux(GCC)虚拟机和Mac(xCode)物理机器上显着不同。

#include <iostream> #include <ctime> #include <ratio> #include <chrono> using namespace std; using namespace std::chrono; int main() { const int TIMES = 100; const int STARS = 1000; steady_clock::time_point t1;// = steady_clock::Now(); steady_clock::time_point t2;// = steady_clock::Now(); int totalCountMicro = 0; int totalCountMilli = 0; for(int i = 0; i < TIMES; i++) { t1 = steady_clock::Now(); for (int j = 0; j< STARS; j++) cout << "*"; t2 = steady_clock::Now(); cout << endl; totalCountMilli += duration_cast<duration<int,milli>>(t2 - t1).count(); totalCountMicro += duration_cast<duration<int,micro>>(t2 - t1).count(); } cout << "printing out " << STARS << " stars " << TIMES << " times..." << endl; cout << "takes " << (totalCountMilli / TIMES) << " milliseconds on average." << endl; cout << "takes " << (totalCountMicro / TIMES) << " microseconds on average." << endl; getchar(); return 0; }

上面的代码试图打印1000个星星100次,并计算打印1000颗星的平均时间。

结果是:

windows虚拟机:

编译器:MSVC

33554微秒

编译器:GCC

40787微秒

linux虚拟机:

编译器:GCC

39微秒

OSX物理机器:

编译器:xcode C ++

173微秒

首先想到的是,这可能是虚拟机的问题,但是由于linux虚拟机做得很快,我相信这可能是其他原因,我不知道。

任何想法或意见将不胜感激!

总结

以上是内存溢出为你收集整理的为什么MSVC编译器比Linux上的gcc和Mac上的Xcode C ++编译器慢得多全部内容,希望文章能够帮你解决为什么MSVC编译器比Linux上的gcc和Mac上的Xcode C ++编译器慢得多所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1284203.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存