今日はささだ研雑談会でした。 ファイルを読み書きするようなアプリケーションの最適化を行う際、実際どのようなIO命令が発行されているか知りたくなる。 小崎さん(@kosaki55tea)によるとblktraceを使うといいらしい! http://linux.die.net/man/8/blktrace 使い方を書こうと思ったけど、解説ページがそれなりにあったのでやめた。 mmap I/Oアプリケーションにおけるdisc sync ファイルを読み書きするようなアプリケーションにおいて、キャッシュの管理をOS任せにしても良いのならば、ファイル全体をmmapしてしまうと非常に楽にI/O処理を書くことができる。 しかし、mmapしてデータを書き込むだけで、即座にディスクにデータが書き込まれるわけではない。 明示的にmsync(MS_SYNC)を発行して同期を取る必要がある。 ここまでは一般的な話。