Timing boundary
Only operation execution reaches the charts.
Each fixed-count sample takes exactly two high-resolution clock readings around execute(operations). The chart divides measured nanoseconds by completed operations and summarizes seven samples.
Excluded from every chart value
- Emitter and handler setup
- Behavior validation and assertions
- Iteration calibration
- JIT warmup
- Post-run verification and checksum comparison
- Summary calculation and formatting
- JSON serialization and file I/O
- Node startup and CI orchestration
Included
- The exact public calls printed beside each bar
- Minimal observable handler bodies during dispatch
- Allocation required by the measured API, such as
list snapshots - The fixed-count loop branch required to repeat an operation
Timed handler effects become post-run checksums, proving every subscriber ran. No synthetic baseline is subtracted; subtraction can amplify JIT noise and create a value that was never directly observed.
Published benchmark environment
| Package | event-pubsub@6.1.1 |
| Source commit | loading |
| Node / V8 | loading / loading |
| Platform | loading · loading · loading |
| CPU | loading · loading logical CPUs |
| Clock | process.hrtime.bigint |
| Statistic | median with p25 and p75 |
| Samples | 7 |
Loading current CI environment…
Reproduce locally
npm ci
npm run benchmark
Inspect the evidence
The JSON includes every sample’s operation count, elapsed nanoseconds, latency, derived throughput, and checksum.