www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Compilation Time

reply "Mattcoder" <fromtheotherside mail.com> writes:
There is an article on reddit: 
http://www.reddit.com/r/programming/comments/27r6v1/jurassic_park_trespasser_cg_source_code_review/

Which is making some noise there, and one thing that called my 
attention was about the compilation time, back then (90's) it 
could consume a considerable amount of time, and according an 
interview with one of developers:

"
Qtrescom.org    : What fraction of the development time was spent 
waiting on the C++ compiler?
Seamus Blackley : It felt like 103%
"

Currently the same 1998/99 C++ code takes around 10 minutes to 
compile on pretty new compilers.

I'm pointing out this game, but this could be generalized for any 
project. The fact is, it could be nice to take a medium/large 
project and see how faster the D compiler is against the others.

Finally my question is: Wouldn't be relevant and a good 
advertisement try to port a code like this to D and compare the 
times? Because one of the strenghts of D it's the fast 
compilation time, right?

Matheus.
Jun 10 2014
next sibling parent Justin Whear <justin economicmodeling.com> writes:
On Tue, 10 Jun 2014 18:12:36 +0000, Mattcoder wrote:

 Finally my question is: Wouldn't be relevant and a good advertisement
 try to port a code like this to D and compare the times? Because one of
 the strenghts of D it's the fast compilation time, right?

I think porting 300k lines of 15+ year-old, heavily-templated C++ would have to be a labor of love. You certainly couldn't pay me to do it.
Jun 10 2014
prev sibling next sibling parent "Dicebot" <public dicebot.lv> writes:
On Tuesday, 10 June 2014 at 18:12:37 UTC, Mattcoder wrote:
 Finally my question is: Wouldn't be relevant and a good 
 advertisement try to port a code like this to D and compare the 
 times? Because one of the strenghts of D it's the fast 
 compilation time, right?

Assuming you have enough RAM (emo)
Jun 10 2014
prev sibling next sibling parent "Mattcoder" <fromtheotherside mail.com> writes:
On Tuesday, 10 June 2014 at 18:19:02 UTC, Justin Whear wrote:
 I think porting 300k lines of 15+ year-old, heavily-templated 
 C++ would
 have to be a labor of love.  You certainly couldn't pay me to 
 do it.

I understand your point, but like I said on my post, I'm using this game as example, this could be generalized with any project with suffers with compilation time, especially those written in C/C++. Matheus.
Jun 10 2014
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Tue, 10 Jun 2014 14:19:02 -0400, Justin Whear  
<justin economicmodeling.com> wrote:

 On Tue, 10 Jun 2014 18:12:36 +0000, Mattcoder wrote:

 Finally my question is: Wouldn't be relevant and a good advertisement
 try to port a code like this to D and compare the times? Because one of
 the strenghts of D it's the fast compilation time, right?

I think porting 300k lines of 15+ year-old, heavily-templated C++ would have to be a labor of love. You certainly couldn't pay me to do it.

Heavily Templated? Yeah, and you may get to the end and find out you don't have enough RAM to compile it in D... -Steve
Jun 10 2014
prev sibling next sibling parent "Casper =?UTF-8?B?RsOmcmdlbWFuZCI=?= <shorttail hotmail.com> writes:
What's the current record for RAM usage?
Jun 10 2014
prev sibling next sibling parent "Burp" <brpy yahoo.com> writes:
  I'm not sure how valid the comparison would be, even if someone 
did port it to D.

That C++ project is very old, and was likely not organized to 
minimize compilation times, may not have used precompiled headers 
etc.

  It is possible to set up C++ projects such that even very large 
ones will compile(incrementally) in only a few seconds(depends on 
what you changed), although it is something of a pain in the ass 
and requires a fair amount of work on the developers part.



On Tuesday, 10 June 2014 at 18:27:52 UTC, Mattcoder wrote:
 On Tuesday, 10 June 2014 at 18:19:02 UTC, Justin Whear wrote:
 I think porting 300k lines of 15+ year-old, heavily-templated 
 C++ would
 have to be a labor of love.  You certainly couldn't pay me to 
 do it.

I understand your point, but like I said on my post, I'm using this game as example, this could be generalized with any project with suffers with compilation time, especially those written in C/C++. Matheus.

Jun 10 2014
prev sibling next sibling parent Justin Whear <justin economicmodeling.com> writes:
On Tue, 10 Jun 2014 18:35:52 +0000, Casper Færgemand wrote:

 What's the current record for RAM usage?

I got DMD to consume 174GB before killing it: https://issues.dlang.org/ show_bug.cgi?id=12844
Jun 10 2014
prev sibling parent "Paulo Pinto" <pjmlp progtools.org> writes:
On Tuesday, 10 June 2014 at 18:36:20 UTC, Burp wrote:
  I'm not sure how valid the comparison would be, even if 
 someone did port it to D.

 That C++ project is very old, and was likely not organized to 
 minimize compilation times, may not have used precompiled 
 headers etc.

  It is possible to set up C++ projects such that even very 
 large ones will compile(incrementally) in only a few 
 seconds(depends on what you changed), although it is something 
 of a pain in the ass and requires a fair amount of work on the 
 developers part.

Even with all that work, a build can take hours when someone has the wonderful idea of doing "make clean all". Sadly modules are still work in progress. "Switch to D now or wait until 2020!" :) -- Paulo
Jun 11 2014