Pra*_*hal 7 python performance
我做了一个简单的程序,搜索特定目录中的特定文件.
该程序的问题在于它第一次运行速度非常慢,但与第一次运行它时相比非常快.我正在粘贴相同的截图.我想知道,为什么会这样?我在Windows 7以及ubuntu 12.04 LTS上都发现了同样的东西,但速度差异(或者在Windows 7上的时差很大.
查看第二次和第三次搜索之间的时差.首先需要81.136秒,第二次需要6.45秒,尽管我们正在搜索同一目录.
Jon*_*nts 10
这与Python无关.扫描的文件仍然在操作系统的文件系统缓存中,因此不需要像第一次运行那样多的磁盘访问...
您可以使用以下内容复制:
with open('a 100mb or so file') as fin:
filedata = fin.read()
Run Code Online (Sandbox Code Playgroud)
在第二次运行时,文件可能仍然在内存而不是磁盘,因此第二次运行将明显加快.
现代系统通过使用缓存机制来优化对最近访问的数据的访问.这可能就是你的情况.所以,它不是关于Python而是关于操作系统和存储.
以下是在我的机器上连续执行的基本查找操作(与Python无关)的结果.
time find /usr/ -name java
...
real 1m15.946s
time find /usr/ -name java
...
real 0m24.577s
Run Code Online (Sandbox Code Playgroud)