From 2fc99a1f117dfbcde845f9ae156188d776bbdb60 Mon Sep 17 00:00:00 2001 From: Alex Nault Date: Tue, 25 Apr 2023 22:57:06 -0400 Subject: [PATCH] docs: Compare performance with object api (#49) * docs: Add object api perf comparison * Simplify benchmark file --- .github/workflows/ci-and-publish.yml | 4 +- .github/workflows/ci.yml | 2 +- README.md | 2 +- benchmark/index.mjs | 71 ++++++++++++++++++++++++--- media/perf.png | Bin 16335 -> 18475 bytes package-lock.json | 33 ------------- package.json | 1 - 7 files changed, 67 insertions(+), 46 deletions(-) diff --git a/.github/workflows/ci-and-publish.yml b/.github/workflows/ci-and-publish.yml index 86ab67a..42bace1 100644 --- a/.github/workflows/ci-and-publish.yml +++ b/.github/workflows/ci-and-publish.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x, 14.x, 16.x] + node-version: [12.x, 14.x, 16.x, 18.x, 20.x] steps: - uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }} @@ -31,7 +31,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 16 + node-version: 20 registry-url: https://registry.npmjs.org/ cache: npm - run: npm ci diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e31d6f9..2c19edb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - node-version: [12.x, 14.x, 16.x] + node-version: [12.x, 14.x, 16.x, 18.x, 20.x] steps: - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} diff --git a/README.md b/README.md index da43bb1..07cb59c 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ Sources: [classix](https://deno.bundlejs.com?q=classix), [clsx](https://deno.bun ![Performance comparison chart](media/perf.png) -Sources: Ran [benchmark](benchmark/) on an AMD Ryzen 5 5600x. +Sources: Ran [benchmark](benchmark/) on an AMD Ryzen 5 5600x with Node 20. ## Highlights diff --git a/benchmark/index.mjs b/benchmark/index.mjs index 028a195..8e4d9d5 100644 --- a/benchmark/index.mjs +++ b/benchmark/index.mjs @@ -1,14 +1,69 @@ -import benchmark from "benchmark"; +import { performance } from "node:perf_hooks"; import classnames from "classnames"; import { clsx } from "clsx"; import { cx } from "classix"; import { cx as cxLocal } from "../dist/esm/classix.mjs"; -new benchmark.Suite() - .add("classnames", () => classnames("class1", true && "class2")) - .add("clsx", () => clsx("class1", true && "class2")) - .add("classix", () => cx("class1", true && "class2")) - .add("classix (local)", () => cxLocal("class1", true && "class2")) - .on("cycle", (event) => console.log(event.target.toString())) - .run(); +const NB_RUN = 100_000_000; + +function logResult(name, ms) { + const millionsOfOpsPerSecond = ((NB_RUN * 1000) / ms / 1_000_000).toFixed(1); + console.log(`${name}: ${millionsOfOpsPerSecond}M ops/s`); +} + +// Repetition of code was used as to not affect performance +let start = 0; +let stop = 0; + +start = performance.now(); +for (let i = 0; i < NB_RUN; i++) { + classnames("class-1", { "class-2": true }); +} +stop = performance.now(); +logResult("classnames (object)", stop - start); + +// + +start = performance.now(); +for (let i = 0; i < NB_RUN; i++) { + classnames("class-1", true && "class-2"); +} +stop = performance.now(); +logResult("classnames", stop - start); + +// + +start = performance.now(); +for (let i = 0; i < NB_RUN; i++) { + clsx("class-1", { "class-2": true }); +} +stop = performance.now(); +logResult("clsx (object)", stop - start); + +// + +start = performance.now(); +for (let i = 0; i < NB_RUN; i++) { + clsx("class-1", true && "class-2"); +} +stop = performance.now(); +logResult("clsx", stop - start); + +// + +start = performance.now(); +for (let i = 0; i < NB_RUN; i++) { + cx("class-1", true && "class-2"); +} +stop = performance.now(); +logResult("classix", stop - start); + +// + +start = performance.now(); +for (let i = 0; i < NB_RUN; i++) { + cxLocal("class-1", true && "class-2"); +} +stop = performance.now(); +logResult("classix (local)", stop - start); diff --git a/media/perf.png b/media/perf.png index 0235c316f15b27346758b75bada199f112ee11e2..d3111d60afde251da93ddb301f00e14e00ae72b8 100644 GIT binary patch literal 18475 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 literal 16335 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 diff --git a/package-lock.json b/package-lock.json index 259eea9..21054ce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,6 @@ "@typescript-eslint/eslint-plugin": "^5.30.5", "@typescript-eslint/parser": "^5.30.5", "@vitest/coverage-c8": "^0.30.1", - "benchmark": "^2.1.4", "classix": "^2.1.8", "classnames": "^2.3.1", "clsx": "^1.2.1", @@ -1818,16 +1817,6 @@ "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", "dev": true }, - "node_modules/benchmark": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", - "integrity": "sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==", - "dev": true, - "dependencies": { - "lodash": "^4.17.4", - "platform": "^1.3.3" - } - }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -7590,12 +7579,6 @@ "pathe": "^1.1.0" } }, - "node_modules/platform": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", - "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==", - "dev": true - }, "node_modules/postcss": { "version": "8.4.21", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", @@ -10596,16 +10579,6 @@ "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", "dev": true }, - "benchmark": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", - "integrity": "sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==", - "dev": true, - "requires": { - "lodash": "^4.17.4", - "platform": "^1.3.3" - } - }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -14700,12 +14673,6 @@ "pathe": "^1.1.0" } }, - "platform": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", - "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==", - "dev": true - }, "postcss": { "version": "8.4.21", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", diff --git a/package.json b/package.json index 2347a4f..77de6dc 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,6 @@ "@typescript-eslint/eslint-plugin": "^5.30.5", "@typescript-eslint/parser": "^5.30.5", "@vitest/coverage-c8": "^0.30.1", - "benchmark": "^2.1.4", "classix": "^2.1.8", "classnames": "^2.3.1", "clsx": "^1.2.1",