1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2024-09-19 10:50:24 -04:00
nix/doc/manual
pennae 1fe66852ff reduce the size of Env by one pointer
since `up` and `values` are both pointer-aligned the type field will
also be pointer-aligned, wasting 48 bits of space on most machines. we
can get away with removing the type field altogether by encoding some
information into the `with` expr that created the env to begin with,
reducing the GC load for the absolutely massive amount of single-entry
envs we create for lambdas. this reduces memory usage of system eval by
quite a bit (reducing heap size of our system eval from 8.4GB to 8.23GB)
and gives similar savings in eval time.

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

before:

  Time (mean ± σ):      5.576 s ±  0.003 s    [User: 5.197 s, System: 0.378 s]
  Range (min … max):    5.572 s …  5.581 s    10 runs

after:

  Time (mean ± σ):      5.408 s ±  0.002 s    [User: 5.019 s, System: 0.388 s]
  Range (min … max):    5.405 s …  5.411 s    10 runs
2023-12-30 18:55:13 +01:00
..
rl-next reduce the size of Env by one pointer 2023-12-30 18:55:13 +01:00
src Document more Makefile variables 2023-12-18 13:34:08 -08:00
theme doc/manual: don't need to copy highlight.js manually 2021-08-04 19:47:05 -07:00
_redirects add redirect to new store page 2023-12-01 01:54:48 +01:00
anchors.jq doc: Port anchors preprocessor to jq script 2022-05-26 18:17:21 +02:00
book.toml manual: Check links 2023-01-10 22:30:41 +01:00
custom.css disallow selecting shell prompt in code samples 2022-12-05 11:01:46 +01:00
generate-builtin-constants.nix use lookup paths in helper expressions consistently 2023-11-30 21:53:31 +01:00
generate-builtins.nix document fetchTree (#9258) 2023-12-10 05:16:32 +00:00
generate-manpage.nix fix links in stores overview 2023-12-02 00:56:41 +01:00
generate-settings.nix document fetchTree (#9258) 2023-12-10 05:16:32 +00:00
generate-store-info.nix document fetchTree (#9258) 2023-12-10 05:16:32 +00:00
generate-store-types.nix Document each store type on its own page 2023-12-01 01:27:52 +01:00
generate-xp-features-shortlist.nix use lookup paths in helper expressions consistently 2023-11-30 21:53:31 +01:00
generate-xp-features.nix Document each store type on its own page 2023-12-01 01:27:52 +01:00
local.mk Split --disable-tests, fix cross builds 2023-12-18 10:47:50 -05:00
quote-literals.xsl Generate release notes again 2014-03-12 14:24:29 +01:00
redirects.js add path based redirects 2023-11-27 08:33:03 +01:00
utils.nix Document each store type on its own page 2023-12-01 01:27:52 +01:00