関数の実行時間を得る

↑のエントリに関連して。JavaScriptだと Dateオブジェクトは数値として扱うことができ、その場合ミリ秒の数字になる。従って

var start = new Date();
testfunction();
var end = new Date();
var span = end-start; // start から end までのミリ秒を得る

というやり方で、testfunction() の実行時間をミリ秒で計ることができる。
function をゴニョゴニョして一般化できそうだなぁ…

追記

コメント欄でmalaさんが書いてくださったのをここに貼り付けておきますね

Function.prototype.bench = function(st){
  var self = this; // 実行時間を計りたい関数
  return function(){
    var start = new Date().getTime();
    var res = self.apply(this,arguments);
    var end = new Date().getTime();
    window.status = st+":"+(end-start); // 結果をステータスバーに表示
    return res;
  }
}

使い方は

testfunction = testfunction.bench("実行時間は"); //設定
testfunction(go); // 実行

すると、実行時に window.status に "実行時間は:12" などと出ます。
windows.stat に表示してるけど、GreaseMonkeyならGM_logでJavaScriptコンソールに出してもいいし、専用のlog関数組んでそこに出力してもいい。