feat: add MacOS support#81
Conversation
Merging this PR will degrade performance by 54.04%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Memory | test_recursive_cached_fibo_30 |
1 B | 29,968 B | -100% |
| ❌ | Simulation | test_recursive_fibo_10 |
139 µs | 276.3 µs | -49.67% |
| ❌ | WallTime | switch 2 |
300 ns | 336 ns | -10.71% |
| ⚡ | Memory | wait 1ms |
16 B | 10 B | +60% |
| ⚡ | Simulation | one |
589.9 µs | 402.7 µs | +46.5% |
| ⚡ | WallTime | test sync baz 10 |
384 ns | 324 ns | +18.52% |
| ⚡ | WallTime | switch 1 |
324 ns | 276 ns | +17.39% |
| ⚡ | WallTime | test sync baz 10 |
360 ns | 312 ns | +15.38% |
| ⚡ | Simulation | wait 500ms |
12.2 ms | 10.7 ms | +14% |
| ⚡ | WallTime | iterative fibo 15 |
312 ns | 276 ns | +13.04% |
| ⚡ | WallTime | iterative fibo 20 |
360 ns | 324 ns | +11.11% |
| ⚡ | WallTime | test_iterative_fibo_10 |
396 ns | 360 ns | +10% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing cod-2720-bump-instrument-hooks-in-codspeed-node-to-support-macos (f2b5162) with main (4dae798)
f0b1349 to
3982c34
Compare
32c3b31 to
1d75a61
Compare
Greptile SummaryThis PR adds macOS walltime support to the CodSpeed Node.js plugins by replacing the
Confidence Score: 4/5Safe to merge once the staging upload URL is resolved; the measurement logic changes are well-structured. The macOS CI job hardcodes the staging upload URL, meaning every macOS benchmark upload silently goes to staging rather than production. No macOS walltime data will ever appear in the production dashboard until this is corrected. All other changes look correct. .github/workflows/codspeed.yml — the Important Files Changed
|
| working-directory: packages/vitest-plugin | ||
| run: pnpm turbo run bench --env-mode=loose --filter=@codspeed/vitest-plugin | ||
| mode: walltime | ||
| runner-version: branch:sip-resign-exec-redirect |
There was a problem hiding this comment.
Mutable branch reference for
runner-version
runner-version: branch:sip-resign-exec-redirect points to a live branch that can be force-pushed or rebased at any time. If the branch tip changes between two benchmark runs, the profiling behaviour changes silently, making measurement results non-comparable across commits. Consider pinning to a specific commit SHA or tag once the feature branch is stable, e.g. runner-version: sha:<commit>.
884b240 to
762c0d8
Compare
Unable to generate the flame graphsThe performance report has correctly been generated, but there was an internal error while generating the flame graphs for this run. We're working on fixing the issue. Feel free to contact us on Discord or at support@codspeed.io if the issue persists. |
762c0d8 to
93cf800
Compare
| # twice for one commit is not supported. | ||
| run: pnpm turbo run bench --env-mode=loose --filter=@codspeed/vitest-plugin -- macos | ||
| mode: walltime | ||
| runner-version: branch:sip-resign-exec-redirect |
There was a problem hiding this comment.
dont forget to drop this
Add benches/macos.bench.ts guarded with describe.skipIf(!darwin) so it only runs on macOS, and wire the walltime-macos-test CI job to execute it via a direct `node vitest.mjs bench --run macos` invocation.
93cf800 to
e08c11f
Compare
| run: pnpm turbo run bench --env-mode=loose --filter=@codspeed/vitest-plugin -- macos | ||
| mode: walltime | ||
| runner-version: branch:main | ||
| upload-url: https://api.staging.preview.codspeed.io/upload |
There was a problem hiding this comment.
Staging upload URL will suppress macOS results in production
upload-url: https://api.staging.preview.codspeed.io/upload routes every upload from this job to the staging environment. macOS benchmark results will never appear in the production CodSpeed dashboard for any commit — the data lands in staging silently. If the intent was to test the macOS runner before going to production, this URL should be removed (or replaced with the production endpoint) once validation is complete.
Congrats! CodSpeed is installed 🎉
You will start to see performance impacts in the reports once the benchmarks are run from your default branch.
|
No description provided.