AST files instead of DI interface files for faster compilation and easier distribution

Don Clugston dac at nospam.com
Wed Jun 13 01:07:07 PDT 2012


On 12/06/12 18:46, Walter Bright wrote:
> On 6/12/2012 2:07 AM, timotheecour wrote:
>> There's a current pull request to improve di file generation
>> (https://github.com/D-Programming-Language/dmd/pull/945); I'd like to
>> suggest
>> further ideas.
>> As far as I understand, di interface files try to achieve these
>> conflicting goals:
>>
>> 1) speed up compilation by avoiding having to reparse large files over
>> and over.
>> 2) hide implementation details for proprietary reasons
>> 3) still maintain source code in some form to allow inlining and CTFE
>> 4) be human readable
>
> (4) was not a goal.
>
> A .di file could very well be a binary file, but making it look like D
> source enabled them to be loaded with no additional implementation work
> in the compiler.

I don't understand (1) actually.

For two reasons:
(a) Is lexing + parsing really a significant part of the compilation 
time? Has anyone done some solid profiling?

(b) Wasn't one of the goals of D's module system supposed to be that you 
could import a symbol table? Why not just implement that? Seems like 
that would be much faster than .di files can ever be.


More information about the Digitalmars-d mailing list