【发布时间】:2016-05-26 04:39:43
【问题描述】:
我目前正在编写一个处理非常大 (> 10GB) 文件的 python 脚本。由于无法将整个文件加载到内存中,我现在正在逐行读取和处理它:
for line in f:
....
脚本完成后,它会经常运行,所以我开始考虑这种读取方式会对我的磁盘寿命产生什么影响。
脚本会实际上逐行读取,还是会发生某种操作系统驱动的缓冲?如果没有,我应该自己实现某种中间缓冲区吗?经常敲击磁盘实际上是有害的吗?我记得读过一些关于 BitTorrent 快速磨损磁盘的文章,正是因为这种按位读取/写入而不是操作更大的数据块。
我在测试环境中同时使用 HDD 和 SSD,因此这两个系统的答案都会很有趣。
【问题讨论】:
-
无论你的脚本做什么,它都会导致磁盘上最简单的顺序读取。没有比这更高效且磁盘磨损更少的了。别担心。操作系统的缓冲、缓存和预取将确保您获得良好的性能,而无需您采取进一步的行动。
标签: python operating-system filesystems solid-state-drive hdd