Hacker News new | ask | show | jobs
by vidugavia 1946 days ago
Is the lack of incremental compilation aproblem with dub or with D compiler in general?
3 comments

It's a problem with dub. The D compiler operates basically exactly like a C compiler would as far as I'm aware.

Note that in most cases an incremental build isn't really required for D because for moderately complex projects you're often limited by linking speed, not compiling speed.

Both. Incremental compilation is possible to an extent, and reggae[0] does it. However, due to the semantics of d imports and templates, compiling a module will require at least cursory parsing and semantic analysis of all the modules it imports. Meaning that for a binary with a single entry point, modifying pretty much any module will require recompilation of the top-level module, which means there's a certain degree of incrementality you can never reach.

0. https://github.com/atilaneves/reggae

dub does incremental builds.
On a per-file basis? Afaik it works with package granularity, so if you change one line of a package, you're SOL.
Per-package translation unit are faster than per-file translation units.