A benchmarking library for javascript that supports Promise.
You can try benchmark on the web.
import { Benchmark } from 'asyncmark';
new Benchmark(function() {
return new Promise((resolve, reject) => {
setTimeout(resolve, 100);
});
}).run().catch(console.error);
import { Suite } from 'asyncmark';
const suite = new Suite({
name: 'ways to find a character',
beforeEach() {
this.text = 'hello world';
},
parallel: true,
});
suite.add(function() {
/o/.test(this.text);
});
suite.add({
name: 'String#indexOf',
before() {
console.log('starting String#indexOf...');
},
fun() {
this.text.indexOf('o') > -1;
},
});
suite.add(new Benchmark({
name: 'String#match',
fun() {
Boolean(this.text.match(/o/));
},
after(result) {
console.log('String#match is done! ' + result);
},
}));
suite.run()
.then(results => {
let min = results[0];
results.forEach(x => {
if (min.average > x.average) {
min = x;
}
});
console.log(min.name + ' is best way!');
})
.catch(err => console.error(err));
import { Benchmark } from 'asyncmark';
describe('benchmark test', function() {
it('foobar', async function() {
const result = await new Benchmark(function() {
# do_something
}).run();
result.assert("<100ms"); # expect faster than 100ms.
});
});
$ npm install asyncmark
import { Benchmark, Suite } from 'asyncmark';
const AsyncMark = require('asyncmark');
const Benchmark = AsyncMark.Benchmark;
const Suite = AsyncMark.Suite;
<script src="https://unpkg.com/asyncmark"></script>
<script>
const Benchmark = AsyncMark.Benchmark;
const Suite = AsyncMark.Suite;
</script>