Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

pip-benchmark-node

pip-benchmark52MIT2.1.4TypeScript support: included

Portable Benchmarking Framework in Node.js

pip.benchmark, performance, benchmarks, framework

readme

Pip.Services Logo
Portable Benchmarking Framework in Node.js

This benchmarking framework ported cross multiple languages to obtain comparible performance metrics across different implementations. In addition to performance benchmarking, it helps in other types of non-functional testing like load, reliability or concurrency.

  • Measures performance in transactions per second or TPS
  • Supports active (by calling Execute method) or passive (by reporting via Context) measurement methods
  • Supports configuration parameters to set connection strings or other settings for benchmarks
  • Runs benchmarks sequential or in proportional by allocating % of calls to each benchmark
  • Measures peak or nominal measurement at specified transaction rate
  • Measures system utilization (RAM and CPU) during benchmarking process
  • Measures overall environment performance (CPU, Video, Disk) for objective interpretation of results
  • Capture and errors or validation results
  • Console runner to execute benchmarks

Usage

To run benchmark do the following

node ./benchmark.js -a <path to suite> -b <benchmark name> -p <param>=<value>

To show available benchmarks

node ./benchmark.js -a <path to suite> -B

To show available parameters

node ./benchmark.js -a <path to suite> -P

To measure environment (CPU, video, disk)

node ./benchmark.js -e

Installation

TBD...

Acknowledgements

This module created and maintained by Sergey Seroukhov.

changelog

Portable Benchmarking Framework in Node.js Changelog

2.1.0 (2020-11-18)

Features

  • Added BenchmarkBuilder
  • Added ConsoleBenchmarkBuilder

2.0.0 (2017-02-06)

Complete refactoring of benchmark runner

Breaking Changes

  • Runner API was completely changed

1.0.0 (2017-01-28)

Initial public release

Features

  • benchmarks Code is structured as Benchmark and BenchmarkSuite classes
  • passive Passive benchmarks that perform and report their own measurements
  • sequencial Sequencial execution of benchmarks. Each benchmark runs for specified duration
  • proportional Proportional execution of benchmarks. Each benchmark is called proportionally
  • peak Peak measurement makes maximum number of calls, one after another without wait
  • nominal Nominal measurement tries to maintain specified call rate while measuring system load
  • environment Taking key environment benchmarks (CPU, Video, Disk) to report for objective interpretation of results
  • runner Console runner to execute benchmarks

Breaking Changes

No breaking changes since this is the first version

Bug Fixes

No fixes in this version