前回、mmap(2)というシステムコールを使って、ファイルコピーの速度を上げる方法を解説しました。このシステムコールは大きな問題を起こすこともないので、使いやすく、実際に多くの開発者が利用しています。今回は、プログラムが使用した物理メモリサイズやページフォールトの回数、コンテキストスイッチの回数などを調べて、mmap(2)の性格を分析していきます(編集部) 前回とは違う側面からmmap(2)を調べる 前回、ファイルをコピーするためのシステムコールの一種である「mmap(2)」を紹介した。このシステムコールを使えば、「read(2)」や「write(3)」といったシステムコールを使うよりも高速に動作するファイルコピープログラムを作れる。処理にかかった平均時間を比較したところ、mmap(2)を利用したプログラムは、read(2)/write(2)を使ったプログラムの4〜5倍高速に動作していた。
![高速化に効くシステムコールが犠牲にするもの](https://cdn-ak-scissors.b.st-hatena.com/image/square/6e84fc6ab06f31b2e64248cbfc92fe06deb5bab5/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fimages%2Flogo%2F1200x630_500x500_ait.gif)