如果程序写入控制台或终端,根据我的经验,它往往运行缓慢,比输出重定向要慢得多,或者如果它使用其他输出方法开始,而不是stderr
或{ {1}}。我确信我在Windows中遇到过这种情况,但如果我记得很清楚,也许Linux也有这个。
硬件,操作系统,协议或其他方面的瓶颈是什么导致了这种影响?
答案 0 :(得分:3)
在终端上显示时,终端需要解析终端控制代码(ANSI,VT-100等)的流,维护终端状态(光标位置等),然后渲染位图表示(可以由数千或数百万像素字节组成)每秒几帧。这比简单地将字节转储到磁盘文件要慢得多。