Skip to content

benchmarks: add dependency-heavy package workload#65

Open
sonukapoor wants to merge 1 commit intowasmerio:mainfrom
sonukapoor:feature/benchmark-dependency-heavy-workload
Open

benchmarks: add dependency-heavy package workload#65
sonukapoor wants to merge 1 commit intowasmerio:mainfrom
sonukapoor:feature/benchmark-dependency-heavy-workload

Conversation

@sonukapoor
Copy link
Copy Markdown
Contributor

Summary

Add a narrow dependency-heavy/package-execution benchmark workload and wire it into the benchmark runner.

This PR adds:

  • benchmarks/workloads/dependency-heavy-package.js
  • a small local package-like fixture graph under benchmarks/workloads/fixtures/dependency-heavy-package/
  • run.sh entry for dependency-heavy-package
  • benchmarks/README.md notes for what this workload isolates and does not measure

What it measures

  • module-loader plus execution cost on a multi-file dependency graph
  • package-style code paths beyond startup-only micro workloads
  • short-lived execution where import graph shape matters

What it does not measure

  • third-party package install or registry/network fetch cost
  • very large real-world dependency trees
  • framework-level startup and steady-state behavior

Verification

./build-edge/edge benchmarks/workloads/dependency-heavy-package.js
node benchmarks/workloads/dependency-heavy-package.js
bun benchmarks/workloads/dependency-heavy-package.js
deno run benchmarks/workloads/dependency-heavy-package.js

WARMUP=5 RUNS=30 ./benchmarks/run.sh dependency-heavy-package

All runtimes produced the same checksum locally for the direct workload command.

Local checkpoint (WARMUP=5, RUNS=30)

  • edge: 60.8 ms
  • node: 38.6 ms
  • bun: 19.5 ms
  • deno: 30.8 ms

This is a narrow surface checkpoint and not a broad runtime verdict.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant