簡単に思いついたものを箇条書きでメモしておく。
- if文はできる限り使わない。
- (例)配列を上手く使う。
- 割り算や累乗をできるだけ避ける。
- (例)ループ内で無駄な処理が重複しないよう、できる限りループの外へ出す。
- メモリへの連続アクセスをできるように配列の添字の使用を行う。
- ただし、キャッシュ・ヒット率とのバランスを考慮する。
- キャッシュ・ヒット率を高める。
- (例)ループ・アンローリング。
- ただし、メモリ連続アクセスとのバランスを考慮する。
- できる限り組み込み関数を使わない。
- I/O処理を少なくするため、インライン展開を行う。
- インライン展開しない場合、コンパイラの最適化が上手く行わず、処理速度が低下することがある。
- もちろん、コードの見やすさとのバランスを考慮すべき。
No comments:
Post a Comment