如何提高读取文件程序的运行时性能

时间:2013-12-02 20:24:51

标签: python file io

我目前正在尝试使用Python读取1.5亿行(来自带有生物测序信息的数据文件)。目前,它的读取速度为每秒20,000行,大约需要一个半小时。我必须阅读其中的20个文件。鉴于Python是一种非常高级的语言,使用Java来更好地读取文件还是时间差异不足以保证切换到另一种语言?

我正在使用的当前代码是:

lines_hashed = 0
with open(CUR_FILE) as f:
    for line in f:
       cpg = line.split("\t")
       cpg_dict[cpg[0]] = ....data....
       print lines_hashed
       lined_hashed += 1

print语句只是一个理智,程序没有在任何地方失速。我假设这也减慢了运行时间。有没有办法在没有print语句的情况下检查这个?

感谢。

1 个答案:

答案 0 :(得分:4)

  1. 与磁盘读取相比,打印到屏幕上的成本很高。如果你必须检查性能,只需每1000行或更多行打印一次。
  2. 至于使用其他语言,几乎所有语言都会调用操作系统来完成真正的工作。