Skip to content

Latest commit

 

History

History
54 lines (37 loc) · 1.34 KB

File metadata and controls

54 lines (37 loc) · 1.34 KB

node-microbenchmark

npm version

A micro benchmarking library inspired from google-benchmark

Features available:

  • Benchmarking synchronous functions
  • Benchmarking of asynchronous functions
    • Support for Promises
  • High precision benchmark (upto nanoseconds precision)

Benchmarking of synchronous functions

const { benchmark, show } = require('node-microbenchmark');

const slowFn = () => {
    for (var i = 0; i < 1e4; ++i);
}

const fastFn = () => {}

benchmark(slowFn);
benchmark(fastFn);

show();

Benchmarking of asynchronous functions

const benchmark = require('../index');

const slowTimer = () => new Promise(res => setTimeout(res, 200));
const fastTimer = () => new Promise(res => setTimeout(res, 50));

const fn = async () => {
  await benchmark.benchmarkPromise(slowTimer);
  await benchmark.benchmarkPromise(fastTimer);
  benchmark.show();
};

fn();

node-microbenchmark

Future enhancements

  • Benchmark async code like promises.

Author