Captured results
Lower is faster. Each value is the median of 21 samples at 100,000 operations on an Intel Core Ultra 9 275HX running Windows x64.
Horizontal bars show milliseconds per 100,000 operations. Shorter bars are faster; exact values remain in the table below.
Retained construction
Milliseconds per 100,000 instances
Task-turn scheduling
Milliseconds per 100,000 task turns
| Runtime | Scenario | 2.0.0 · WeakMap | 2.1.0 · private fields | Speedup |
|---|---|---|---|---|
| Node 22.13.0 | Construct retained instances | 78.05 ms | 4.36 ms | 17.92× |
| Node 22.13.0 | Schedule and run task turns | 5.83 ms | 2.43 ms | 2.40× |
| Node 24.18.0 | Construct retained instances | 73.53 ms | 3.97 ms | 18.50× |
| Node 24.18.0 | Schedule and run task turns | 4.51 ms | 2.88 ms | 1.57× |
Download the captured machine-readable results. Timing varies by machine and load; the repeatable conclusion is the direction and scale of the improvement, not a universal millisecond promise.
Method designed to resist flattering results
- Load the exact
2.0.0:stack.cjssource from the repository tag. - Warm both implementations three times before recording samples.
- Alternate which implementation runs first to reduce order bias.
- Force garbage collection before every timed sample.
- Retain every constructed instance through the timed interval so allocations cannot disappear as dead work.
- Validate nonzero checksums for every sample and fail on a behavioral mismatch.
- Report medians rather than a single best run.
The benchmark isolates runner overhead. Real applications also spend time inside their tasks, so end-to-end gains depend on how much work each task performs.
Run it yourself
git clone https://github.com/RIAEvangelist/easy-stack.git
cd easy-stack
npm run benchmarkOverride the sample or operation counts without changing the script:
BENCHMARK_SAMPLES=31 BENCHMARK_ITERATIONS=200000 npm run benchmarkThe command emits JSON with the runtime, V8 version, platform, processor, methodology, medians, and computed speedups. CI also uploads a fresh benchmark artifact for each successful main build.
Next pageMigration guidance →