メモリマップトファイル
メモリマップトファイルが使われる最大の理由は性能である。それでも、そこにはトレードオフが存在しうる。標準I/Oはシステムコールとメモリコピーのオーバーヘッドがあるためコストが高い。メモリマップトファイルのコストはマイナーなページフォールトのコストであり、プロセスの仮想空間にマッピングされていない部分のデータブロックをページキャッシュ(英語版)にロードする際のコストである。状況によってはそのI/Oが多大になり、標準のファイルI/Oより遅くなることもある。
もう1つの欠点として、ファイルが大きすぎて全体を一度にマッピングできない場合がある。その場合、ファイルの一部分のみをマッピングし、必要に応じてマッピングを切り換えることになるが、処理が複雑化する。例えば、インテルのIA-32では、4GiBかそれ以下でしかマッピングできない。
メモリマップトファイルのためのAPIとして CreateFileMapping() などを用意している。