4 ms·
I tried conda on a couple of occasions, but it always took an absurd amount of time for dependency resolution (upwards of a minute on average hardware and small
by hansvm 6y ago
I tried conda on a couple of occasions, but it always took an absurd amount of time for dependency resolution (upwards of a minute on average hardware and smallish projects with a few heavyweight dependencies like numpy). Is that aspect better now?
- disgruntledphd2 6y agoNope, but it's worth it to find out about dependency problems before the installation, rather than after. Conda also handles C/C++ libraries well, which is a must if you're packaging DS/ML code for Python.
- hansvm 6y agoOh, so does Conda proactively download metadata as part of its resolution process (as opposed to, e.g., greedily downloading immediate dependencies and walking that tree, which is what I assume Pip does?)?
- philipov 6y agoIt's still slow. The reason it's slow is because they use a complete SAT solver to do the resolution. So, it's slow, but it's also thorough. It gives some insight into why pip's dependency management is not thorough: they're clearly sacrificing completeness for performance.
- hansvm 6y agoAs another data point, emerge has a noticeable delay (a few seconds, up to 10 or so for deep dep trees), but it does a full resolution and isn't using all cores (or isn't using them well anyway -- total utilization is under 15% while resolution is underway). It's much faster than conda on similar machines. Is conda making a bunch of network calls as part of its resolution process?
- Doxin 6y agoNote that pip has recently gotten a proper version resolver. It's still plenty of fast, but it's also definitely possible to run into degenerate cases for which it will never finish.