最近、自作の プログラミング言語 を作っていて、ベンチマークを取るためにいくつかの言語で 竹内関数 を書いてみました。 そこで調べている中で、結果をメモ化したり遅延評価したりすることで高速化させることができると知ったのでJavaScriptで書いてみた次第です。 まずは下ごしらえ 環境は以下の通りです。 Intel Core i3 1.8GHz node.js v0.10.5 64bit で、次の様なユーティリティーを書いてみました。 /** * ベンチマーク用関数 * @param {Number} n 実行する回数 * @param {Function} fun 測定する関数 * @return {Object} averageに平均が、resultsに各結果が入ったオブジェクト **/ function bench(n, fun) { var i, start, finish, av

