www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Anybody know of a large D project for me to time builds on?

reply "Atila Neves" <atila.neves gmail.com> writes:
Largest I've found so far is Phobos (>90k SLOC according to 
dscanner), which I have to write a build description for. I 
really want to get some memory and speed stats and compare the 
current state of affairs with using Ninja on it. _Especially_ 
when it comes to change-on-file builds.

Atila
Jun 02 2015
next sibling parent reply "deadalnix" <deadalnix gmail.com> writes:
On Tuesday, 2 June 2015 at 21:00:47 UTC, Atila Neves wrote:
 Largest I've found so far is Phobos (>90k SLOC according to 
 dscanner), which I have to write a build description for. I 
 really want to get some memory and speed stats and compare the 
 current state of affairs with using Ninja on it. _Especially_ 
 when it comes to change-on-file builds.

 Atila
SDC sounds like a good candidate, about 35k LOC test excluded of what I would call idiomatic D (meaning there are template all over the place). Compilation is set by default on a per package basis, which IMO is the most sensible default for D, but the build also support separate compilation.
Jun 02 2015
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 6/2/15 2:05 PM, deadalnix wrote:
 On Tuesday, 2 June 2015 at 21:00:47 UTC, Atila Neves wrote:
 Largest I've found so far is Phobos (>90k SLOC according to dscanner),
 which I have to write a build description for. I really want to get
 some memory and speed stats and compare the current state of affairs
 with using Ninja on it. _Especially_ when it comes to change-on-file
 builds.

 Atila
SDC sounds like a good candidate, about 35k LOC test excluded of what I would call idiomatic D (meaning there are template all over the place). Compilation is set by default on a per package basis, which IMO is the most sensible default for D, but the build also support separate compilation.
BTW how long does a cold build of sdc take? -- Andrei
Jun 02 2015
parent reply "deadalnix" <deadalnix gmail.com> writes:
On Tuesday, 2 June 2015 at 21:29:19 UTC, Andrei Alexandrescu 
wrote:
 BTW how long does a cold build of sdc take? -- Andrei
What do you mean by cold build ? After make clean, without parallelism, on SSD on a "Intel(R) Core(TM) i7-4980HQ CPU 2.80GHz", about 10s for the par package build, and about 30s using separate compilation. I have to salute the DMD team for that, as bot so long ago, it required more than a minute and 3Gb of RAM. It is very easy and fast to build now.
Jun 02 2015
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 6/2/15 3:55 PM, deadalnix wrote:
 On Tuesday, 2 June 2015 at 21:29:19 UTC, Andrei Alexandrescu wrote:
 BTW how long does a cold build of sdc take? -- Andrei
What do you mean by cold build ? After make clean, without parallelism, on SSD on a "Intel(R) Core(TM) i7-4980HQ CPU 2.80GHz", about 10s for the par package build, and about 30s using separate compilation.
Thanks! Yah, I meant build after clean.
 I have to salute the DMD team for that, as bot so long ago, it required
 more than a minute and 3Gb of RAM. It is very easy and fast to build now.
Was that bad in both per-package and per-module compilation, or only per-package? Andrei
Jun 02 2015
parent "deadalnix" <deadalnix gmail.com> writes:
On Tuesday, 2 June 2015 at 23:08:37 UTC, Andrei Alexandrescu 
wrote:
 I have to salute the DMD team for that, as bot so long ago, it 
 required
 more than a minute and 3Gb of RAM. It is very easy and fast to 
 build now.
Was that bad in both per-package and per-module compilation, or only per-package?
For most of the time, separate compilation was not possible at all because of various closure bugs. When it became possible at all it was a great relief. It was more intensive on CPU because of duplicated work, but it helped the memory consumption, which was an issue as 3+ Gb can make you swap pretty easily when you have other programs open (browsers, all of you, I'm looking at you. Do you have some kind of agreement with RAM manufacturer ?).
Jun 02 2015
prev sibling next sibling parent "weaselcat" <weaselcat gmail.com> writes:
On Tuesday, 2 June 2015 at 21:00:47 UTC, Atila Neves wrote:
 Largest I've found so far is Phobos (>90k SLOC according to 
 dscanner), which I have to write a build description for. I 
 really want to get some memory and speed stats and compare the 
 current state of affairs with using Ninja on it. _Especially_ 
 when it comes to change-on-file builds.

 Atila
vibe.d is ~30k SLOC.
Jun 02 2015
prev sibling next sibling parent "Dicebot" <public dicebot.lv> writes:
DDMD output was 100+ KLOC afair
Jun 02 2015
prev sibling next sibling parent ketmar <ketmar ketmar.no-ip.org> writes:
On Tue, 02 Jun 2015 21:00:46 +0000, Atila Neves wrote:

 Largest I've found so far is Phobos (>90k SLOC according to dscanner),
 which I have to write a build description for. I really want to get some
 memory and speed stats and compare the current state of affairs with
 using Ninja on it. _Especially_ when it comes to change-on-file builds.
Deadcode is fairly big project: https://github.com/jcd/deadcode =
Jun 02 2015
prev sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2015-06-02 23:00, Atila Neves wrote:
 Largest I've found so far is Phobos (>90k SLOC according to dscanner),
 which I have to write a build description for. I really want to get some
 memory and speed stats and compare the current state of affairs with
 using Ninja on it. _Especially_ when it comes to change-on-file builds.
Both Tango [1] and DWT [2] are large projects. They are mostly using D1 features, not so much templates and similar stuff. It could be interesting as well. [1] https://github.com/SiegeLord/Tango-D2 [2] https://github.com/d-widget-toolkit/dwt -- /Jacob Carlborg
Jun 03 2015
parent Jacob Carlborg <doob me.com> writes:
On 2015-06-03 09:53, Jacob Carlborg wrote:

 Both Tango [1] and DWT [2] are large projects. They are mostly using D1
 features, not so much templates and similar stuff. It could be
 interesting as well.

 [1] https://github.com/SiegeLord/Tango-D2
 [2] https://github.com/d-widget-toolkit/dwt
Number of lines for DWT: Windows port: 213 556 Linux port: 198 911 Base library: 13 138 Total: 425 605 Number of lines for Tango: 283 728 -- /Jacob Carlborg
Jun 03 2015