New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
linux: run make install in parallel #75696
Conversation
This improves build times significantly, from 20min to 9min on the aarch64 community box.
Should this actually go to Note this isn't a hard rejection; just a thought. |
I don't think so, since it's only the kernels and modules that will be rebuilt. |
This seems weird! Is Linux building things in the install phase? I always assumed that If this is a common experience, perhaps we should set this everywhere for |
This seems weird! Is Linux building things in the install phase? I
always assumed that `make install` would just do `install` / `cp` so
that cores wouldn't make a difference, and the bottleneck would be IO.
If this is a common experience, perhaps we should set this everywhere
for `make install` when `enableParallelBuilding` is set (or add an
`enableParallelInstalling` option).
There's process overhead for every file being installed, and I wouldn't
be surprised if that's the bottleneck when installing non-parallel onto
fast storage.
|
This seems weird! Is Linux building things in the install phase? I
always assumed that `make install` would just do `install` / `cp` so
that cores wouldn't make a difference, and the bottleneck would be IO.
It does build things in the install phase as well, I just noticed.
|
Yes, it builds at least dtbs, and also does some compression e.g. of kernel modules. Running 64 xz's in parallel is going to be faster than running them in series :D |
Motivation for this change
This improves build times significantly, from 20min to 9min on the aarch64 community box.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nix-review --run "nix-review wip"
./result/bin/
)nix path-info -S
before and after)