問題タブ [jsperf]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - eval() は他のコードを遅くしています。なぜですか?
プログラムの任意の場所で eval を使用すると、実行されていない場合でも、他のコードが遅くなるようです。どうしてこれなの?
以下の例には、次のコードがあります。
Ifeval()
がコメントアウトされている場合とsimpleFor()
for ループを使用している場合の両方で、同等のパフォーマンスが得られます。eval()
ネイティブ ループがある場合、最大 85% の速度低下が発生します。jsperf の Chrome/Firefox と、同様のスクリプト nodejs を使用してテストしました。
例: http://jsperf.com/eval-wierdness
私の最初のアイデア、およびこれを見つけた方法は、次のようなパフォーマンス効率の高いマッピング関数を作成する関数を作成することでした。
他のコードを遅くすることなく、そのような関数を効率的にすることは可能ですか?
javascript - javascriptでダブルルックアップがシングルルックアップよりも速いのはなぜですか?
jsperfテストで奇妙な動作が見られます。セットアップは次のとおりです。
q.x
次に、各プロパティ、q._x
、およびを検索するだけq.z.x
です。
シングル ルックアップq.x
は、予想どおりプロトタイプ ルックアップよりも高速ですq._x
。ただし、二重ルックアップq.z.x
が最も高速です。q.z.x
特に と比較した場合、私は最も遅いと思っていましたq.x
。
q.z.x
よりもさらに高速ですq.z
。ここで何が起こっているのですか?
javascript - jsperf テスト setInterval() と requestAnimationFrame()
turnEvenOld(250, 250)
(0.089ms) が (0.447ms) よりもはるかに高速に実行される理由を誰か説明できますかturnEvent(250, 250)
?
requestAnimationFrame()
を使用するよりも実行する方がはるかに高速で安価だと思いsetInterval()
ました
setInterval():
requestAnimationFrame():
javascript - サイズの配列を高速に反復する理由
最初の例では、長さ 1000 の空の配列を作成しました。
2 番目の例では、長さ 0 の空の配列を作成しました。
OS X 10.10.3 上の Chrome 41.0.2272.118 でのテストと最初のブロックの実行速度が向上しました。なんで?JavaScriptエンジンが配列サイズを知っているからですか?
ベンチマークはこちらhttp://jsperf.com/poerttest/2です。
javascript - なぜ `exp && "t" || "f"` inline-if-else よりもはるかに遅いですか?
論理式がif-elseやinline-if- elseよりも 2 倍遅いのはなぜですか?
- すべての関数は同じ結果で評価されます。
- すべての関数は、
1
との配列から値を渡されています。0
このjsperf テストを参照してください。
javascript - jquery clone 複数回とappendToのパフォーマンス
要素を複数回 (たとえば 4 回) 複製し、それらを要素の親に追加したいと考えています。
jQueryで次のコードを書きました
これは正しい方法ですか?またはこれを行うためのより良い方法はありますか?ドキュメントフラグメントについてオンラインで読み、次のように書きました。
どちらも正常に動作します。2つ目はパフォーマンスに違いをもたらしますか?
html - キャンバスのサイズはパフォーマンスにとって重要ですか?
小さなゲームを作成しているときに、Canvas API に関する一般的なパフォーマンス関連の質問が出てきました。大きなキャンバスの小さなスペースだけをクリアして描画しています。このような場合、キャンバスのサイズが大きいとパフォーマンスが低下しますか?それとも、描画されるピクセルの量だけが問題なのでしょうか? たとえば、何かが変更されたときにキャンバス全体が再描画されますか?
sorting - 挿入ソートがマージソートよりも速いのはなぜですか?
バブル、挿入、マージの 3 つの並べ替え方法の jsperf.com テストを作成しました。リンク
テストの前に、0 から 1Mln までの乱数でソートされていない配列を作成します。テストのたびに、挿入ソートはマージ ソートよりも高速であることが示されます。マージソート時間 O(n log(n)) で、挿入およびバブルソートのテスト結果が O(n^2) である場合、そのような結果の理由は何ですか?