研究日誌。

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

ソースの整理2。

2007-12-15 12:46:23 | Weblog
再度ソースの整理を行った。今回は主にデータの持ちかたについてだが、どのような処理を行うか考慮して、「配列の構造体」にするか「構造体の配列」にするか決めた。

Xeon 3.0GHz / gcc(4.1.2)
2分木      31.5[s] → 29.6[s]
1レベルバケット 29.2[s] → 20.0[s]

このように1レベルでも十分高速に実行できるといえるようである。2レベルの方はまだソースをいじることをしていないので、さらに高速化できるだろうがメモリの使用率が気になる。

やはりここは比較的に扱い易い1レベルを用いて、「先読み」等を行うのがいいと思われる。まずはサンプルプログラムを用いて、ロードと処理のバランスを調べていこう。