Looking for open-source repos with slow nix eval

We’re looking for open-source repos where nix eval is very slow. If you have one, please send them our way! We’re working on alternative frontend to Nix (which is already quite a bit faster in our smaller tests), and would love to have benchmarks and things to profile.

Rust and Haskell projects preferred, but everything is welcome.

7 Likes
18 Likes

We have a different language than Nix; converting individual builders such as buildRustPackage isn’t hard, but doing it for all of Nixpkgs is. And my impression is that individually packages in Nixpkgs tend to evaluate quite quickly compared to frequently updated repos.

That sounds like a really interesting project, and it’s great to see work being done on improving Nix performance. Unfortunately, I don’t have a specific repository to point you to right now, but I’ve definitely seen larger Rust and Haskell monorepos where nix eval can become noticeably slow, especially when there are complex overlays, large dependency graphs, or heavily parameterized expressions. You might want to look at sizable Haskell projects using Nix flakes or big Rust workspaces with custom tooling. Sharing your findings and benchmarks later would also be very valuable for the community.

This one has a few nixos configurations in checks for various combinations of filesystems: GitHub - nix-community/disko: Declarative disk partitioning and formatting using nix [maintainers=@Lassulus @Enzime @iFreilicht @Mic92 @phaer]

This one has a 29 NixOS machines: GitHub - TUM-DSE/doctor-cluster-config: The servers configurations of https://dse.in.tum.de/
Parallel evaluation: 3.50s

This one was a stress test for my buildbot: clan/clan-core: Build your own clan - clan-core - gitea: Gitea Service
190 check outputs.

Thanks all! It does seem like NixOS is where we’d see the main effect. Might take a little bit before we support that.

Here’s a blog about some of the work we’ve done on this.

2 Likes

amazing blog post, as always! the repo mentioned in the blog post is not public yet, though

thanks for sharing :star_struck:

1 Like

Thanks for pointing that out (and for the kind words) - fixed!

1 Like