【发布时间】:2011-06-17 16:04:12
【问题描述】:
正如标题所说,我在代码中的 printf 调用性能非常差。它被广泛用于调试目的,并且在大多数情况下没有引起问题,但是当我在 Windows 7 Professional 64 位下的新笔记本电脑(17" Macbook Pro 2011)上启动我们的代码时,它会减慢一切。我分析了带有 VerySleepy 的应用程序,果然是 printf 调用导致速度变慢,但我终生无法弄清楚原因。
我最初的想法是我在 64 位操作系统下运行 32 位应用程序,但我并不是办公室中唯一运行 Windows 7 64 位的人(不确定其他人的确切版本)
任何见解将不胜感激。
编辑:忘了说我使用的是 Visual Studio 2008 Professional
【问题讨论】:
-
printf在我所知道的每个 C 和 C++ 版本上一直表现缓慢。例如,您是否将它与 32 位版本进行了比较? -
@Rob - 我对检查驱动程序的回复是由您在 Mac 上运行 Win7 的注释提示的。这里可能有一些硬件虚拟化正在扼杀您对磁盘或屏幕的性能?我承认,有点“万岁玛丽”。
-
@Steve:我不认为这是“万岁玛丽”——我在视频驱动程序较差的机器上运行控制台应用程序,其糟糕的性能令人难以置信。
-
@Michael - 我也是。 Mac 上的 Win7 方面让我特别喜欢。怀疑驱动程序问题,无论是输出到屏幕还是重定向到大容量存储。
-
您是将
printf的输出定向到屏幕还是磁盘?
标签: c++ windows performance 64-bit printf