Performance using conda-lock in subsequent runs
Hi everyone,
First of all thanks for the excellent tool!
We've observed a curious performance characteristic when using conda-lock install, specifically regarding its execution time when no environment or filesystem changes have occurred.
For example, on my machine, a consecutive execution of conda lock install --name env-py310 .py310.win-64.conda-lock.yml (immediately after a successful initial run, with no modifications to the environment or lock file) consistently takes approximately 2 minutes and 10 seconds. This behavior is not isolated to a specific lock file.
For context, I tried the same workflow using pixi. While the first execution is comparable (around one minute or two), subsequent runs with no changes complete in less than a second (around 600ms). This comparison is not meant to disparage conda-lock, but rather to highlight that a faster "do nothing" execution is possible in theory.
We're interested in understanding if this is expected, or if there are other strategies or configurations that we might be overlooking?
Thanks a lot @nicoddemus for the suggestion. This behavior is indeed expected with the current suboptimal implementation.
Does the proposal in https://github.com/conda/conda-lock/issues/751 cover what you're suggesting? I'm planning to look into this after resolving https://github.com/conda/conda-lock/issues/639.
Thanks @maresb for the reply!
Left a comment in #751.