I've been using Spack Environments for a while now, and so far my biggest complaint is the performance. On an NFS cluster in particular, it can take upwards of 15 minutes just to concretize an environment. Things are particularly bad when the environment is partially installed, as most of the time is spent updating the environment, not actually concretizing anything. I've even noticed that commands like spack edit or spack help will take orders of magnitude longer if I'm running them from a directory containing a spack.yaml. If I run spack -d concretize, I notice that we are acquiring and releasing locks on Spack's database thousands of times. Is there any way we can hold on to the lock until another process requests it so we don't need all this overhead?
@tgamblin
I've been using Spack Environments for a while now, and so far my biggest complaint is the performance. On an NFS cluster in particular, it can take upwards of 15 minutes just to concretize an environment. Things are particularly bad when the environment is partially installed, as most of the time is spent updating the environment, not actually concretizing anything. I've even noticed that commands like
spack editorspack helpwill take orders of magnitude longer if I'm running them from a directory containing aspack.yaml. If I runspack -d concretize, I notice that we are acquiring and releasing locks on Spack's database thousands of times. Is there any way we can hold on to the lock until another process requests it so we don't need all this overhead?@tgamblin