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