研究日誌。

大規模なグラフ処理に対してメモリ階層構造を考慮した高性能なソフトウェアを開発。

mmap → fopen。

2009-11-02 11:28:55 | Weblog
ずっと mmap() してきたが、本来バイナリデータの読み込みは fopen() で行うものではないかと、疑問になり試してみた。上の方が簡単で実行時間も短いという、なんともまあ…な結果に。もっと早く気付くべきだった。

要するに、ファイル読み込みではなく、数値データへの変換部分がボトルネックということ。

/*  0.795 sec.  */
fopen(filename, "rb") -> fread -> fclose

/*  0.913 sec.  */
open -> mmap -> 使用 -> munmap -> close