ページ)mmap(2)で共有メモリを実装する方法はいくつかある。前回、各方法ごとに性能を検証したところ、大きな違いは見られなかった。そこで今回は共有するデータサイズを100MBにして、あらためて性能の違いを調査していく。公開[後藤大地,@IT]性能測定、データサイズを大きくしたらどうなる?第6回ではmmap(2)を使って共有メモリを実装する方法を紹介した。mmap(2)で共有メモリを実装する場合、いくつかの選択肢があり、それぞれ性能にどういった違いがあるのかを調べた。今回は前回の話に引き続き、共有するデータのサイズを変えた場合に性能にどのような違いが発生するのかを調査していく。mmap(2)はメモリへのアクセスがそのままファイルへのアクセスになるところにその特徴がある。ファイルをマッピングしなくても利用できるが、本来的にはファイルに対してマッピングを実施するものだ。前回はファイルにマッピングするケースとそうでないケース、ファイルが置かれているファイルシステムをディスク上のUFSかメモリファイルシステムか、などいくつか条件を分けて性能の違いを調査した。前回の調査ではほとんど性能の差が見られなかった。これは共有したデータのサイズが2バイトといった極めて小さいサイズだけだったからではないか、と推測した。今回は共有するデータサイズを100MBにして、同様の調査を実施する。メモリファイルシステムと共有ファイルの作成まず、次のように操作して実験環境を作成する。count=1前回紹介した手順とはオプションなどが少々異なっている。これはファイルシステムの条件がより同一に近づくように操作を追加したためだ。ここまで作業すると、共有ファイルを設置するファイルシステムは次のような状態になる。前回使ったソースコードを、今回は100MBのデータを読み書きするものへ変更する。一方から100MBのデータを書き込み、もう一方は書き込みが完了したのを検知したら読み出しを開始する。ソースコードはそれぞれ次のとおりとなる。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。