« -O6 | Main | ボス? »

2006年03月30日(木)

単なる衒学だけど。

昨日の最大値を求めるコードはコンピュータが2進数であることを利用したものだが、世の中には2進数の特性を活かした数々の超絶的な演算テクニックが存在するらしい。コンピュータの黎明期にかなり徹底的に研究されたようだ。ぎりぎりの高速化と省メモリ化が要求されるメガデモ界で重宝された技法だったという。CPUもメモリも潤沢な現代のプログラム事情にあっては、このような可読性の低いコードは生産性や保守性が悪いので仕事としては絶対書いてはいけないが。そんな本質的ではないところに頭を使ってはいけない、とKnuth先生も云っている。それでもこの手のコードは鮮やかな手品を見ているようなカタルシスがあるので、結構調べてしまう。現在最も非力な部類の携帯電話や携帯ゲーム機ですらこんな小手先のテクニックは不要なくらいリッチな環境なので、この手のコードを実際に使うことはもうないだろうけど。

Posted by awa at 2:13.26
Categories: 雑記