Skip to Content
Determinate NixParallel evaluation

Parallel evaluation

Available since Determinate Nix 3.11.You can read more about that version's release on our blog.

For most of its history, Nix has been a single-threaded tool across all of its operations. Determinate Nix has changed that with the introduction of parallel evaluation, which distributes much of Nix’s work across multiple processor cores. This feature was released in developer preview mode but has been successfully rolled out to all Determinate Nix users.

Parallelization can cut evaluation time substantially for some Nix operations—especially more computationally intensive operations—and makes Nix quietly faster and more efficient. We’ve seen speed-ups of 5x or more in some scenarios. We’ve begun with operations like nix search, nix flake check, nix flake show, and nix eval --json, but we intend to steadily expand coverage over time.

This feature also includes a new builtins.parallel function that you can use to speed up some complex Nix expressions, for example those involving import-from-derivation (IFD).

If you’re an administrator and would like to opt into or out of parallel evaluation on an organization-wide basis, contact us at support@determinate.systems.

Last updated on