4 ms·
Just a heads-up in case anyone is confused as I was: Nix is not 100% bit-for-bit deterministic/reproducible yet, though they do deliver functional equivalence.
by j_s 9y ago
Just a heads-up in case anyone is confused as I was: Nix is not 100% bit-for-bit deterministic/reproducible yet, though they do deliver functional equivalence.
- FrozenCow 9y agoThere are efforts to get deterministic builds in NixOS, but it comes with downsides like very high build times.
- sly010 9y agoCan you elaborate? I always thought deterministic builds would enable faster builds (because it would basically allow for downloading and verification of binaries).
- taktoa 9y agoNix already does binary substitution. It just has the assumption baked in that builds don't do anything nondeterministic (and the Nix build sandbox removes a lot, but not all, of those opportunities; the ones remaining are things like threads, hence the slowdown).
- wmertens 9y agoAs an example, gcc includes code generators that try a few random things in order to optimize code. So two builds, on the same system, won't result in the same byte code. Also, build stamps like time, PID, path etc.