lix/src/libexpr
pennae ad60dfde2a also cache split regexes, not just match regexes
gives about 1% improvement on system eval, a bit less on nix search.

 # before

  nix search --no-eval-cache --offline ../nixpkgs hello
    Time (mean ± σ):      7.419 s ±  0.045 s    [User: 6.362 s, System: 0.794 s]
    Range (min … max):    7.335 s …  7.517 s    20 runs

  nix eval --raw --impure --expr 'with import <nixpkgs/nixos> {}; system'
    Time (mean ± σ):      2.921 s ±  0.023 s    [User: 2.626 s, System: 0.210 s]
    Range (min … max):    2.883 s …  2.957 s    20 runs

 # after

  nix search --no-eval-cache --offline ../nixpkgs hello
    Time (mean ± σ):      7.370 s ±  0.059 s    [User: 6.333 s, System: 0.791 s]
    Range (min … max):    7.286 s …  7.541 s    20 runs

  nix eval --raw --impure --expr 'with import <nixpkgs/nixos> {}; system'
    Time (mean ± σ):      2.891 s ±  0.033 s    [User: 2.606 s, System: 0.210 s]
    Range (min … max):    2.823 s …  2.958 s    20 runs
2022-01-14 14:04:17 +01:00
..
flake Merge pull request #5546 from NixOS/allow-paths-in-flake-local-options 2022-01-06 21:55:20 +01:00
primops Remove non-method mk<X> functions 2022-01-04 18:40: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 Remove EvalState::mkAttrs() 2022-01-04 20:29:17 +01:00
attr-set.hh optimize removeAttrs builtin 2022-01-14 14:01:52 +01:00
common-eval-args.cc Remove non-method mkString() 2022-01-04 18:24:42 +01: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 cache more often-used symbols for primops 2022-01-13 13:58:33 +01:00
eval.hh also cache split regexes, not just match regexes 2022-01-14 14:04:17 +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 Ensure that attrsets are sorted 2022-01-04 18:00:33 +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 Remove EvalState::mkAttrs() 2022-01-04 20:29:17 +01:00
json-to-value.hh Fix extra ; warnings involving MakeError 2019-11-10 11:24:47 -05:00
lexer.l Optimize primop calls 2021-11-04 15:03:40 +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 Merge branch 'better-interpolation-error-location' of https://github.com/greedy/nix 2021-12-13 19:20:48 +01:00
nixexpr.hh Turn mkString(Symbol) into a method 2022-01-04 19:09:40 +01:00
parser.y Merge branch 'better-interpolation-error-location' of https://github.com/greedy/nix 2021-12-13 19:20:48 +01:00
primops.cc also cache split regexes, not just match regexes 2022-01-14 14:04:17 +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 nix flake show: Use evaluation cache 2020-04-17 01:02:29 +02: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 optimize ExprConcatStrings::eval 2022-01-12 10:07:21 +01:00