asyncmark
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

AsyncMark

A benchmarking library for javascript that supports Promise.

NPM

Test Status Test Coverage Maintainability

dependencies Status devDependencies Status optionalDependencies Status

license docs

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> 

/asyncmark/

    Package Sidebar

    Install

    npm i asyncmark

    Weekly Downloads

    2

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    253 kB

    Total Files

    16

    Last publish

    Collaborators

    • macrat