ルックアップテーブル
int型変数の各バイトの値を自明なハッシュ関数としてこのテーブルをルックアップし、それを足し合わせる。この方法であれば分岐は発生せずメモリアクセスが4回発生するだけのため、上記のコードよりもずっと高速である。
上記のコードは、xを4バイトの unsigned char 配列にキャストすれば、ビット積(&)とシフトが取り除けるのでさらに高速化できる。また、関数化せずインラインで実装してもよい。
なお、現在のプロセッサではこのようなテーブルルックアップは逆に速度の低下を起こす可能性がある。これは、改善前のコードはおそらく全てキャッシュ上から実行されるが、一方でルックアップテーブルがキャッシュに載りきらなかった場合は、低速なメモリへのアクセスが発生するためである(さらに、上記の例では、4回のルックアップそれぞれにおいてテーブル中の要素のアドレスを計算する必要がある)。
分割統治法の一つである二分探索法は、配列を2つに分割し、配列のどちらの側に対象の要素が存在するか判断するという処理を、検索対象の要素が見つかるまで繰り返す方法である。配列がソートされている場合のみ利用できる方法だが、大きな配列に対しても良好なパフォーマンスを示す。
コンピュータ誕生以前には、三角法、対数、統計学における密度関数など、複雑な関数の手計算の効率化のために数表が使用されていた 。
古代インドにおいては、アリヤバータが最も古い正弦表の一つであるアリヤバータの正弦表を作成している(これはサンスクリット語ベースの数体系で記述されている)。西暦493年には、アキテーヌのビクトリウスがローマ数字の98列の掛け算表を作成している。これには、2から50までの各数と、1000から100まで100刻みの数・100から10まで10刻みの数・10から1までの1刻みの数・1/144までの分数のそれぞれの積が載っている。現代の学校では、子供に九九表のような表を暗記させ、よく使う数字の積は計算しなくても分かるようにすることがしばしば行われる。この表は、1から9まで、または1から12までの数字の積が載っているものが使われることが多い。
コンピュータが誕生して間もない頃は、入出力処理は当時のプロセッサの処理速度と比較しても非常に低速だった。そのため、読み込み処理を減らすため、プログラム中に埋め込まれた静的なルックアップテーブルや、動的に確保したプリフェッチ用の配列に、よく使われるデータ項目だけを格納するといったことが行われた。現在ではシステム全体でキャッシュが導入され、こういった処理の一部は自動的に行われるようになっている。それでもなお、変更頻度の低いデータをアプリケーションレベルでルックアップテーブルに格納することにより、パフォーマンスの向上を図ることができる。