1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-27 00:11:17 +02:00

* Don't create thunks for variable lookups (if possible). This

significantly reduces the number of values allocated (e.g. from 8.7m
  to 4.9m for the Bittorrent test).
This commit is contained in:
Eelco Dolstra 2010-10-24 14:20:02 +00:00
parent 0b305c534f
commit 2dc6d50941
3 changed files with 60 additions and 23 deletions

View file

@ -1070,7 +1070,7 @@ void EvalState::createBaseEnv()
/* Add a wrapper around the derivation primop that computes the
`drvPath' and `outPath' attributes lazily. */
string s = "attrs: let res = derivationStrict attrs; in attrs // { drvPath = res.drvPath; outPath = res.outPath; type = \"derivation\"; }";
mkThunk(v, baseEnv, parseExprFromString(*this, s, "/"));
mkThunk_(v, parseExprFromString(*this, s, "/"));
addConstant("derivation", v);
// Paths