LDC: Speed up incremental builds with object file caching
Johan Engelen via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Sun Sep 18 02:10:41 PDT 2016
On Sunday, 18 September 2016 at 08:14:47 UTC, Martin Nowak wrote:
>
> Interesting approach to speed up compilation without running
> into dmd's problems of template instance emission when
> compiling multiple modules to multiple objects.
I think LDC has the same problems (template instances are emitted
in the first module not the one that needed the instantiation?).
Knowing this, you may be able to set up a case where things
break, but I think it would have to involve recompilation with a
different set of sources than the first compile. E.g. `ldc2 -c
a.d b.d c.d` first, then `ldc2 -c b.d c.d`, and then trying to
link. Which probably doesn't work well without caching either...
We should deprecate non-singleobj compiles.
> Many people use noatime or relatime when mounting their
> filesystems, so access time isn't the best eviction strategy
> unless you touch the files.
I forgot to mention this in the article, thanks! I read that a
file's last access timestamp may also not be updated on Windows
(default Windows 7 setting), so I already had LDC `touch` the
cached file upon a cache hit. Added it as a footnote in the
article.
More information about the Digitalmars-d-announce
mailing list