Windows 7 为什么控制台输出如此缓慢?
所以我在WindowsXP、Vista和7上使用几种不同的语言时注意到了这一点。如果每秒将几千行转储到控制台窗口,通常会对系统性能产生负面影响。电脑速度很快,而且总是很快,控制台看起来就像是背景上的一些文字。瓶颈在哪里?etc必须从您的进程转到控制台窗口进程(csrss或conhost)。控制台也可以与多个进程共享,因此也有一些同步和缓冲正在进行。我想您已经回答了自己的问题……您在哪个平台上观察到这种行为。Windows,Unix,Mac。?这是一个公平的问题,从这样的角度来看,了解文本窗口更新缓慢的原因可能有助于了解是否可以采取任何措施来缓解问题,例如将控制台输出流附加到一些自定义窗口更新逻辑。瓶颈在于输出。。。打印出来需要一些时间(即使以无法读取的速度),而不是不打印出来。顺便说一句,每秒几千行有点过头了;在命令窗口中打印时,最多可以看到100个左右。在我自己有限的测试中,Windows 7将文本输出到控制台的速度至少比OSX或Linux慢10倍(我是在同一台计算机上完成这项工作的,使用的是引导Windows)。我遵循您在回答中的说法。您还有什么可以提供的详细信息吗?@QueueHammer Windows实现没有文档记录,并且使用LPC()WINE还提供了一些有用的信息()。为了好玩,运行“cmd.exe/C dir/S/B C:\”并观看csrss在单核2000/XP系统上使用50%的CPU。。。Windows 7 为什么控制台输出如此缓慢?,windows-7,windows-xp,windows-vista,console-application,Windows 7,Windows Xp,Windows Vista,Console Application,所以我在WindowsXP、Vista和7上使用几种不同的语言时注意到了这一点。如果每秒将几千行转储到控制台窗口,通常会对系统性能产生负面影响。电脑速度很快,而且总是很快,控制台看起来就像是背景上的一些文字。瓶颈在哪里?etc必须从您的进程转到控制台窗口进程(csrss或conhost)。控制台也可以与多个进程共享,因此也有一些同步和缓冲正在进行。我想您已经回答了自己的问题……您在哪个平台上观察到这种行为。Windows,Unix,Mac。?这是一个公平的问题,从这样的角度来看,了解文本窗口更新