Figure out what want-mass-query does and potentially remove it? #394

Open
opened 2024-06-15 03:07:32 +00:00 by jade · 0 comments
Owner

As far as I can tell, want-mass-query affects exactly one conditional here: b8cb7abcf0/src/libstore/local-store.cc (L1087)

Notably, there are other cases where we call queryValidPaths, so I don't know why it is behind a setting for substitution. I am guessing it might be related to very busted store backends like the ssh one that have horrible latency.

The only thing that actually calls this functionality is --prebuilt-only and picking versions in nix-env. Which, uhhhhhhhhhhh. This is very badly documented. Also, part of its use in nix-env is mildly horrifying: it selects derivation versions by substitutability. I could see it being reasonable for stuff like Haskell where there's one preferred version that is built, and the others aren't, but, man this is a bad idea.

Is this why nix-env -i without -A is so slow?! Wow.

As far as I can tell, `want-mass-query` affects exactly one conditional here: https://git.lix.systems/lix-project/lix/src/b8cb7abcf08be01a291c970164a3f44dfca0ddbf/src/libstore/local-store.cc#L1087 Notably, there are other cases where we call `queryValidPaths`, so I don't know why it is behind a setting for substitution. I am guessing it might be related to very busted store backends like the ssh one that have horrible latency. The only thing that actually calls this functionality is `--prebuilt-only` and picking versions in `nix-env`. Which, uhhhhhhhhhhh. This is very badly documented. Also, part of its use in `nix-env` is mildly horrifying: it selects derivation versions by *substitutability*. I could see it being reasonable for stuff like Haskell where there's one preferred version that is built, and the others aren't, but, *man* this is a bad idea. Is this why `nix-env -i` without `-A` is so slow?! Wow.
jade added the
Area/store
label 2024-06-15 03:07:32 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lix-project/lix#394
No description provided.