例によってHigher-order Perlから 昨日までは、同じ処理を同じアルゴリズムで書いたらC/C++が一番早いに決まっているという信念があったのですが、この本を読んで考えが変わりました。2007年11月3日はそんな記念日。 相変わらずメモ化の話なんですが、 ・フィボナッチ書けたよ → 遅くね? ・メモ化したよ → 毎回メモ化の仕組み作るの面倒じゃね? ・closureがあるよ → 引数が一つの時しか使えなくね? ・joinでつなぐよ → f("x,", "y")と、f("x", ",y")でバグるよ ・正規表現でエスケープするよ → 遅くね? ・key generatorを引数で渡して、if文で切り替えたらどうよ → if文無駄じゃね? ・eval使うよ ← 今ここ という議論を経て、evalを使う話。上の議論は全部Perlのソース付きで説明されています。 で、問題のコードがこれ。
![Cが最速なんてもう言わない - なつたん](https://cdn-ak-scissors.b.st-hatena.com/image/square/de62e9244ef99b3227ad9307b09249537676dfbe/height=288;version=1;width=512/http%3A%2F%2Fnatu.txt-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)