D compilation is too slow and I am forking the compiler
Stefan Koch
uplink.coder at googlemail.com
Wed Nov 21 13:31:46 UTC 2018
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.
More information about the Digitalmars-d-announce
mailing list