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

本文探讨了Python print语句输出到终端为何比写入文件或重定向到/dev/null慢的问题。通过测试发现,输出到终端的延迟主要由终端处理输入和渲染屏幕造成。即使缩小终端窗口,速度仍显著慢于直接写入文件。作者希望找到一种方法从应用程序端优化这一行为,或者理解为何终端的渲染会阻碍写入速度。
摘要由CSDN通过智能技术生成

我一直对使用print语句简单地输出到终端需要多长时间感到惊讶/沮丧。在经历了最近令人痛苦的缓慢日志记录之后,我决定进行调查,并惊讶地发现几乎所有的时间都在等待终端处理结果。

可以以某种方式加快对stdout的写入速度吗?

我编写了一个脚本(print_timer.py此问题底部的' ')来比较将100k行写入stdout,文件以及将stdout重定向到时的时序/dev/null。计时结果如下:

$ python print_timer.py

this is a test

this is a test

this is a test

-----

timing summary (100k lines each)

-----

print                         :11.950 s

write to file (+ fsync)       : 0.122 s

print with stdout = /dev/null : 0.050 s

哇。为了确保python在幕后不做任何事情,例如认识到我将stdout重新分配给/ dev / null之类的东西,我在脚本之外进行了重定向...

$ python print_timer.py > /dev/null

-----

timing summary (100k lines each)

-----

print                         : 0.053 s

write to file (+fsync)        : 0.108 s

print with stdout = /dev/null : 0.045 s<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值