On Wednesday, 21 November 2018 at 13:05:27 UTC, Nicholas Wilson wrote:
On Wednesday, 21 November 2018 at 11:58:25 UTC, Vladimir Panteleev wrote:
Have we tried disabling -unittest for modules that aren't on the compiler's command line yet (or, in case of -i, not excluded)?

Not that I know of, thats a great idea!

Maybe this hack could be developed further into a more generic "compiler server" idea.

Wasn't that Robert's Masters thesis (Dconf 2013(?) presentation)? ;)

The main problem with this, is the amount of context a compilers needs. And the current design of DMD does not lend itself splitting out the context. If you wanted you could consider the semantic pass of the compiler as a database, which answers queries such as:

 - which size does this type have.
 - which arguments does this function have
 - can the type A be casted to type B
 - which conversion function should be invoked for (B)A ?
 - is this function known to be pure?

The data-base containing this information needs to be maintained on the compile-nodes, and that possibly leads to many data-dependencies. Which may degrade the performance of the "compiler server" to the point where it is quicker to do it locally.

I am currently working (albeit very slowly due to lack of time and focus) to enable programmers to circumvent slow parts in compiler. When completed this should make a compiler-server unnecessary for some time to come.

Reply via email to