ベンチマーク
ベンチマークは、できるだけ多様な条件で取得すべきです。
たとえば、Array.prototype.forEach のベンチを取る場合は、
var ary = [0, 1, 2, ...]; ary.forEach(function(v, i) { // なにか });
のようにすると思いますが、これでは不十分です。
どれが、とは言いませんが、一部のメジャーなJavaScriptライブラリは、一行追加するだけで数十秒間ブラウザの応答が無くなります。
var ary = [0, 1, 2, ...]; delete ary[0]; // こういうの // そのライブラリが持つforEachでループ
これでは台無しです。
チェックを削るほど速度は稼げます。しかし、そのような偽りの高速性には何の意味もありません。
何が言いたいのか
開発者は、様々なケースを想定して色々とコストを支払っています。
プラットフォームが複数ある場合(クロスブラウザ等)は、さらにコストを支払っています。
そういった部分を無視し、特定のプラットフォーム上で行われたごく単純なテストケースをもって「おせぇ〜」とかネガティブキャンペーンを展開されると、みんながちょっとずつ不幸になります。
ひどいケースでは「xxは高速。yyは低速」と実数(根拠)も出さずにMicrosoftばりのFUDが展開されることがあります。
このブログエントリは、そのような問い合わせ「uupaa.js は xxxライブラリより遅いんで早くしてください」に対する布石的なものです。
「比較すること自体は悪くありませんが、狭い視点で比較するのはやめてください」というお願いでした。