Nix Packages collection & NixOS
Go to file
Vladimír Čunát 1bdb138710
nix: use boehmgc with enableLargeConfig = true
Fixes #43015 for me and hopefully also similar issues.

== Resource consumption ==

TL;DR: no change for small-memory cases, less CPU for large-memory cases.

I assume almost all of the large memory usage is just the expression
evaluation and managed by the GC, so I used just `nix-env -q...` to test.
Old and new lines for each command follow.  I tried to run each several
times, but the values were very stable (<1% difference on re-runs),
so only one line for each command-version pair is provided.

$ time nix-env -f . -qaP --description -A nix >/dev/null
- 0.06user 0.01system 0:00.07elapsed 101%CPU (0avgtext+0avgdata 29036maxresident)k
+ 0.06user 0.01system 0:00.07elapsed 102%CPU (0avgtext+0avgdata 29864maxresident)k

$ time nix-env -f . -qaP --description >/dev/null
- 6.45user 0.36system 0:06.82elapsed  99%CPU (0avgtext+0avgdata 1021024maxresident)k
+ 6.23user 0.33system 0:06.57elapsed 100%CPU (0avgtext+0avgdata  938408maxresident)k

$ time nix-env -f . --show-trace -qa --drv-path --system --meta --xml 2>&1 >/dev/null
- 56.35user 0.96system 0:31.03elapsed 184%CPU (0avgtext+0avgdata 3207708maxresident)k
+ 44.80user 0.91system 0:26.12elapsed 175%CPU (0avgtext+0avgdata 3192696maxresident)k

$ time ./result-nix-large/bin/nix-instantiate --dry-run --eval --strict \
    --show-trace ./maintainers/scripts/eval-release.nix > /dev/null
- Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
- Command terminated by signal 6
- 175.18user 2.68system 1:17.42elapsed 229%CPU (0avgtext+0avgdata 8468440maxresident)k
+ 178.48user 2.78system 1:15.11elapsed 241%CPU (0avgtext+0avgdata 8460572maxresident)k
2018-07-06 13:03:45 +02:00
.github PULL_REQUEST_TEMPLATE.md: Ask for closure size impact 2018-06-21 18:52:26 +02:00
doc manual: fix buildPythonPackage example (#42866) 2018-07-03 17:19:18 +02:00
lib lib.generators.toPlist: add floats 2018-07-03 17:14:00 -04:00
maintainers Merge pull request #42605 from pmyjavec/saml2aws 2018-06-28 22:29:08 -04:00
nixos supplicant: Fix tiny typo in the documentation 2018-07-04 00:14:45 +02:00
pkgs nix: use boehmgc with enableLargeConfig = true 2018-07-06 13:03:45 +02:00
.editorconfig Revert ".version: remove final newline" 2018-04-28 14:23:13 +02:00
.gitattributes gitattributes: disable merge=union in all-packages 2018-03-27 11:03:03 -05:00
.gitignore kde5: consolidate packages into desktops/kde-5 2016-03-01 10:36:00 -06:00
.version Revert ".version: remove final newline" 2018-04-28 14:23:13 +02:00
COPYING 2018 will be the year of NixOS 2018-01-04 17:59:52 -05:00
default.nix Update message to reflect nix 2.0 availability of imperative nix-update (#36123) 2018-06-25 00:35:06 +02:00
README.md README: 17.09 -> 18.03 2018-04-04 09:48:35 +02:00

logo

Code Triagers Badge

Nixpkgs is a collection of packages for the Nix package manager. It is periodically built and tested by the Hydra build daemon as so-called channels. To get channel information via git, add nixpkgs-channels as a remote:

% git remote add channels git://github.com/NixOS/nixpkgs-channels.git

For stability and maximum binary package support, it is recommended to maintain custom changes on top of one of the channels, e.g. nixos-18.03 for the latest release and nixos-unstable for the latest successful build of master:

% git remote update channels
% git rebase channels/nixos-18.03

For pull-requests, please rebase onto nixpkgs master.

NixOS Linux distribution source code is located inside nixos/ folder.

Communication: