8
の私は、numpyのハンドルが以前にメモリマップされた領域のをアンマップする方法上の任意のドキュメントを見つけることができません。マップ解除numpyののmemmap
私の推測では、ガベージコレクション時にのみ行われるのですが、それは間違いありませんか?
の私は、numpyのハンドルが以前にメモリマップされた領域のをアンマップする方法上の任意のドキュメントを見つけることができません。マップ解除numpyののmemmap
私の推測では、ガベージコレクション時にのみ行われるのですが、それは間違いありませんか?
はい、オブジェクトがガベージコレクションされている場合のみ閉じます。 memmap.close
メソッドは何もしません。
x._mmap.close()
に電話することができますが、x
オブジェクトにアクセスすると、Pythonがクラッシュすることに注意してください。
NumPyが手動で制御された 'munmap'という概念をサポートしていれば、優れたツールになるでしょう。例えば、いくつかの 'mmap'モードをオンにして、いくつかの配列' x'をロードすることができます。ある時点で 'x [0:100]'を読んでから、後で 'x [101:200]'を読みます。 'numpy.munmap(x [0:100])'を呼び出すことができ、 'x [101:200]'の要素だけがメモリにロードされ、 x [0:100] 'は、評価されたときにそれらを再整列させる必要があります。 – ely