nimble icon indicating copy to clipboard operation
nimble copied to clipboard

nimble reevaluates every package in nimble dir

Open SolitudeSF opened this issue 1 year ago • 5 comments

nimble reevaluates every package in nimble dir. if your global nimble dir is polluted, it makes a simple nimble build take multiple minutes to run.

SolitudeSF avatar Jan 13 '25 22:01 SolitudeSF

Is this specific to solver:sat or it does take a similar amount of time when using solver:legacy? Thanks

jmgomez avatar Jan 14 '25 08:01 jmgomez

with solver:legacy it evaluates much less packages, but still more than required. for my package with single dependency and no transitive dependencies, it still for some reason evaluated 4 additional completely unrelated packages.

SolitudeSF avatar Jan 14 '25 09:01 SolitudeSF

The issue is mostly that it is slow to evaluate the packages, but sat does need to go over them upfront. We are going to make it faster soon. In the meantime, you may benefit from using local which will be the new default soon.

jmgomez avatar Jan 14 '25 11:01 jmgomez

is package cache supposed to be stored in tmp? issue would also not be present, if it used persistent cache location, so nimble didn't need to reevaluate everythign after every reboot, but i have no clue, if package cache is supposed to be invalidated regularly.

SolitudeSF avatar Jan 14 '25 13:01 SolitudeSF

is package cache supposed to be stored in tmp?

Only for the legacy solver and in some edge cases. There is a pkgcache folder but thats orthogonal to the reason of why it takes that long. We cant cache sat just yet as the way nimble requires works today isnt deterministic with a cache in front. But we are aiming into that direction

jmgomez avatar Jan 14 '25 15:01 jmgomez