-
Notifications
You must be signed in to change notification settings - Fork 988
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
[question] Why are build_requires
version ranges of dependencies resolved?
#17463
Comments
Hi @mpll-d Thanks for your question. Conan always expand the full dependency graph. That means that For very large dependency graph (many thousands of nodes in the graph), it is possible that some of the checks above take some time. Still 8 minutes seems excessive, even for very large graphs. Can you please report your graph size? Like what is the number of nodes of your graph if you dump it with If you can also share your full output, that might help to understand what is happening. Then, there are mechanisms to avoid this, like:
This |
First of all, thanks for the swift answer.
Where ninja typically is a I think I also got a fix, as I have been reading through the documentation here. I saw that I should store the revs of the conancenter recipes I use on my own server, so I only store what I need, which should be much faster. Thanks for your help! |
That is definitely not large, there are users with thousands of nodes. 4 minutes just resolving the dependency graph is very weird.
Takes around 30 seconds, with a blank cache, using only ConanCenter as remote. I guess that you are using ConanCenter only? If you have your own server, can you test using just your server (pre-uploading the packages there). I often do tests with a local ArtifactoryCE (from our downloads page) running on my machine to investigate issues and rule out client or server issues. It is true that it seems that ConanCenter is slower than usual, we are investigating it, but still seems a different order of magnitude.
For a single dependency? just for the recipe-revision? That looks weird, maybe this is related to the issues in ConanCenter, and is affecting some packages more than others. I'll let the team know, and keep you updated. Regarding the lockfiles questions, maybe lets keep this one focus on the performance issue until we understand it properly, because it shouldn't be that slow, and if you want you can open new tickets for the lockfiles and any other question you might have. Thanks for your feedback. |
What is your question?
Hello Conan people,
I'm currently experiencing (conan v2.10.2) quite slow
conan install
runs on my application (~8 min to run), most of the time being spent on the resolution of version ranges rather than binaries downloads.I noticed that in particular, some of the libs I consume declare
cmake
andninja
astool_requires
, but my package does not.I would suspect that, when building my app that does not list them as
tool_requires
, these packages would just be completely skipped, without spending time on resolving the revision across the various remotes.I cannot fathom why Conan needs to actually look for them, could you clarify this? Otherwise, it would be very nice to optimize away this
tool_require
version range resolution whenconan install
is not called with--build=missing
or similar options.Thanks for your help,
Milan
Have you read the CONTRIBUTING guide?
The text was updated successfully, but these errors were encountered: