为什么python程序第一次运行得很慢?

2024-04-25 16:10:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了一个简单的程序,在特定目录中搜索特定文件。
这个程序的问题是,它第一次运行的速度非常慢,但与随后运行它的第一次相比非常快。我贴了一张同样的截图。我想知道,为什么会这样?我在Windows7和Ubuntu12.04LTS上都发现了同样的问题,但是速度差(或者说时间差在Windows7上很好。enter image description here

查看第二次和第三次搜索之间的时间差。。 第一个需要81.136秒,第二个需要6.45秒,尽管我们搜索的是同一个目录。在


Tags: 文件程序目录速度时间差ltswindows7
2条回答

这与Python无关。扫描的文件仍将保存在操作系统的文件系统缓存中,因此不需要像第一次运行那样多的磁盘访问。。。在

你可以用类似于:

with open('a 100mb or so file') as fin:
    filedata = fin.read()

在第二次运行时,文件很可能仍在内存中,而不是在磁盘中,因此第二次运行将明显更快。在

现代系统通过使用缓存机制优化对最近访问的数据的访问。你的情况可能就是这样。所以,这不是关于Python的,而是关于操作系统和存储的。在

下面是在我的机器上连续执行的基本查找操作(与Python无关)的结果。在

time find /usr/ -name java
...
real    1m15.946s

time find /usr/ -name java
...
real    0m24.577s

相关问题 更多 >

    热门问题