🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

@codspeed/benchmark.js-plugin

Package Overview
Dependencies
Maintainers
2
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@codspeed/benchmark.js-plugin

Benchmark.js compatibility layer for CodSpeed

4.0.1
latest
Source
npm
Version published
Weekly downloads
15K
20.72%
Maintainers
2
Weekly downloads
 
Created
Source

@codspeed/benchmark.js-plugin

Benchmark.js compatibility layer for CodSpeed

CI npm (scoped) Discord CodSpeed Badge

Documentation

Check out the documentation for complete integration instructions.

Installation

First, install the plugin @codspeed/benchmark.js-plugin and benchmark.js (if not already installed):

npm install --save-dev @codspeed/benchmark.js-plugin benchmark.js

or with yarn:

yarn add --dev @codspeed/benchmark.js-plugin benchmark.js

or with pnpm:

pnpm add --save-dev @codspeed/benchmark.js-plugin benchmark.js

Usage

Let's create a fibonacci function and benchmark it with benchmark.js and the CodSpeed plugin:

import Benchmark from "benchmark";
import { withCodSpeed } from "@codspeed/benchmark.js-plugin";

function fibonacci(n) {
  if (n < 2) {
    return n;
  }
  return fibonacci(n - 1) + fibonacci(n - 2);
}

const suite = withCodSpeed(new Benchmark.Suite());

suite
  .add("fibonacci10", () => {
    fibonacci(10);
  })
  .add("fibonacci15", () => {
    fibonacci(15);
  })
  .on("cycle", function (event: Benchmark.Event) {
    console.log(String(event.target));
  })
  .run();

Here, a few things are happening:

  • We create a simple recursive fibonacci function.
  • We create a new Benchmark.Suite instance with CodSpeed support by using the withCodSpeed helper. This step is critical to enable CodSpeed on your benchmarks.
  • We add two benchmarks to the suite and launch it, benching our fibonacci function with 10 and 15.

Now, we can run our benchmarks locally to make sure everything is working as expected:

$ node benches/bench.mjs
[CodSpeed] 2 benches detected but no instrumentation found
[CodSpeed] falling back to benchmark.js

fibonacci10 x 2,155,187 ops/sec ±0.50% (96 runs sampled)
fibonacci15 x 194,742 ops/sec ±0.48% (95 runs sampled)

And... Congrats🎉, CodSpeed is installed in your benchmarking suite! Locally, CodSpeed will fallback to tinybench since the instrumentation is only available in the CI environment for now.

You can now run those benchmarks in your CI to continuously get consistent performance measurements.

Keywords

codspeed

FAQs

Package last updated on 24 Mar 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts