python - 为 Python 禁用缓存

标签 python caching

我想测试和比较两种不同的文件打开方法在网络上使用多处理的速度。要真正了解网络是否是瓶颈,我想禁用 python 进程相关数据的缓存或另一种方法来强制 python 进程通过网络获取其数据,而不是明确地不从缓存中获取数据。清除缓存不是一个选项,因为我在一个多用户环境中工作,其中缓存本身是必不可少的。

最佳答案

我最终通过将我的文件列表传输到另一个 python 进程解决了这个特定问题,该进程与 bash 接口(interface)以从 nocache 包调用 cachedel 命令。这不是纯粹的 pythonic 解决方案,但它适用于我的情况。

import glob
import subprocess
filelist=glob.glob('/path/to/file/*.fileending')
for dat in filelist:    
    subprocess.call("cachedel "+dat, shell=True)

然而,如果缓存本身是时间瓶颈,最好通过运行

禁用 python 进程本身的缓存
nocache python

安装了 nocache 包。

关于python - 为 Python 禁用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30300126/

相关文章:

multithreading - omp 刷新和 cc-NUMA 架构

performance - Redis 读取性能慢

Python - 在具有步长的范围之间生成随机实数

python - 合并非重叠数组 block

ios - PHCachingImageManager 不缓存 Swift 2.3

php - 即时通知

java - 支持索引/查询缓存的缓存解决方案

python - 使用 Xlib 在 python 中获取窗口位置和大小

python - 在顶部导入 Python 函数或在代码中调用它们

python - 如何删除 cuInit 失败 : unknown error in CUDA (PyCuda)