У меня есть две функции; один - асинхронный (testAsync
), а один - синхронизация (testSync
). Я пытаюсь использовать их с benchmark.js. Какой из них быстрее и насколько. Они должны оба выбросить ошибку.Бенчмаркинг асинхронный и синхронный код, который вызывает ошибку
Я смущен тем, как я должен: а) настроить асинхронный тест; b) убедиться, что тестовые учетные записи выдают ошибку для каждой функции.
Вот что я получил:
import Benchmark from 'benchmark'
var suite = new Benchmark.Suite;
// add tests
suite.add('query validation test sync', function(deferred) {
try {
testSync({'name': 'reggi'});
} catch (e) {
deferred.resolve();
}
})
.add('query validation test async', function(deferred) {
testAsync({'name': 'reggi'}, {})
.then(deferred.resolve)
.catch(deferred.resolve);
})
// add listeners
.on('cycle', function(event) {
console.log(String(event.target));
})
.on('error', function(event) {
console.log(String(event.target));
})
.on('complete', function() {
console.log('Fastest is ' + this.filter('fastest').map('name'));
})
// run async
.run({ 'async': true });