Compilation times and idiomatic D code

Seb via Digitalmars-d digitalmars-d at puremagic.com
Fri Jul 14 16:35:31 PDT 2017


On Friday, 14 July 2017 at 22:45:44 UTC, H. S. Teoh wrote:
> Result: 8MB executable size (!).
>
> Of course, this comes at a runtime cost of an added level of 
> indirection (now you have to call a virtual function through 
> the interface to integrate with earlier components in the 
> pipeline).  But at a 60% reduction in executable size, I think 
> it's a worthwhile tradeoff.  :-)

That's a very interesting idea!
However, I wouldn't want to insert this into code manually, maybe 
a simple flag-opt-in support in DMD that detects UFCS pipes with 
X components and then inserts the type erasure hack could solve 
most problems for the time being? That way it wouldn't create a 
WTF moment when explaining D code and when Stefan or someone else 
manages to implement something more sophisticated, no code would 
need an update.




More information about the Digitalmars-d mailing list