View mode: basic / threaded / horizontal-split · Log in · Help
February 16, 2008
D slower than C++ in compile time
Gregor once explained why build tools need to call DMD once per file:
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=57473

This makes dsss look like it is slow, but actually this is a concequence 
of a DMD workaround.

For the DWT library this would lead to compile times >15 minutes!

In the past I found the compile times always a big argument for D. 
Hopefully this point gets attention at digitalmars ;)
February 16, 2008
Re: D slower than C++ in compile time
Frank Benoit escribió:
> Gregor once explained why build tools need to call DMD once per file:
> http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=57473 
> 
> 
> This makes dsss look like it is slow, but actually this is a concequence 
> of a DMD workaround.
> 
> For the DWT library this would lead to compile times >15 minutes!
> 
> In the past I found the compile times always a big argument for D. 
> Hopefully this point gets attention at digitalmars ;)

Descent will probably do incremental compiling in the next release. Does 
what Gregor say also affects it? If so, vote++ :)
February 16, 2008
Re: D slower than C++ in compile time
Ary Borenszweig wrote:
> Frank Benoit escribió:
>> Gregor once explained why build tools need to call DMD once per file:
>> http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=57473 
>>
>>
>> This makes dsss look like it is slow, but actually this is a 
>> concequence of a DMD workaround.
>>
>> For the DWT library this would lead to compile times >15 minutes!
>>
>> In the past I found the compile times always a big argument for D. 
>> Hopefully this point gets attention at digitalmars ;)
> 
> Descent will probably do incremental compiling in the next release. Does 
> what Gregor say also affects it? If so, vote++ :)

IIRC, Gregor made this change because all-at-once compilation causes 
some code generation errors/bugs because some code generated code is not 
marked correctly. I don't remember the details, though, or what it 
exactly affects..
February 16, 2008
Re: D slower than C++ in compile time
Alexander Panek schrieb:
> Ary Borenszweig wrote:
>> Frank Benoit escribió:
>>> Gregor once explained why build tools need to call DMD once per file:
>>> http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=57473 
>>>
>>>
>>> This makes dsss look like it is slow, but actually this is a 
>>> concequence of a DMD workaround.
>>>
>>> For the DWT library this would lead to compile times >15 minutes!
>>>
>>> In the past I found the compile times always a big argument for D. 
>>> Hopefully this point gets attention at digitalmars ;)
>>
>> Descent will probably do incremental compiling in the next release. 
>> Does what Gregor say also affects it? If so, vote++ :)

yes.

> 
> IIRC, Gregor made this change because all-at-once compilation causes 
> some code generation errors/bugs because some code generated code is not 
> marked correctly. I don't remember the details, though, or what it 
> exactly affects..

is the link not working?
February 16, 2008
Re: D slower than C++ in compile time
It will if I want to do any incremental compiling, which is what I've started in Trunk. It's not too late to change this, so I think I'll make an option "allow incremental compilation" or something. If that's off, it'll just pass the compiler a huge list of files. A era fix would be awesome though. 

Ary Borenszweig Wrote:

> Frank Benoit escribió:
> > Gregor once explained why build tools need to call DMD once per file:
> > http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=57473 
> > 
> > 
> > This makes dsss look like it is slow, but actually this is a concequence 
> > of a DMD workaround.
> > 
> > For the DWT library this would lead to compile times >15 minutes!
> > 
> > In the past I found the compile times always a big argument for D. 
> > Hopefully this point gets attention at digitalmars ;)
> 
> Descent will probably do incremental compiling in the next release. Does 
> what Gregor say also affects it? If so, vote++ :)
February 16, 2008
Re: D slower than C++ in compile time
Frank Benoit wrote:
> Gregor once explained why build tools need to call DMD once per file:
> http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=57473 
> 
> 
> This makes dsss look like it is slow, but actually this is a concequence 
> of a DMD workaround.
> 
> For the DWT library this would lead to compile times >15 minutes!
> 
> In the past I found the compile times always a big argument for D. 
> Hopefully this point gets attention at digitalmars ;)

