libexpr: Add nrExprs to NIX_SHOW_STATS

This commit is contained in:
Robert Hensing 2023-09-12 13:21:55 +02:00
parent 4a8c9bb9aa
commit 3720e811fa
3 changed files with 6 additions and 0 deletions

View file

@ -2506,6 +2506,7 @@ void EvalState::printStats()
{"elements", nrValuesInEnvs},
{"bytes", bEnvs},
};
topObj["nrExprs"] = Expr::nrExprs;
topObj["list"] = {
{"elements", nrListElems},
{"bytes", bLists},

View file

@ -155,6 +155,10 @@ std::string showAttrPath(const SymbolTable & symbols, const AttrPath & attrPath)
struct Expr
{
static unsigned long nrExprs;
inline Expr() {
nrExprs++;
}
virtual ~Expr() { };
virtual void show(const SymbolTable & symbols, std::ostream & str) const;
virtual void bindVars(EvalState & es, const std::shared_ptr<const StaticEnv> & env);

View file

@ -653,6 +653,7 @@ formal
namespace nix {
unsigned long Expr::nrExprs = 0;
Expr * EvalState::parse(
char * text,