[Nix-dev] Hash Collisions

Eelco Dolstra eelco.dolstra at logicblox.com
Tue Apr 8 10:09:59 CEST 2014


Hi,

On 08/04/14 09:54, Marc Weber wrote:

> I'll give you another useful tip: If you want to "save bandwidth" then
> switch to binary distro. While nixos has had the ability to create
> "binary differences" I'm unsure wether its activated/available at the
> moment. It was disabled in the past. Maybe somebody else can comment on
> this.

Binary patch generation is no longer done because the binary cache substituter
doesn't support binary patches. Only the old manifest-based substituter did.
Also, the number of packages in Nixpkgs has grown a lot, so generating patches
for all of them would be pretty expensive.

> Also "waste of space/bandwidth" always happens because:
> 
>   - nixos always ships with header files for all libraries
>     (this could be fixed because nix supports multiple outputs)

Yeah, multiple outputs will fix this eventually (reducing system closure size is
my main goal for 14.10).  See
https://github.com/NixOS/nixpkgs/commit/dbe432e6f4502fc7b4e290d1b3356083bd93b099
for an example of the savings you can get.

Deduplication of stored files is possible by running "nix-store --optimise" or
by setting the nix.conf option "auto-optimise-store = true".

-- 
Eelco Dolstra | LogicBlox, Inc. | http://nixos.org/~eelco/


More information about the nix-dev mailing list