今日私は訪問しました jsPerf そして今私は疑問に思っています…
例: http://jsperf.com/concatenation-vs-join
誰か教えてもらえますか?
前もって感謝します。
Benchmark.js と書きましたが、これは jsPerf が使用します。
「ops/sec
」は、1秒あたりの操作数を表します。これは、1秒間にテストが実行されると予測される回数です。
1%
以下の測定で 不確かさのパーセンテージ を取得するのに必要な最小時間に達するまで、テストが繰り返し実行されます。反復回数は、環境のタイマーの解像度と、最小実行時間でテストを実行できる回数によって異なります。完了したテスト実行を5
秒(構成可能)、または少なくとも5
実行(構成可能)次に、サンプルの統計分析を実行します。したがって、テストは100,000
(ほとんどの環境の最小実行時間)で50 ms
回繰り返され、その後繰り返される可能性があります100
倍以上(5
秒)。サンプルサイズが大きい(この例では、100
)の場合、 許容誤差 は小さくなります。
エラーのマージンも考慮して、どのテストが高速であるかは、ops/secだけではありません。たとえば、ops/secが低いが許容誤差が大きいテストは、ops/secが高く、許容誤差が小さいテストと統計的に区別できない場合があります。エラー。
ウェルチのt検定 を使用しましたが、 SunSpider が使用するものと同様ですが、分散が等しい場合は 対応のない2標本のt検定 に切り替えました(分散が非常に小さい)ウェルチのt検定では、低いops /秒と高いops /秒を小さな分散と比較する際に問題が発生したため、- 自由度1
未満として計算されます。また、実際のテストでは、同一のテストがテストから再テストまで〜5.5%
に変動する可能性があることが示されたため、同様のops/secのテストに5%
許容値を追加します。 T検定は、検定間の差が 統計的に有意 であることを確認するために使用されます。
著者からの防弾JavaScriptベンチマークの記事を読むことができます。 Benchmark.js ところで、オープンソースです。