-
Notifications
You must be signed in to change notification settings - Fork 36
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
Build a benchmark based on UV slow case #191
Comments
How to use uv, a python dependency resolver, as benchmark. The example we are using,
|
After a lot of work, I have been able to reproduce your set up. Here is a profile I was able to collect https://share.firefox.dev/43ioU30 by hacking in a Here is a profile of running it through our normal Definitely more investigation is required. |
I ran the new benchmark file on the
Using lots of dirty hacks I was able to instrument
This time I took the output of my instrumented uv street without any hand fixes. |
I'm seeing |
That does make The |
In my work using PubGrub for Cargo packages I am now also seeing an extraordinary amount of time in Should we expose that information to our user? And if so how? If not, should we weaken our contract with prioritize so that it gets called less before backtracking? |
Fwiw we changed the prioritization in uv so that packages with more concrete specifiers get prioritized over less specific ones (https://github.com/astral-sh/uv/blob/981661c4af9f5ed1a9cccbef9f87fd7c7c8c8b7d/crates/uv-resolver/src/pubgrub/priority.rs) |
Our production user is hitting slow cases in ways that are hard for us to optimize separately. We should have clear instructions for how to reproduce the slow cases they are hitting, and also similarly simulacrums of them that can be run with less infrastructure. cc #177
The text was updated successfully, but these errors were encountered: