On 9/18/2016 7:05 PM, Brad Roberts via Digitalmars-d wrote:
This is nice in the case of no changes, but problematic in the case of some
changes. The standard write new, rename technique never has either file in a
half-right state. The file is atomically either old or new and nothing in
between. This can be critical.
As for compilation, I bet considerable speed increases could be had by never
writing object files at all. (Not only does it save the read/write file time,
but it saves the encoding into the object file format and decoding of that
format.) Have the compiler do the linking directly.
dmd already does this for generating library files directly, and it's been very
successful (although sometimes I suspect nobody has noticed(!) which is actually
a good thing). It took surprisingly little code to make that work, though doing
a link step would be far more work.