You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Derivations: How many derivations does this solution use to compile Rust code?
“1” means the project and all its dependencies are compiled in one derivation.
“2” means all dependencies are moved into a separate derivation, so the project can be updated independently, but any change to the set of dependencies rebuilds everything.
“Many” means each dependency is built in its own derivation, so changes to dependencies only do the minimal amount of rebuilding necessary (and, ideally, different projects can share dependencies, although I haven’t checked if this works in practice).
a fundamental problem of nix are the long build times
when a complex build fails, you have to rebuild from scratch, and you cannot share compilation results between builds
if you have lots of money (and a cheap energy source), you "just buy a faster computer" and/or "just buy more computers"... but for low budget (and in a future of high energy costs), that wont work
incremental builds are more aggressive than granular caching, because granular caching can give a cache miss, when some *unused* input was changed (when using outPath as cache key). incremental builds would consider only *used* inputs to generate the cache key
buildRustPackage should build one derivation per dependency
see also
related: cache by build phase https://discourse.nixos.org/t/splitbuildinstall-split-buildphase-and-installphase-for-large-packages/15874
The text was updated successfully, but these errors were encountered: