メモリ マップの削除
メモリ マップの削除方法
メモリから memmapfile オブジェクトをクリアするには、次のいずれかの手順に従います。
memmapfileオブジェクトの変数に別の値を再度割り当てるmemmapfileオブジェクトの変数をメモリから消去するmemmapfileオブジェクトが作成された関数スコープを終了する
共有データ コピーのパフォーマンスへの影響
memmapfile オブジェクトの Data フィールドを変数に割り当てると、MATLAB® ではマッピングされたデータの共有データ コピーが作成されます。メモリが実際にコピーされるわけではないため、これは非常に効率的です。次のステートメントにおいて、d はファイルからマッピングされたデータの共有データ コピーです。
d = m.Data;
マッピングされたデータを使い終えたら、必ず、マッピングされたファイルとデータを共有していた変数をすべてクリアしてから、memmapfile オブジェクト自体をクリアします。オブジェクトを先にクリアした場合、ファイルと従属変数との間のデータ共有が解除されるため、このような変数に割り当てたデータをメモリにコピーにしてから、オブジェクトをクリアしなければなりません。マッピングされたファイルにネットワークを通じてアクセスする場合、このデータをローカル メモリにコピーするにはかなりの時間がかかります。このため、m.Data を変数 d に割り当てた場合は、メモリ マップを使い終わったときに、必ず、d をクリアしてから m をクリアしてください。