所以我有一个非常大的矩阵(120000 x 120000),我在整个矩阵上运行一个脚本,将一个元素与其他所有元素进行比较。因为我无法将整个内容保存在内存中,所以我使用 memmap。我还定期刷新矩阵,以确保如果计算机崩溃或发生什么我不会丢失所有数据。但是,我注意到我进入矩阵的“更深”,可以说,刷新数据所需的时间增加了。最终,保存我的结果最多需要五分钟。Woudl有人知道它为什么这样做吗?有没有更好的方法可以做到这一点?我会发布一些代码,但我相当肯定我没有做任何“错误”的事情。
OUT_DIR = '/media/sf_3dAnalysis/simMatrix/'
SIM_FILE = 'similarity.npy'
data = np.lib.format.open_memmap(OUT_DIR+SIM_FILE, mode='w+', dtype='float32', shape=(120821,120821))
#After processing a certain amount of indices, I go to flush the data.
data.flush()