如果我使用linecache读取多个文件,现在内存很忙,我想清除某个文件缓存,而不是使用' linecache.clearcache()'要清除所有缓存,我该怎么办?
答案 0 :(得分:1)
我和你有同样的考虑。
所以我自己写了测试代码。你可以看一下。
基本上使用不在for循环中的linecache.clearcache()
可能会快得多,但它会同时消耗更多的RAM。 RAM牺牲了速度。与每次在for循环中清除缓存相比,速度快6倍
相反,您可以在for循环中使用linecache.clearcache()
。它占用的内存较少,但速度很慢......
对我来说,我会清除for-loop中的缓存并使用多线程将块文件块化为块。扩展RAM和SWAP以便为快速做好准备。