2013年01月17日
鈍い
- 2013-01-17 (Thu)
- 一般
無駄な命令のないきれいなコードにコンパイルされているのにプログラムが鈍い.Expression templates でコードを生成しているせいでレジスタの使い方が頭悪くなってるのだろうか? レジスタの使い方が違うだけの別のコードに比べて 1.5 倍の鈍さ.アウトオブオーダ実行の部分で差が出ている気がするけどそんなところを ET 経由でコントロールするとか無理ゲーでしかない.
変数一つ一つにユニークな静的な値を与えられれば色々と問題解決すんだけどなぁ.変数定義部をマクロにしてしまう(マクロ内でラムダ式を作ってその型を使えばいちおうユニークなはず)というのが一つの手ではあるけれど,今ひとつ美しくない.同じ事を数年前にも考えたけどキレイにやる方法が見つからず……
悩ましい.
- Comments: 0
- TrackBack (Close): -