From 4911a10a4e51102a21a5d123a852c75d2ec92dbc Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Fri, 29 Jun 2012 14:26:31 -0400 Subject: Use XZ compression in binary caches XZ compresses significantly better than bzip2. Here are the compression ratios and execution times (using 4 cores in parallel) on my /var/run/current-system (3.1 GiB): bzip2: total compressed size 849.56 MiB, 30.8% [2m08] xz -6: total compressed size 641.84 MiB, 23.4% [6m53] xz -7: total compressed size 621.82 MiB, 22.6% [7m19] xz -8: total compressed size 599.33 MiB, 21.8% [7m18] xz -9: total compressed size 588.18 MiB, 21.4% [7m40] Note that compression takes much longer. More importantly, however, decompression is much faster: bzip2: 1m47.274s xz -6: 0m55.446s xz -7: 0m54.119s xz -8: 0m52.388s xz -9: 0m51.842s The only downside to using -9 is that decompression takes a fair amount (~65 MB) of memory. --- perl/lib/Nix/Config.pm.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'perl') diff --git a/perl/lib/Nix/Config.pm.in b/perl/lib/Nix/Config.pm.in index b6d346651807..5adc1ffba9e9 100644 --- a/perl/lib/Nix/Config.pm.in +++ b/perl/lib/Nix/Config.pm.in @@ -7,7 +7,8 @@ $manifestDir = $ENV{"NIX_MANIFESTS_DIR"} || "@localstatedir@/nix/manifests"; $logDir = $ENV{"NIX_LOG_DIR"} || "@localstatedir@/log/nix"; $confDir = $ENV{"NIX_CONF_DIR"} || "@sysconfdir@/nix"; -$bzip2 = $ENV{"NIX_BZIP2"} || "@bzip2@"; +$bzip2 = "@bzip2@"; +$xz = "@xz@"; $curl = "@curl@"; $useBindings = "@perlbindings@" eq "yes"; -- cgit 1.4.1