AST files instead of DI interface files for faster compilation and easier distribution
deadalnix
deadalnix at gmail.com
Tue Jun 19 02:22:35 PDT 2012
Le 16/06/2012 11:18, Iain Buclaw a écrit :
> On 13 June 2012 12:47, Iain Buclaw<ibuclaw at ubuntu.com> wrote:
>> On 13 June 2012 12:33, Kagamin<spam at here.lot> wrote:
>>> On Wednesday, 13 June 2012 at 11:29:45 UTC, Kagamin wrote:
>>>>
>>>> The measurements should be done for modules being imported, not the module
>>>> being compiled.
>>>> Something like this.
>>>> ---
>>>> import std.algorithm;
>>>> import std.stdio;
>>>> import std.typecons;
>>>> import std.datetime;
>>>>
>>>> int ok;
>>>> ---
>>>
>>>
>>> Oh and let it import .d files, not .di
>>
>> std.datetime is one reason for me to run it again. I can imagine that
>> *that* module will have an impact on parse times. But I'm still
>> persistent that the majority of the compile time in the frontend is
>> done in the first semantic pass, and not the read/parser stage. :~)
>>
>>
>
> Rebuilt a compile log with latest gdc as of writing on the 2.059
> frontend / library.
>
> http://iainbuclaw.files.wordpress.com/2012/06/d2time_report32_2059.pdf
> http://iainbuclaw.files.wordpress.com/2012/06/d2time_report64_2059.pdf
>
>
> Notes about it:
> - GCC has 4 new time counters
> - phase setup (time spent loading the compile time environment)
> - phase parsing (time spent in the frontend)
> - phase generate (time spent in the backend)
> - phase finalize (time spent cleaning up and exiting)
>
> - Of the phase parsing stage, it is broken down into 5 components
> - Module::parse
> - Module::semantic
> - Module::semantic2
> - Module::semantic3
> - Module::genobjfile
>
> - Module::read, Module::parse and Module::importAll in the one I did 2
> years ago are now counted as part of just the one parsing stage,
> rather than separate just to make it a little bit more balanced. :-)
>
>
> I'll post a tl;dr later on it.
>
Thank you very much for your work.
More information about the Digitalmars-d
mailing list