-
Notifications
You must be signed in to change notification settings - Fork 525
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
Update / Add / Remove a project does a full update #330
Comments
Ah I think I misinterpreted your tweets. The current algorithm works like this:
I think I see a optimization opportunity. We don't really have to ask nuget feeds for all available versions here. This step is what takes the longest time. |
Yes. If you e.g. add a new package that has zero dependencies (or even some dependencies but all of which are new) then there is no need to go through the existing dependencies chain; the same applies to removal or update. The only part of the graph that should receive an update is the section that is affected by the operation IMHO. |
that's not really trivial to do ;-) let start with something simple and try to get rid of the some of the OData calls. |
Thought not, let's start out simple :-) |
does 0.12.1 improve things for you? |
Will test tomorrow, cheers. |
Yes seems to be quicker now for updates. :-) |
I went through my time-machine immediately after writing that and just came out this morning. So as far as I'm concerned it's only been one day. |
Seriously though - as part of the ongoing refactor, would it be useful to be able to parse the lock file into a proper tree structure to allow us to ask questions like "this dependency has changed, what other dependencies do I need to check"? |
yes that sounds like a good idea. |
When doing either an add of a new dependency or a removal or update of an existing dependency, Paket goes through lots more dependencies in the update path. When using just the official nuget feed it's not so bad, but if you're using external (slower) feeds it can take ages e.g. for the feed below it takes around 20 seconds but when I add in multiple sources it takes > 6 minutes. Perhaps that's a separate issue but there should also be a way to say "yes, this dependency is from Nuget but only look in a specific nuget repository" otherwise it massively increases the amount of searching that needs doing.
Sample dependencies file: -
The text was updated successfully, but these errors were encountered: