Hacker News new | ask | show | jobs
by ziofill 572 days ago
Is the opposite possible? I mean to have the dependency resolver use a sat solver? Would it be faster/slower?
2 comments

The Conda package manager is available to users of the Anaconda/Miniconda distribution, which is very popular. Conda uses a sat solver for dependency resolution. It's a lot slower than pip, but it's not a thing that has to happen often enough for that to be a problem.

It's a good thing, however, that using conda doesn't preclude one from also using pip.

Conda indeed is slow. However, mamba is a drop in replacement for Conda and uses a way faster solver, which makes it a lot more palatable.
Does it use a sat solver that has better average-case behavior, or does it sacrifice on full sat solvability?
Without fully solving it, it is impossible to install packages. This is my anecdote but I find Mamba better at solving tricky dependency requirements like certain version of Python and a certain version of Pytorch with Cuda support and a certain protobuf version.
Totally possible. Some dependency resolvers use a sat solver. The speed depends on the solver and optimizations in the solver vs resolver.