diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-11-09T10·35+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-11-09T10·35+0000 |
commit | 15801c88fad38253b19ac2ea77e7597deab5fd6b (patch) | |
tree | 2dab8ab76792328b6c5376509d6b2e659ad19cf8 /src/fix-ng | |
parent | d2e3a132fe6796b2ac038ccb20e7aa32afc1a85f (diff) |
* Turned the msg() and debug() functions into macros, since they
turned out to be a huge performance bottleneck (the text to printed would always be evaluated, even when it was above the verbosity level). This reduces fix-ng execution time by over 50%. gprof(1) is very useful. :-)
Diffstat (limited to 'src/fix-ng')
-rw-r--r-- | src/fix-ng/eval.cc | 6 | ||||
-rw-r--r-- | src/fix-ng/fix.cc | 2 | ||||
-rw-r--r-- | src/fix-ng/primops.cc | 10 |
3 files changed, 9 insertions, 9 deletions
diff --git a/src/fix-ng/eval.cc b/src/fix-ng/eval.cc index 8e10caa843ac..2b45b47984e8 100644 --- a/src/fix-ng/eval.cc +++ b/src/fix-ng/eval.cc @@ -23,7 +23,6 @@ static Expr substArgs(Expr body, ATermList formals, Expr arg) while (!ATisEmpty(formals)) { ATerm t = ATgetFirst(formals); Expr name, def; - debug(printTerm(t)); if (ATmatch(t, "NoDefFormal(<term>)", &name)) subs.set(name, undefined); else if (ATmatch(t, "DefFormal(<term>, <term>)", &name, &def)) @@ -234,7 +233,8 @@ Expr evalExpr2(EvalState & state, Expr e) Expr evalExpr(EvalState & state, Expr e) { - Nest nest(lvlVomit, format("evaluating expression: %1%") % printTerm(e)); + startNest(nest, lvlVomit, + format("evaluating expression: %1%") % printTerm(e)); state.nrEvaluated++; @@ -258,7 +258,7 @@ Expr evalExpr(EvalState & state, Expr e) Expr evalFile(EvalState & state, const Path & path) { - Nest nest(lvlTalkative, format("evaluating file `%1%'") % path); + startNest(nest, lvlTalkative, format("evaluating file `%1%'") % path); Expr e = parseExprFromFile(path); return evalExpr(state, e); } diff --git a/src/fix-ng/fix.cc b/src/fix-ng/fix.cc index c24ca4d9c4da..dc2790a60ad9 100644 --- a/src/fix-ng/fix.cc +++ b/src/fix-ng/fix.cc @@ -60,7 +60,7 @@ static Expr evalExpr2(EvalState & state, Expr e) static Expr evalStdin(EvalState & state) { - Nest nest(lvlTalkative, format("evaluating standard input")); + startNest(nest, lvlTalkative, format("evaluating standard input")); Expr e = ATreadFromFile(stdin); if (!e) throw Error(format("unable to read a term from stdin")); diff --git a/src/fix-ng/primops.cc b/src/fix-ng/primops.cc index fb923ed46e5c..07281e89beaf 100644 --- a/src/fix-ng/primops.cc +++ b/src/fix-ng/primops.cc @@ -58,7 +58,7 @@ static Path copyAtom(EvalState & state, const Path & srcPath) Path drvPath = writeTerm(unparseNixExpr(ne), ""); state.drvHashes[drvPath] = drvHash; - msg(lvlChatty, format("copied `%1%' -> closure `%2%'") + printMsg(lvlChatty, format("copied `%1%' -> closure `%2%'") % srcPath % drvPath); return drvPath; } @@ -107,7 +107,7 @@ static string processBinding(EvalState & state, Expr e, NixExpr & ne) string s; bool first = true; while (!ATisEmpty(es)) { - Nest nest(lvlVomit, format("processing list element")); + startNest(nest, lvlVomit, format("processing list element")); if (!first) s = s + " "; else first = false; s += processBinding(state, evalExpr(state, ATgetFirst(es)), ne); es = ATgetNext(es); @@ -123,7 +123,7 @@ static string processBinding(EvalState & state, Expr e, NixExpr & ne) Expr primDerivation(EvalState & state, Expr args) { - Nest nest(lvlVomit, "evaluating derivation"); + startNest(nest, lvlVomit, "evaluating derivation"); ATermMap attrs; args = evalExpr(state, args); @@ -143,7 +143,7 @@ Expr primDerivation(EvalState & state, Expr args) { string key = aterm2String(ATgetFirst(keys)); Expr value = attrs.get(key); - Nest nest(lvlVomit, format("processing attribute `%1%'") % key); + startNest(nest, lvlVomit, format("processing attribute `%1%'") % key); /* The `args' attribute is special: it supplies the command-line arguments to the builder. */ @@ -199,7 +199,7 @@ Expr primDerivation(EvalState & state, Expr args) Path drvPath = writeTerm(unparseNixExpr(ne), "-d-" + drvName); state.drvHashes[drvPath] = drvHash; - msg(lvlChatty, format("instantiated `%1%' -> `%2%'") + printMsg(lvlChatty, format("instantiated `%1%' -> `%2%'") % drvName % drvPath); attrs.set("outPath", ATmake("Path(<str>)", outPath.c_str())); |