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