Why C++ compiles slowly
Steven Schveighoffer
schveiguy at yahoo.com
Tue Aug 24 14:20:32 PDT 2010
On Tue, 24 Aug 2010 17:05:30 -0400, Mafi <mafi at example.org> wrote:
> Am 24.08.2010 22:56, schrieb Steven Schveighoffer:
>
>> I am not sure how to fix it, but that's the gist of it. I think the
>> symbol table is so large because of the template proliferation of
>> dcollections, and the verbosity of D symbol names.
>
> Why are D's symbols verbose? if I understood you corectly, dmd makes a
> linear search no matter if i used foo or ArrayOutOfBoundsException
> (that's a real Java exception).
A symbol includes the module name, and the mangled version of the function
argument types, which could be class/struct names, plus any template info
associated with it.
For example, foo(HashSet!int hs) inside the module testme becomes:
_D6testme3fooFC12dcollections7HashSet14__T7HashSetTiZ7HashSetZv
-Steve
More information about the Digitalmars-d
mailing list