v8もたらいまわし

http://d.hatena.ne.jp/kilrey/20091111#p2の話。

function tarai (x, y, z) {
  if (x <= y) {
    return y;
  } else {
    return tarai(tarai(x-1, y, z),
                 tarai(y-1, z, x),
                 tarai(z-1, x, y));
  }
};

for (var i = 0; i < 0x10; ++i) {
  (tarai(12, 6, 0));
}
print(tarai(6, 3, 0));
print(tarai(12, 6, 0));

goとよく似ている……と思ったら実行速度までほとんど同じだった(8g & 8lと比較)。