そのため、非常に大きなマトリックス (120000 x 120000) があり、要素を他のすべての要素と比較するスクリプトをこのマトリックス全体で実行しています。全体をメモリに保持できないため、memmap を使用します。また、マトリックスを定期的にフラッシュして、コンピューターがクラッシュしたり何かが発生したりしても、すべてのデータが失われないようにします。ただし、マトリックスに「深く」入るほど、いわばデータのフラッシュにかかる時間が長くなることに気付きました。最終的に、結果を保存するのに最大 5 分かかります。なぜこれを行っているのか誰にもわかりませんか?これを行うことができるより良い方法はありますか?いくつかのコードを投稿しますが、「間違っている」ことは何もしていないと確信しています。
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()