On 13 June 2012 12:47, Iain Buclaw <ibuc...@ubuntu.com> wrote: > On 13 June 2012 12:33, Kagamin <s...@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. -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';