【发布时间】:2013-07-22 22:50:33
【问题描述】:
给定以下非常简单的 for 循环:
int main (void) {
for (int i = 0 ; i < 1000000; i++) {
std::cout<<i<<std::endl;
}
}
使用 Microsoft Visual Studio 2012 在干净的 Windows 8 专业版上运行此代码每 100k 次打印大约需要 15 秒。
在 mac os x 上,使用同一台电脑,xcode 只需要 3 秒就可以输出 1 行。
我几乎 100% 确定它与性能无关,只是与输出机制或其他东西有关。
有人可以证实这一点..吗?只是想知道我的 windows 和视觉工作室都很好。
【问题讨论】:
-
视觉输出通常很慢,因为无论如何没有人能读得这么快。尝试重定向到文件,看看它是否也很慢。
-
是的,我也一样(在 windows/VS 上)。但它与 VS 或 XCode 无关。您不是在 VS 或 XCode 中运行程序,是吗?这是 Windows 上控制台显示 (cmd.exe) 的速度问题。如果将输出重定向到文本文件中,在 Windows 上(对我而言)只需 3-4 秒即可打印文件。
-
是的,我知道这与操作系统或 IDE 无关。谢谢
-
在我的 MacOSX 上,它运行良好。 100k 点大约需要 5 秒......在同一台计算机上的 Windows 7 上几乎不一样......你使用什么终端? (我在不同的终端上试过,我用 g++ 4.8.1 编译它没有任何优化...)
标签: c++ performance visual-studio-2012 console-application