2016-06-05 3 views
0

У меня есть это jsfiddle, где я пытаюсь измерить производительность для какой-либо работы с моим интересом, и я постоянно получаю различную точность для отдельных тестов. Например вот мой последний прогон:Как повысить точность отдельных тестов в benchmark.js

using extra assign x 662 ops/sec ±9.20% (57 runs sampled) 
using no extra assign x 694 ops/sec ±4.31% (47 runs sampled) 
Fastest run(s) is(are): "using no extra assign,using extra assign" 

Это трудно измерить результаты, которые имеют разную точность, которая в некоторых случаях может быть столько же, сколько ±30.0%, и поэтому я хотел бы, чтобы иметь возможность установить приемлемую границу для точность.

Я пытался настроить параметры, но они, похоже, не влияют ни на что, или я делаю что-то неправильно. Что я делаю не так?

Спасибо заранее!

ответ

0

Добавление опции minSamples к каждому эталону и установка его на более высокий уровень заставит benchmark.js брать больше образцов для каждого теста. Наличие большего набора образцов должно уменьшить погрешность (MOE). Играйте с размером выборки, чтобы определить желаемый баланс между точностью и продолжительностью теста.

Это пример использования кода вы предоставили в jsfiddle:

suite 
.add('using extra assign', test1, { minSamples: 200 }) 
.add('using no extra assign', test2, { minSamples: 200 }) 

Из этих изменений, следующие результаты производятся:

using extra assign x 642 ops/sec ±0.74% (240 runs sampled) 
using no extra assign x 637 ops/sec ±0.44% (258 runs sampled) 
Fastest run(s) is(are): "using extra assign" 
Смежные вопросы