CodSpeedHQ
codspeed-node
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Optimizations
Branches
Benchmarks
Runs
Performance History
Latest Results
fix(vitest-plugin): escape backslashes in the isolated benchmark glob Separators are already normalized to slashes; escaping every glob metacharacter, backslash included, makes the escaping complete.
cod-3960-implement-process-isolation-in-codspeed-node
5 hours ago
fix(core): keep the event loop free while forks run runForks waited for each fork with spawnSync, blocking a Vitest worker's RPC with its main process for the whole run of all forks.
cod-3984-walltime-gc-and-forks
5 hours ago
fix(core): keep the event loop free while forks run runForks waited for each fork with spawnSync, blocking a Vitest worker's RPC with its main process for the whole run of all forks.
cod-3984-walltime-gc-and-forks
5 hours ago
fix(core): keep the event loop free while an isolated child runs Isolation.run waited for the child with spawnSync. In a Vitest worker that blocked the worker's RPC with its main process for the whole child run, and under the simulation instrument the calls timed out (Timeout calling "onTaskUpdate"), failing the run.
cod-3960-implement-process-isolation-in-codspeed-node
5 hours ago
fix(vitest-plugin): wait for any thenable before GC between rounds A beforeEach hook returning a promise from another realm or a thenable failed the instanceof check, so the GC ran before the hook finished.
cod-3984-walltime-gc-and-forks
5 hours ago
fix(benchmark.js-plugin): call complete listeners in isolated children A child skipped the complete listeners of runs that don't own its benchmark, so a benchmark started from such a listener was never measured.
cod-3960-implement-process-isolation-in-codspeed-node
5 hours ago
feat(vitest-plugin): halve the walltime budget of each fork With several forks, every fork paid the full warmup and measurement budget on top of its process startup, so F forks cost F full runs. Each fork now runs half the time and ceil(half) the rounds of both phases. A single fork keeps the full budget.
cod-3984-walltime-gc-and-forks
6 hours ago
fix(core): exclude the running node executable from callgrind The runner only passes `--obj-skip` for the `node` it resolves on PATH. When benchmarks run another binary, such as one provided by a Bazel toolchain, callgrind records the whole V8 runtime between the JS frames: thousands of native functions that drown the flamegraph and make it expensive to process. Register `process.execPath` on callgrind's obj-skip list in `setupCore`, through the instrument-hooks client request, as pytest-codspeed does for the Python executable. It runs before any benchmark starts the instrumentation, and is a no-op outside Valgrind.
main
8 hours ago
Latest Branches
CodSpeed Performance Gauge
-77%
feat: run each benchmark in its own process
#101
5 hours ago
860d65c
cod-3960-implement-process-isolation-in-codspeed-node
CodSpeed Performance Gauge
-1%
feat(vitest-plugin): add walltime forks and GC between rounds
#111
5 hours ago
4353e5d
cod-3984-walltime-gc-and-forks
CodSpeed Performance Gauge
-13%
fix(core): exclude the running node executable from callgrind
#102
6 days ago
727b808
fix/obj-skip-running-node-executable
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs