top time wasters in DMD, as reported by gprof

Walter Bright newshound2 at digitalmars.com
Sun Jun 23 14:28:00 PDT 2013


Flat profile:

Each sample counts as 0.01 seconds.
   %   cumulative   self              self     total
  time   seconds   seconds    calls  ms/call  ms/call  name
   5.19      0.08     0.08   945494     0.00     0.00  _aaGetRvalue(AA*, void*)
   3.90      0.14     0.06   926415     0.00     0.00  Lexer::scan(Token*)
   3.25      0.19     0.05   397097     0.00     0.00  calcHash(char const*, 
unsigned long)
   2.60      0.23     0.04   373646     0.00     0.00  StringTable::search(char 
const*, unsigned lon
   1.95      0.26     0.03    33255     0.00     0.00 
TemplateInstance::semantic(Scope*, Array<Expr
   1.30      0.28     0.02   968985     0.00     0.00  ScopeDsymbol::search(Loc, 
Identifier*, int)
   1.30      0.30     0.02   424079     0.00     0.00  calccodsize
   1.30      0.32     0.02   234547     0.00     0.00  Parser::parseShiftExp()
   1.30      0.34     0.02   168933     0.00     0.00  AliasDeclaration::toAlias()
   1.30      0.36     0.02   136371     0.00     0.00  _aaGet(AA**, void*)
   1.30      0.38     0.02   132102     0.00     0.00  TypeStruct::hasPointers()
   1.30      0.40     0.02    32490     0.00     0.00 
TemplateDeclaration::matchWithInstance(Templa
   1.30      0.42     0.02    21666     0.00     0.00 
FuncDeclaration::functionSemantic()
   1.30      0.44     0.02    17983     0.00     0.00 
VarDeclaration::syntaxCopy(Dsymbol*)
   1.30      0.46     0.02    12908     0.00     0.00 
TemplateDeclaration::deduceFunctionTemplateMa
   1.30      0.48     0.02     6890     0.00     0.00  assignaddrc
   1.30      0.50     0.02     6563     0.00     0.00  ecom(elem**)
   1.30      0.52     0.02     5675     0.00     0.00 
TypeInfo_Idxstr::getHash(void*)
   1.30      0.54     0.02     3780     0.01     0.01 
TemplateDeclaration::semantic(Scope*)
   1.30      0.56     0.02     2648     0.01     0.01  operator delete(void*)
   0.97      0.58     0.02    42592     0.00     0.00 
IdentifierExp::semantic(Scope*)
   0.97      0.59     0.02    36403     0.00     0.00  BinExp::syntaxCopy()
   0.65      0.60     0.01  2668529     0.00     0.00  operator new(unsigned long)
   0.65      0.61     0.01  2575503     0.00     0.00  Dsymbol::isTemplateMixin()
   0.65      0.62     0.01  2310757     0.00     0.00  Type::toBasetype()
   0.65      0.63     0.01  2096689     0.00     0.00 
OutBuffer::reserve(unsigned long)
   0.65      0.64     0.01  1030635     0.00     0.00  Dsymbol::isTemplateInstance()
   0.65      0.65     0.01   708615     0.00     0.00  Module::search(Loc, 
Identifier*, int)
   0.65      0.66     0.01   683509     0.00     0.00  VarDeclaration::isDataseg()
   0.65      0.67     0.01   662180     0.00     0.00  Module::isModule()
   0.65      0.68     0.01   567921     0.00     0.00  isType(RootObject*)
   0.65      0.69     0.01   536331     0.00     0.00  Mem::realloc(void*, 
unsigned long)
   0.65      0.70     0.01   454836     0.00     0.00 
Parameter::foreach(Array<Parameter>*, int (*)
   0.65      0.71     0.01   375732     0.00     0.00  Type::merge()
   0.65      0.72     0.01   353615     0.00     0.00  Mem::free(void*)
   0.65      0.73     0.01   348546     0.00     0.00  isDsymbol(RootObject*)
   0.65      0.74     0.01   339336     0.00     0.00 
exceptionOrCantInterpret(Expression*)
   0.65      0.75     0.01   311493     0.00     0.00  isTuple(RootObject*)
   0.65      0.76     0.01   300069     0.00     0.00  TypeBasic::isscalar()
   0.65      0.77     0.01   270438     0.00     0.00  VarDeclaration::hasPointers()
   0.65      0.78     0.01   248163     0.00     0.00 
Identifier::equals(RootObject*)
   0.65      0.79     0.01   234806     0.00     0.00  Parser::parseAddExp()


More information about the Digitalmars-d mailing list