Why doesn't DMD create any redundant symbols?

Walter Bright newshound1 at digitalmars.com
Tue Aug 28 11:58:17 PDT 2007


Gregor Richards wrote:
> Walter Bright wrote:
>> Gregor Richards wrote:
>>> I have to assume there's a reason for this, so, to summarize: Why 
>>> doesn't DMD create any redundant symbols in .o files?
>>
>> It can improve build speed a lot. With C++, which doesn't do this, 
>> huge .obj files can be generated.
>>
>> The compiler assumes that if there are multiple modules on the command 
>> line, they'll all be linked together, so why generate redundant output?
> 
> OK, so how about for those willing to (or required to) take the 
> performance penalty, adding an option to create redundant data? I 
> imagine the speed difference between compiling one file at a time and 
> compiling all at once but with redundant data is greater than the speed 
> difference between compiling all at once with and without redundant 
> data, so your improvement to build speed significantly hinders my build 
> speed.

It's a good idea, but it would be a fair bit of work the way dmd is 
designed.



More information about the Digitalmars-d mailing list