This release has the following improvements:
The Nix expression evaluator is now much faster in most cases: typically, 3 to 8 times compared to the old implementation. It also uses less memory. It no longer depends on the ATerm library.
Support for configurable parallelism inside builders. Build scripts have always had the ability to perform multiple build actions in parallel (for instance, by running
make -j 2), but this was not desirable because the number of actions to be performed in parallel was not configurable. Nix now has an option
--cores Nas well as a configuration setting
build-cores = Nthat causes the environment variable
NIX_BUILD_CORESto be set to N when the builder is invoked. The builder can use this at its discretion to perform a parallel build, e.g., by calling
make -j N. In Nixpkgs, this can be enabled on a per-package basis by setting the derivation attribute
nix-store -qnow supports XML output through the
Several bug fixes.