top time wasters in DMD, as reported by gprof
Timothee Cour
thelastmammoth at gmail.com
Sun Jun 23 20:39:20 PDT 2013
can you give more context ? what was the command line to get this?
I thought lexing was not a bottleneck, yet it seems to be in second place?
On Sun, Jun 23, 2013 at 2:28 PM, Walter Bright
<newshound2 at digitalmars.com>wrote:
> 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()
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20130623/cef3d15d/attachment.html>
More information about the Digitalmars-d
mailing list