所以我有一個非常大的矩陣(120000 x 120000),並且在整個矩陣上運行一個腳本,將一個元素與每個其他元素進行比較。因爲我無法在內存中保存整個內容,所以我使用了memmap。我還會定期刷新矩陣,以確保計算機崩潰或不丟失所有數據。但是,我注意到,我進入矩陣的「更深層次」,可以說,刷新數據所花費的時間增加了。最終,最多需要五分鐘來保存我的結果。有人知道爲什麼它這樣做?有沒有更好的方法可以做到這一點?我會發布一些代碼,但我相當肯定我沒有做任何「錯誤」的事情。Mem-map在矩陣深處減速
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()
你有除了MMAP爲我做的任務,任何其他建議? – drizzle123