f1ef994f120a723839a6d837cc2b33914a30a4db
Using parallel marking in GC speeds up evaluation a fair bit
```
Benchmark 1: ./lix-main/bin/nix search nixpkgs hello --no-eval-cache
Time (mean ± σ): 20.740 s ± 0.046 s [User: 17.583 s, System: 3.062 s]
Range (min … max): 20.678 s … 20.794 s 10 runs
Benchmark 2: ./lix-parallel-marking/bin/nix search nixpkgs hello --no-eval-cache
Time (mean ± σ): 15.037 s ± 0.080 s [User: 19.602 s, System: 3.125 s]
Range (min … max): 14.960 s … 15.227 s 10 runs
Summary
./lix-parallel-marking/bin/nix search nixpkgs hello --no-eval-cache ran
1.38 ± 0.01 times faster than ./lix-main/bin/nix search nixpkgs hello --no-eval-cache
```
Based-on: https://github.com/NixOS/nix/pull/13708
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Change-Id: Ibc7625f21e0ee7c8ad66203eeb3aca5d83977731
Lix
Lix is an implementation of Nix, a powerful package management system for Linux and other Unix systems that makes package management reliable and reproducible.
Read more about us at https://lix.systems.
Installation
On Linux and macOS the easiest way to install Lix is to run the following shell command (as a user other than root):
$ curl -sSf -L https://install.lix.systems/lix | sh -s -- install
For systems that already have a Nix implementation installed, such as NixOS systems, read our install page
Building And Developing
See our Hacking guide in our manual for instruction on how to set up a development environment and build Lix from source.
Additional Resources
- The Lix reference manual:
- Our wiki
- Matrix - #space:lix.systems
License
Lix is released under LGPL-2.1-or-later.
Description
Working fork of Lix - carries the adaptive load-aware build-remote patch. Upstream: gerrit.lix.systems
92 MiB
Languages
C++
74.9%
Python
11.7%
Nix
6.1%
Shell
3.6%
Meson
2%
Other
1.6%