给定以下非常简单的for循环:
int main (void) {
    for (int i = 0 ; i < 1000000; i++) {
         std::cout<<i<<std::endl;
    }
}使用2012在干净的Windows 8专业版上运行此代码,每100 k打印大约需要15秒。
在mac x上,使用同一台计算机,xcode只需3秒就能输出1条生产线。
我几乎100%肯定它与性能无关,它只是一些与输出机制或其他相关的东西。
有人能确认一下吗..?只是想知道我的窗户和视觉工作室都很好。
发布于 2013-07-23 18:15:06
请注意,就我而言,这是更多的猜测,但仍然是:
我怀疑的是差别(顺便说一下)。Windows / OSX) ),在总体运行时,您的小测试程序与相应编译器生成的代码没有任何关系。
根据我在windows上输出控制台的经验,我强烈怀疑这里的“瓶颈”是将您的程序中的字符数据铲到Windows和显示它的cmd.exe。
可以简单地说,OSX上的控制台/shell/bash接受程序输出的速度比Windows控制台快得多。
您可以尝试的是将此程序的输出重定向到一个文件(在CLI test.exe > output.txt上启动时使用重定向),并查看是否以这种方式测量任何差异。
https://stackoverflow.com/questions/17817456
复制相似问题