With the recent Nix 2.6 release, I was curious about how much impact all of @pennae’s work was having on the Nix evaluation.
TL;DR: Nix evaluation is 11-17% faster in Nix 2.6 compared to Nix 2.5.1
Methodology
I have both the nix and nixpkgs repo side by side.
nixpkgs is checked out at ac44b27bab615fd49bc94fe22124deae233b5c94 (latest master)
nix is checked out at 2.6.0
Then run nix-build pkgs/top-level/release.nix -A metrics
and collect the output.
For nix 2.5.1 I added a space change to pkgs/top-level/metrics.nix to force the rebuild on my machine.
For nix 2.6 I injected the version from the nix repo:
diff --git a/pkgs/top-level/metrics.nix b/pkgs/top-level/metrics.nix
index d413b881eaa..cf065697923 100644
--- a/pkgs/top-level/metrics.nix
+++ b/pkgs/top-level/metrics.nix
@@ -2,11 +2,17 @@
with pkgs;
+let
+ nix = (import ../../../nix).defaultPackage.${pkgs.system};
+in
+
Then I took all the results and painstakingly inserted them in Notion, for your pleasure and mine:
attr | 2.5.1 | 2.6.0 | Diff % |
---|---|---|---|
1.02288 s | 0.861962 s | NaN | |
480160 KiB | 458036 KiB | NaN | |
280278984 B | 270314728 B | NaN | |
3341438 | 3243496 | 2.974729890990555 | |
1.96151 s | 1.74307 s | NaN | |
572032 KiB | 560300 KiB | NaN | |
422864776 B | 409517776 B | NaN | |
5314604 | 5188433 | 2.4025622303339498 | |
1.62311 s | 1.43888 s | NaN | |
560988 KiB | 550420 KiB | NaN | |
363063272 B | 349837776 B | NaN | |
4697517 | 4572023 | 2.7076640264781204 | |
8.62761 s | 7.51825 s | NaN | |
2199724 KiB | 2220716 KiB | NaN | |
1589209632 B | 1533671496 B | NaN | |
13927806 | 14326969 | 2.8254551664276217 | |
58.0178 s | 54.589 s | NaN | |
6430276 KiB | 6558340 KiB | NaN | |
8828388424 B | 8641514600 B | NaN | |
101913915 | 101689635 | 0.2203105004799769 | |
38784 | 38784 | 0 | |
2666 | 2666 | 0 | |
8.57256 s | 7.62719 s | NaN | |
2199728 KiB | 2220736 KiB | NaN | |
1589209632 B | 1533671496 B | NaN | |
13927806 | 14326969 | 2.8254551664276217 | |
57.418 s | 54.3827 s | NaN | |
6429816 KiB | 6558460 KiB | NaN | |
8828388424 B | 8641514600 B | NaN | |
101913915 | 101689635 | 0.2203105004799769 | |
2341615 | 2341619 | 0.00017082212846934405 |