私はビルトイン配列クラスのJavaScriptのを修正するのさまざまな方法の速度について興味があったので、私は少しテストをした:カスタムアレイがバニラバージョンより遅いのはなぜですか?
http://jsperf.com/array-vs-custom-array
これは、アレイに削除機能を追加することの3つの異なる方法を比較します。 Object.create()で追加されたremove()関数は、.call()と同じ関数よりも遅く、またはArray.prototypeに追加されています(Chromeでは約90%)。彼らはすべて同じことをし、実際には同じ機能なので、私はなぜ速度の違いがあるのか不思議です。
興味深い..私は、作成した後にアレイ上でadd removeを設定するだけで、ミントの例を含むようにテストを修正しました。これは、チョコレートのObject.create()メソッドと最も速く機能的には同じですが、欠点は.removeが列挙可能になるようです。http://jsperf.com/array-vs-custom-array/3 – notlion
また、私は関数呼び出しが最初に直近のオブジェクトを見て、プロトタイプで_then_という印象を受けました。チョコレートとバニラは同じではないはずですか? Hrm .. – notlion
あなたがまだこのテストに興味がある場合、私は問題の一部があなたが時間を過ごしたセクションにあまりにも多かったと思う。プッシュコールをテスト設定に移動すると、削除のパフォーマンスは3つのタイプすべてで同じになります。 http://jsperf.com/array-vs-custom-array/4 – myeeshen