首页 > 解决方案 > 加快打开文件

问题描述

我发现我的脚本通过内置open(filename, "rb")函数花费了其运行时打开(二进制)文件的很大一部分。根据我的分析器,7890 次调用open花费 129.2 秒,平均每次调用大约 16.4 毫秒。这对我来说似乎有点高。(特别是考虑到读取所述文件内容的总时间仅为 25 秒,即使典型文件的大小约为 MB(数量级)。)

我想知道是否有办法让我加快速度,但我不太了解该open功能在幕后的作用。具体来说:

标签: pythonpython-2.7

解决方案


open 函数的 python 端不应该是性能问题。它通常是底层操作系统公开调用。检查您是否有一些防病毒软件可以为每个公开呼叫做一些事情。每次打开调用的 16 毫秒异常高。在我的机器上打开冷文件的时间低于 100 微秒。

如果您在 linux 上并且对此进行调查是值得的,那么请尝试 strace 和 perf。 http://www.brendangregg.com/linuxperf.html


推荐阅读