diff options
author | Harmen Stoppels <harmenstoppels@gmail.com> | 2023-08-17 08:08:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-17 08:08:50 +0200 |
commit | 190a1bf5238279a53b85fdad9e1b3f2a44689ae9 (patch) | |
tree | 171faa4f45e3783a3c10ed7ffc958abc52dc1a7e /pytest.ini | |
parent | e381e166ec27bb56c2d3bc856e7020224a005d1d (diff) | |
download | spack-190a1bf5238279a53b85fdad9e1b3f2a44689ae9.tar.gz spack-190a1bf5238279a53b85fdad9e1b3f2a44689ae9.tar.bz2 spack-190a1bf5238279a53b85fdad9e1b3f2a44689ae9.tar.xz spack-190a1bf5238279a53b85fdad9e1b3f2a44689ae9.zip |
Delay abstract hashes lookup (#39251)
Delay lookup for abstract hashes until concretization time, instead of
until Spec comparison. This has a few advantages:
1. `satisfies` / `intersects` etc don't always know where to resolve the
abstract hash (in some cases it's wrong to look in the current env,
db, buildcache, ...). Better to let the call site dictate it.
2. Allows search by abstract hash without triggering a database lookup,
causing quadratic complexity issues (accidental nested loop during
search)
3. Simplifies queries against the buildcache, they can now use Spec
instances instead of strings.
The rules are straightforward:
1. a satisfies b when b's hash is prefix of a's hash
2. a intersects b when either a's or b's hash is a prefix of b's or a's
hash respectively
Diffstat (limited to 'pytest.ini')
0 files changed, 0 insertions, 0 deletions