lix/src/libexpr
pennae eee0bcee22 avoid allocations in SymbolTable::create
speeds up parsing by ~3%, system builds by a bit more than 1%

 # before

Benchmark 1: nix search --offline nixpkgs hello
  Time (mean ± σ):     574.7 ms ±   2.8 ms    [User: 566.3 ms, System: 8.0 ms]
  Range (min … max):   569.2 ms … 580.7 ms    50 runs

Benchmark 2: nix eval -f ../nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
  Time (mean ± σ):     394.4 ms ±   0.8 ms    [User: 361.8 ms, System: 32.3 ms]
  Range (min … max):   392.7 ms … 395.7 ms    50 runs

Benchmark 3: nix eval --raw --impure --expr 'with import <nixpkgs/nixos> {}; system'
  Time (mean ± σ):      2.976 s ±  0.005 s    [User: 2.757 s, System: 0.218 s]
  Range (min … max):    2.966 s …  2.990 s    50 runs

 # after

Benchmark 1: nix search --offline nixpkgs hello
  Time (mean ± σ):     572.4 ms ±   2.3 ms    [User: 563.4 ms, System: 8.6 ms]
  Range (min … max):   566.9 ms … 579.1 ms    50 runs

Benchmark 2: nix eval -f ../nixpkgs/pkgs/development/haskell-modules/hackage-packages.nix
  Time (mean ± σ):     381.7 ms ±   1.0 ms    [User: 348.3 ms, System: 33.1 ms]
  Range (min … max):   380.2 ms … 387.7 ms    50 runs

Benchmark 3: nix eval --raw --impure --expr 'with import <nixpkgs/nixos> {}; system'
  Time (mean ± σ):      2.936 s ±  0.005 s    [User: 2.715 s, System: 0.221 s]
  Range (min … max):    2.923 s …  2.946 s    50 runs
2022-01-13 18:06:15 +01:00
..
flake Merge pull request #5623 from yorickvP/fix-5621 2021-12-14 10:35:37 +01:00
primops Support range-based for loop over list values 2021-11-25 16:31:39 +01:00
attr-path.cc Rename findDerivationFilename -> findPackageFilename 2021-07-19 18:10:10 +02:00
attr-path.hh Rename findDerivationFilename -> findPackageFilename 2021-07-19 18:10:10 +02:00
attr-set.cc Replace Value type setters with mk* functions 2020-12-18 21:48:22 +01:00
attr-set.hh Force all Pos* to be non-null 2021-08-29 18:11:58 +02:00
common-eval-args.cc Support --eval-store in nix-instantiate and nix-build 2021-07-22 09:59:51 +02:00
common-eval-args.hh Support --eval-store in nix-instantiate and nix-build 2021-07-22 09:59:51 +02:00
eval-cache.cc libcmd/installables: force re-evaluation of cached failures 2021-04-19 19:51:04 +02:00
eval-cache.hh libcmd/installables: force re-evaluation of cached failures 2021-04-19 19:51:04 +02:00
eval-inline.hh Improve error formatting 2021-01-21 11:02:09 +01:00
eval.cc bulk-allocate Value instances in the evaluator 2021-12-20 23:01:28 +01:00
eval.hh bulk-allocate Value instances in the evaluator 2021-12-20 23:01:28 +01:00
fetchurl.nix Move <nix/fetchurl.nix> into the nix binary 2020-12-22 14:43:20 +01:00
function-trace.cc Revert the enum struct change 2020-06-18 22:11:26 +00:00
function-trace.hh Hide FunctionCallTrace constructor/destructor 2020-01-05 16:21:34 +01:00
get-drvs.cc Support range-based for loop over list values 2021-11-25 16:31:39 +01:00
get-drvs.hh Squashed get CA derivations building 2020-08-07 19:51:55 +00:00
imported-drv-to-derivation.nix Move some corepkgs into the nix binary 2020-03-11 16:57:48 +01:00
json-to-value.cc Bump nlohmann-json version to 3.9.1 2020-09-21 14:24:43 -04:00
json-to-value.hh Fix extra ; warnings involving MakeError 2019-11-10 11:24:47 -05:00
lexer.l don't strdup tokens in the lexer 2022-01-13 18:06:14 +01:00
local.mk Merge pull request #5175 from Pamplemousse/make 2021-08-30 12:44:29 +02:00
nix-expr.pc.in pkg-config files: Use c++17 2019-03-14 14:11:12 +01:00
nixexpr.cc avoid allocations in SymbolTable::create 2022-01-13 18:06:15 +01:00
nixexpr.hh Merge branch 'better-interpolation-error-location' of https://github.com/greedy/nix 2021-12-13 19:20:48 +01:00
parser.y don't strdup tokens in the lexer 2022-01-13 18:06:14 +01:00
primops.cc Introduce builtins.groupBy primop 2021-12-02 21:54:51 +01:00
primops.hh libexpr: throw a more helpful eval-error if a builtin is not available due to a missing feature-flag 2021-09-29 11:57:15 +02:00
symbol-table.hh avoid allocations in SymbolTable::create 2022-01-13 18:06:15 +01:00
value-to-json.cc Support range-based for loop over list values 2021-11-25 16:31:39 +01:00
value-to-json.hh toJSON: report error position for fancier output 2021-10-25 21:17:52 +00:00
value-to-xml.cc Support range-based for loop over list values 2021-11-25 16:31:39 +01:00
value-to-xml.hh toXML: display errors position 2021-11-13 20:33:34 -05:00
value.hh Introduce builtins.groupBy primop 2021-12-02 21:54:51 +01:00