http://users.ece.utexas.edu/~adnan/pike.html
原則1. プログラムのボトルネックはしばしば思いもかけない場所に現れ、あらかじめ予測することはできない。なので証拠もなしに高速化しようとしないこと。
原則2. 計測せよ。計測せずに高速化してはならない。
原則3. 複雑なアルゴリズムは普通定数部が大きく、nが小さいときには役に立たない。nが十分に大きいと確信できるまで複雑なアルゴリズムは使わないこと。(その場合も、原則2を適用すること)
原則4. 複雑なアルゴリズムは単純なものよりも実装しにくくバグも入りやすい。単純なアルゴリズムとデータ構造を使うこと。
原則5. 世の中はデータが支配している。正しいデータ構造を整理されたやり方で使えば、ほとんどの場合アルゴリズムは自明である。プログラミングの中心はアルゴリズムでなくデータ構造だ。