-
Notifications
You must be signed in to change notification settings - Fork 737
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
Run resolve/install benchmarks in ci #3281
Conversation
CodSpeed Performance ReportCongrats! CodSpeed is installed 🎉
You will start to see performance impacts in the reports once the benchmarks are run from your default branch.
|
Hmm it doesn't look like the benchmarks are running correctly under Codspeed, the performance report is showing the resolve/install benchmarks running in microseconds. |
Hey @ibraheemdev, I am a co-founder at @CodSpeedHQ!
Yes, running arbitrary executables in a benchmark with CodSpeed will not give out relevant results, as most of the compute is done in a new process that is not instrumented. For example, calling uv/crates/uv/src/commands/pip_compile.rs Line 52 in 2af80c2
https://github.com/ibraheemdev/uv/blob/4ebdc40f60562c05559ac6331abe1a56275e2c8b/crates/bench/benches/uv.rs#L41-L42. Hope that helps you a bit 😃 |
@adriencaccia Thanks! I suspected we would have to do this eventually, but didn't realize CodSpeed didn't support processing external commands at all. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, thank you! Open to giving this a shot. Do we have any sense for what the variance/noise will look like?
I tested it out on my fork at adriencaccia#1, and I have the following variance results for 101 runs on the same commit:
It is fairly stable, so you should be able to set a low regression threshold to around 5% 🙂 |
Awesome, thanks so much Adrien! |
Hm I don't see the resolver benchmarks there — I'd expect the distribution filename benches to be very stable but the resolver ones are probably less so. |
Looks like there's something wrong and the resolver benches are missing on the latest commit. |
I forgot to use the |
@ibraheemdev let me know when you want me to run variance checks again on the new benchmarks |
@adriencaccia can you run them now? I'm also curious why benchmarks seem to be running ~15x slower on CodSpeed than locally, is it using an aggregate time instead of per-run? |
Alright, I started them. Will post the results once they are done 😉
This is because we run the code with |
Results with the new benchmarks:
Indeed, it seems that |
Maybe we remove the Black test? It seems like the variance is way higher than the Jupyter test. |
I wonder why that is. It shouldn't be that different? (as far as variance) |
@zanieb It's probably that the actual resolve step is faster, so the benchmark is more influenced by other factors (file I/O, etc.) |
I'm going to go ahead and merge this with just the jupyter benchmark. We'll see how consistent/useful the reports are. |
Summary
Runs resolver benchmarks in CI with codspeed.