[dmd-internals] 3rd Biweekly Sprint Planning

Martin Nowak via dmd-internals dmd-internals at puremagic.com
Tue Aug 11 06:24:11 PDT 2015


On 08/10/2015 06:30 PM, Martin Nowak via dmd-internals wrote:
> Regarding the ddmd switch I'd suggest to first make a spec story to
> understand and break down what needs to be done. We should closely
> coordinate this with people from the GDC and LDC team.

From an email conversation with Walter and Daniel:

On 08/11/2015 10:11 AM, Walter Bright wrote:
>
>
> On 8/11/2015 12:41 AM, Daniel Murphy wrote:
>> You need to sign off on the generated D source,
>
> It passes the test suite, right? Then let's just switch to it. I expect
> we'll fix it up over time, after all, that's the point.
>
>>   and we need to pick
>> host compilers for each major platforms that produce a fast enough dmd
>> binary.
>
> Let's use 2.068 dmd for that. When ldc/gdc are up to 2.068, we can
> switch to them if necessary.
>

Please don't underestimate the problem.

If we release a self-hosted compiler that is 30% slower, then the
message between the lines is that's b/c of D is slower than C++.
And we already had some major slowdowns in the past versions, adding
another 30% risks to kill one of D's major selling points (compile times
have been stressed a lot as major advantage but aren't nearly as fast as
they used to be).

I just took these numbers from dmd/ddmd master (ddmd was compiled with
-O -inline -release).

relative numbers:
https://dawg.eu/dmd_vs_ddmd_time.html
absolute numbers:
https://dawg.eu/dmd_vs_ddmd_time.html#abs

And the profiles of both are very similar, e.g. comparing the relative
times spend compiling dub.
https://dawg.eu/dmd_vs_ddmd_prof.svg

The _d_new* and _memcpy times in ddmd are compensated by malloc time in
dmd, so the only real difference is TemplateInstance::semantic which is
only good for 1%.

A uniformely slowdown of 30% b/c of an inferior backend isn't something
we can resolve. So the necessity for ldc/gdc is already clear.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puremagic.com/pipermail/dmd-internals/attachments/20150811/c6d3724d/attachment.sig>


More information about the dmd-internals mailing list