On Thursday, 8 November 2018 at 04:16:44 UTC, Manu wrote:
On Tue, Nov 6, 2018 at 10:05 AM Vladimir Panteleev via Digitalmars-d-announce <digitalmars-d-announce@puremagic.com> wrote:

This is a tool + article I wrote in February, but never got around to finishing / publishing until today.

https://blog.thecybershadow.net/2018/02/07/dmdprof/

Hopefully someone will find it useful.

"Indeed, a clean build of DMD itself (about 170’000 lines of D and 120’000 lines of C/C++) takes no longer than 4 seconds to build on a rather average developer machine."

...what!? DMD takes me... (compiling) ... 1 minute 40 seconds to build! And because DMD does all-files-at-once compilation, rather than separate compilation for each source file, whenever you change just one line in one file, you incur that entire build time, every time, because it can't just rebuild the one source file that changed. You also can't do multi-processor builds with all-in-one build strategies.

4 seconds? That's just untrue. D is actually kinda slow these days... In my experience it's slower than modern C++ compilers by quite a lot.

Everything on Windows is slower. I'm 99% sure the fault lies with NTFS.

I worked on a cross platform framework back in the day, nearly all of the code was identical between Linux and Windows. On the same dual-boot machine the build was between one and two orders of magnitude slower on Windows. Again: same code, same machine, no VMs. _Anything_ that used the filesystem was significantly slower, including CMake. It got to the point that the devs that preferred to use Windows only ever used the unity build because incremental ones were too slow to bear.

I'd love to know how long it takes to build clang on your machine.

Reply via email to