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