Package Exports
- asyncmark
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (asyncmark) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
AsyncMark
A benchmarking library for javascript that supports Promise.
You can try benchmark on the web.
be simple
import { Benchmark } from 'asyncmark';
new Benchmark(function() {
return new Promise((resolve, reject) => {
setTimeout(resolve, 100);
});
}).run().catch(console.error);
be customizable
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));
with unit test
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.
});
});
installation
Node.js
$ npm install asyncmark
ES6
import { Benchmark, Suite } from 'asyncmark';
CommonJS
const AsyncMark = require('asyncmark');
const Benchmark = AsyncMark.Benchmark;
const Suite = AsyncMark.Suite;
Browser
<script src="https://unpkg.com/asyncmark"></script>
<script>
const Benchmark = AsyncMark.Benchmark;
const Suite = AsyncMark.Suite;
</script>