Ditch DMD for serious work. And the frontend has enough bugs....

It would be nice Walter could add a couple people who just manage 
bugfixes, then put the dmd frontend on dsource.
February 16, 2008
Re: D slower than C++ in compile time
Frank Benoit Wrote:

> Gregor once explained why build tools need to call DMD once per file:
> http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=57473
> 
> This makes dsss look like it is slow, but actually this is a concequence 
> of a DMD workaround.
> 
> For the DWT library this would lead to compile times >15 minutes!
> 
> In the past I found the compile times always a big argument for D. 
> Hopefully this point gets attention at digitalmars ;)

I don't understand from that link what the problem is. Is there any situation where if you pass a complete list of D files to DMD that it won't generate the correct code? Or is this isolated to situations where you're trying to incrementally compile, which has never worked all that great with DMD and will very quickly be slower than calling it with everything? All Gregor says is that it produces larger executables than strictly necessary which is a problem, sure, but a completely usable workaround and far from the show-stopping bugs that should be Walter's primary concern right now.

There may be a way to build a more intelligent linker that can produce tighter executables based on knowledge about how D works. I'll look into it, but I can't guarantee when.
February 16, 2008
Re: D slower than C++ in compile time
Burton Radons wrote:

> Frank Benoit Wrote:
> 
>> Gregor once explained why build tools need to call DMD once per file:
>>
http://www.digitalmars.com/webnews/newsgroups.php?art_group=digitalmars.D&article_id=57473
>> 
>> This makes dsss look like it is slow, but actually this is a concequence
>> of a DMD workaround.
>> 
>> For the DWT library this would lead to compile times >15 minutes!
>> 
>> In the past I found the compile times always a big argument for D.
>> Hopefully this point gets attention at digitalmars ;)
> 
> I don't understand from that link what the problem is. Is there any
> situation where if you pass a complete list of D files to DMD that it
> won't generate the correct code? Or is this isolated to situations where
> you're trying to incrementally compile, which has never worked all that
> great with DMD and will very quickly be slower than calling it with
> everything? All Gregor says is that it produces larger executables than
> strictly necessary which is a problem, sure, but a completely usable
> workaround and far from the show-stopping bugs that should be Walter's
> primary concern right now.
> 
> There may be a way to build a more intelligent linker that can produce
> tighter executables based on knowledge about how D works. I'll look into
> it, but I can't guarantee when.

The link problems have usually stemmed from trying to build libraries which
are then built into an application. Typically the compiler has been so
focused on creating objects for an executable, that there has been missing
and/or conflicting symbols if building an library instead. This has in
particular been a problem with templates, template instances and so.

-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource, #d.tango & #D: larsivi
Dancing the Tango
February 16, 2008
Re: D slower than C++ in compile time
Christopher Wright wrote:
> Ditch DMD for serious work. And the frontend has enough bugs....
> 
> It would be nice Walter could add a couple people who just manage 
> bugfixes, then put the dmd frontend on dsource.

Ideally Walter would release his pile of test cases. He's said that one problem 
with patches on Bugzilla is that you can't be sure whether they don't break 
something else. Well, the problem is that whoever writes the patches can't be 
sure either, since he doesn't have all the tests Walter uses.

If we had the tests, we could write patches for the frontend and be able to 
unequivocally state that they work. Plus, it'd help in understanding the 
frontend code - "if I change this all of these stop working, why is that?" - 
which in turn may lead to more patches.

-- 
E-mail address: matti.niemenmaa+news, domain is iki (DOT) fi
February 17, 2008
Re: D slower than C++ in compile time
Matti Niemenmaa escribió:
> Christopher Wright wrote:
>> Ditch DMD for serious work. And the frontend has enough bugs....
>>
>> It would be nice Walter could add a couple people who just manage 
>> bugfixes, then put the dmd frontend on dsource.
> 
> Ideally Walter would release his pile of test cases.

Isn't that dstress? There's quite a lot of test code there...
« First   ‹ Prev
1 2
Top | Discussion index | About this forum | D home