我发现我通过内置的open(filename, "rb")
函数在打开(二进制)文件时花费了相当一部分脚本。根据我的分析器,对open
的7890次呼叫耗时129.2秒,平均每次呼叫约16.4毫秒。在我看来,这有点高。 (尽管典型文件的大小约为〜MB(数量级),但特别要考虑的是读取文件内容的总时间仅为25秒。)
我想知道是否有一种方法可以加快它的运行速度,但是我对open
函数在幕后所做的事情知之甚少。具体来说:
答案 0 :(得分:0)
开放函数的蟒侧不应该是一个性能问题。通常是底层的os open调用。检查是否有一些防病毒软件可能会对每个打开的呼叫起作用。每个打开的呼叫16毫秒异常高。在我的机器上,打开冷文件的速度低于100usec。
如果您要在Linux和调查,这是值得的,然后尝试使用strace和PERF。 http://www.brendangregg.com/linuxperf.html