* 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. :-)
This commit is contained in:
Eelco Dolstra 2003-11-09 10:35:45 +00:00
parent d2e3a132fe
commit 15801c88fa
10 changed files with 60 additions and 45 deletions

View file

@ -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);
}