about summary refs log tree commit diff
path: root/src/nix/upgrade-nix.cc
AgeCommit message (Collapse)AuthorFilesLines
2018-06-12 Move EvalState from the stack to the heapEelco Dolstra1-6/+6
EvalState contains a few counters (e.g. nrValues) that increase quickly enough that they end up being interpreted as pointers by the garbage collector. Moving it to the heap makes them invisible to the garbage collector. This reduces the max RSS doing 100 evaluations of nixos.tests.firefox.x86_64-linux.drvPath from 455 MiB to 292 MiB. Note: ideally, allocations would be much further up in the 64-bit address space to reduce the odds of an integer being misinterpreted as a pointer. Maybe we can use some linker magic to move the .bss segment to a higher address.
2018-05-30 Move evaluator-specific settings out of libstoreEelco Dolstra1-1/+1
2018-01-31 Add 'nix upgrade-nix' commandEelco Dolstra1-0/+131
This command upgrades Nix to the latest stable version by installing a store path obtained from https://github.com/NixOS/nixpkgs/raw/master/nixos/modules/installer/tools/nix-fallback-paths.nix which is the same store path that the installer at https://nixos.org/nix/install.sh uses. The upgrade fails if Nix is not installed in a profile (e.g. on NixOS, or when installed outside of the Nix store).