-
Notifications
You must be signed in to change notification settings - Fork 485
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(node/bench): avoid affection of codspeed plugin in CI #706
fix(node/bench): avoid affection of codspeed plugin in CI #706
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
✅ Deploy Preview for rolldown-rs canceled.
|
CodSpeed Performance ReportMerging #706 will create unknown performance changesComparing Summary
Benchmarks breakdown
|
776678c
to
ffef85a
Compare
ffef85a
to
edbde92
Compare
Give up so far. I can't make codspeed work right for benchmarking function sleep(ms: number) {
return new Promise((resolve) => setTimeout(resolve, ms))
} |
From my (incomplete) understanding, CodSpeed does not actually measure execution time (wall clock). It measures number of instructions executed and then converts that to milliseconds via some heuristic. I imagine this is why This is why in my hack on Oxc I have it execute meaningless instructions in a loop. That does get measured. If you like, I can submit a PR applying the same technique? |
Free to do it. Just looked your PR again. Nice solution, with this hack we could tracking benchmark rust and nodejs together. Solved my another requirement. |
@overlookmotel please be on hold. I'm thinking dropping codspeed using https://github.com/benchmark-action/github-action-benchmark. |
Sure. Personally, I really like Codspeed. It's just this one problem that is annoying. For benchmarking pure Rust code, it's excellent. |
Description
codspeed has unkown problems for benchmarking program mixed with rust and js. For details:
We now use a hacky solution come up from @overlookmotel. We will first run a real benchmark to collect data, then run facade benchmark of vitest using the previous real benchmark data to pretend doing the bundling work.
Test Plan