2012-01-06 15 views
0

メモリマッピングファイルについて言及すると、ファイルの一部をプロセスアドレス空間にマップでき、ポインタなどを使用してランダムアクセスが可能であると一般的に言及されています。私はまた、多くの場所で、ファイル全体をメモリに格納するのに十分なメモリが必要であることを読んでいます。さて、これらは私にとっては少し混乱している2つのステートメントです。これは、完全なファイルのために十分なメモリが必要な場合には、それが利点になるよりも必要なのでしょうか?ストリームの場合と同様に、ブロック読み込みやバイト読み込みではないため、余分なカーネルスペースのコピーや速い時間に関する利点について知っています。メモリマップファイルv/s通常ファイルIO

答えて

1

ファイル全体にメモリを持つ必要はありません - mmap怠惰な読み込みですので、たくさんのRAMを使わなくても大きなファイルを修正することができます。別のきちんとしたトリックは、それをチャンクしなくても、それを逆方向に反復する必要がある場合です。

関連する問題