加快打开文件的速度

时间:2019-02-01 16:27:33

标签: python python-2.7

我发现我通过内置的open(filename, "rb")函数在打开(二进制)文件时花费了相当一部分脚本。根据我的分析器,对open的7890次呼叫耗时129.2秒,平均每次呼叫约16.4毫秒。在我看来,这有点高。 (尽管典型文件的大小约为〜MB(数量级),但特别要考虑的是读取文件内容的总时间仅为25秒。)

我想知道是否有一种方法可以加快它的运行速度,但是我对open函数在幕后所做的事情知之甚少。具体来说:

  • 这些文件位于我的存储磁盘上,这是老式的7200 RPM磁盘。如果将它们转储到SSD上,速度会加快吗? (我想这会使读取文件的速度比打开它们的速度慢。)
  • 有问题的文件具有相对较深的文件夹结构(9层)。这会影响打开文件的速度吗? (即,操作系统是否需要花费大量时间将文件路径(字符串)转换为磁盘上的位置?)

1 个答案:

答案 0 :(得分:0)

开放函数的蟒侧不应该是一个性能问题。通常是底层的os open调用。检查是否有一些防病毒软件可能会对每个打开的呼叫起作用。每个打开的呼叫16毫秒异常高。在我的机器上,打开冷文件的速度低于100usec。

如果您要在Linux和调查,这是值得的,然后尝试使用strace和PERF。 http://www.brendangregg.com/linuxperf.html