On Thursday, 14 August 2014 at 12:56:10 UTC, Rikki Cattermole wrote:
On 15/08/2014 12:47 a.m., Vladimir Panteleev wrote:
On Thursday, 14 August 2014 at 11:54:57 UTC, Rikki Cattermole wrote:
Atleast from my experience with this, its dmd thats actually taking
the time.


I can't glean this from looking at the code, but are you recompiling the entire program? Web development is a perfect fit for incremental compilation, so when changing one web page's template or view code, you
should need to compile only one .d file.

ld and gold seem to support incremental linking, that could help speed
things up as well.

Dub automatically handles caching of dependencies such as vibe-d. So they are not rebuilt.

The only things that get recompiled for example is a single code unit. This is defined as being the dependency between a route file and template files (simplified).

The necessary dependencies such as vibe-d then should be added as part of the build process.

Incremental builds of things such as routes and templates are not a good idea. Same goes for data models. It could change the code unit output a little too much. Possibly even cause a corrupt binary from missing symbols ext.

But in this case none of this matters much. Pretty much I'm only testing against a single route module. No dependencies outside phobos and vibe-d.

My experience with these sort of things suggests that it'll be the linker taking the time. Dynamic libraries are the solution.

Dub needs proper support for dynamic library dependencies.

Reply via email to