lix/src
pennae 09b245690a bulk-allocate Value instances in the evaluator
calling GC_malloc for each value is significantly more expensive than
allocating a bunch of values at once with GC_malloc_many. "a bunch" here
is a GC block size, ie 16KiB or less.

this gives a 1.5% performance boost when evaluating our nixos system.

tested with

nix eval --raw --impure --expr 'with import <nixpkgs/nixos> {}; system'

 # on master

  Time (mean ± σ):      3.335 s ±  0.007 s    [User: 2.774 s, System: 0.293 s]
  Range (min … max):    3.315 s …  3.347 s    50 runs

 # with this change

  Time (mean ± σ):      3.288 s ±  0.006 s    [User: 2.728 s, System: 0.292 s]
  Range (min … max):    3.274 s …  3.307 s    50 runs
2021-12-20 23:01:28 +01:00
..
build-remote build-remote: Implicitly add the 'builtin' system type to all machines 2021-10-27 14:25:13 +02:00
cpptoml Revert the enum struct change 2020-06-18 22:11:26 +00:00
libcmd EvalCommand::getEvalState: use gc tracable allocator for EvalState 2021-12-11 16:02:08 +01:00
libexpr bulk-allocate Value instances in the evaluator 2021-12-20 23:01:28 +01:00
libfetchers Add support for .tar.gz shorthand (.tgz) to TarballInputScheme 2021-12-03 22:16:02 -05:00
libmain Respect /etc/hosts 2021-12-13 19:37:30 +01:00
libstore Ignore EPERM when unsharing FS state 2021-12-16 22:02:50 +01:00
libutil Ignore EPERM when unsharing FS state 2021-12-16 22:02:50 +01:00
nix Fix typo in src/nix/shell.md 2021-12-15 23:40:37 -08:00
nix-build Make nix-shell work when nixpkgs is content-addressed 2021-11-26 09:56:48 +01:00
nix-channel nix-channel: use nix-env -i --remove-all to upgrade 2021-07-25 12:00:00 +00:00
nix-collect-garbage Initialize plugins after handling initial command line flags 2021-02-24 08:22:17 -05:00
nix-copy-closure copyPaths: Pass store by reference 2021-07-22 09:59:51 +02:00
nix-env Merge branch 'nix-env-install-suggestions' of https://github.com/tweag/nix 2021-12-01 21:47:28 +01:00
nix-instantiate Merge pull request #5428 from kreisys/add-pos-to-json-type-error 2021-11-15 07:57:46 -06:00
nix-store nix-store --serve: pass on settings.keepFailed from SSH store 2021-08-31 13:11:46 +02:00
nlohmann nlohmann_json: Update to 3.9.1, fix use of internal copy 2021-07-15 12:25:53 +02:00
resolve-system-dependencies Apply OS checks to host platform, not build 2021-06-23 15:00:36 +00:00