c1370bc81c102a8d4ed605b299a9508d121e7c5b
mimalloc is a compact general purpose allocator from Microsoft. It consistently outperforms glibc's `malloc()` in allocation-heavy workloads, such as Lix's evaluator It's currently only linked in the main `nix` executable, as Boehm's GC uses its own allocator. Other allocations that *do* go through glibc's `malloc()` are still much faster, though Benchmarked on x86_64-linux against Nixpkgs `bd07873`: | attribute | thunks | lix@`1396012` | mimalloc | uplift | |-------------------|---------|---------------|----------|--------| | hello | 206444 | 0.726s | 0.620s | 1.17x | | chromium | 1177382 | 2.273s | 2.136s | 1.06x | | firefox-unwrapped | 1394797 | 2.521s | 2.378s | 1.06x | | texliveFull | 3186440 | 4.992s | 4.672s | 1.07x | | nixosTests.gnome | 7905808 | 6.115s | 5.723s | 1.07x | Based-on: https://github.com/NixOS/nix/pull/15596 Co-authored-by: Bernardo Meurer Costa <beme@anthropic.com> Change-Id: I3ad92eacc075efeaf3d9f7730ada7b29835536a4
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%