栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么打印到标准输出这么慢?可以加快速度吗?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么打印到标准输出这么慢?可以加快速度吗?

感谢所有的评论!我最终在您的帮助下自行回答。不过,回答您自己的问题感觉很脏。

问题1:为什么打印到标准输出速度慢?

答: 打印到标准输出 并不是 天生就慢。您正在使用的终端很慢。它与应用程序端的I / O缓冲(例如python文件缓冲)几乎为零。见下文。

问题2:可以加快速度吗?

答: 是的,可以,但似乎不是从程序方面(将“打印”到stdout的那一侧)进行。为了加快速度,请使用更快的其他终端仿真器。

说明…

我尝试了一个自描述为“轻量级”的终端程序,

wterm
并获得了 明显 更好的结果。下面是在
wterm
同一系统上以1920x1200
运行时,我的测试脚本的输出(在问题的底部),该系统使用gnome-terminal的基本打印选项花费了12s:

-----时序摘要(每条10万行)-----打印:0.261 s写入文件(+ fsync):0.110 s用stdout = / dev / null打印:0.050 s

0.26s比12s好得多!我不知道是否

wterm
更聪明地按照我的建议(以合理的帧速率渲染“可见”尾巴)来渲染屏幕,或者是否比“少”
gnome-terminal
。为了我的问题,我得到了答案。
gnome-terminal
是慢的。

所以-如果您运行的脚本长时间运行,感觉很慢,并且会向stdout喷出大量文本,请尝试其他终端,看看它是否更好!

请注意,我几乎是

wterm
从ubuntu / debian存储库中随机提取的。
该链接可能是同一终端,但我不确定。我没有测试任何其他终端模拟器。


更新:因为必须要抓痒,所以我用相同的脚本和全屏(1920x1200)测试了一大堆其他终端模拟器。我的手动收集的统计信息在这里:

wterm 0.3秒间隔0.3秒rxvt 0.3秒mrxvt 0.4skonsole 0.6秒药师0.7s接线柱7sxterm 9sgnome终端12sxfce4端12s巴拉终端18sxvt 48s

记录的时间是手动收集的,但它们是相当一致的。我记录了最好的(ish)值。YMMV,显然。

另外,它是对其中可用的各种终端仿真器的一次有趣的浏览!我很惊讶我的第一个“替代”测试是同类中最好的。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/403063.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号