diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-10-24T14·20+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-10-24T14·20+0000 |
commit | 2dc6d5094183edee523a48d449eab1a376e839a2 (patch) | |
tree | 0a5268947074eff0be7428d891817d60a193c28f /src/libexpr/primops.cc | |
parent | 0b305c534f989dbc3645ff03e070b0e4665fdeb7 (diff) |
* 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).
Diffstat (limited to 'src/libexpr/primops.cc')
-rw-r--r-- | src/libexpr/primops.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc index 20b8395088d7..3e32dd3ffc0e 100644 --- a/src/libexpr/primops.cc +++ b/src/libexpr/primops.cc @@ -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 |