All right, all right! Interim decision regarding qualified Object methods

bearophile bearophileHUGS at lycos.com
Thu Jul 12 04:41:46 PDT 2012


Andrei Alexandrescu:

> The issue is template code bloat. My impression from being in 
> touch with the C++ community for a long time is that virtually 
> nobody even talks about code bloat anymore. For whatever 
> combination of industry and market forces, it's just not an 
> issue anymore.

There is no proof that template bloat won't be a problem in D (I 
remember the first version of the D Objective-C bridge failing 
because of code bloat, the second version seems to require 
changes in the D language). And it seems L1 code caches of CPUs 
aren't growing a lot (so I suggest to not ignore having lot of 
code to swap in and out of those 32 kbytes).

So maybe it will be useful to introduce in D some means to attack 
the code bloat problem from several sides at the same time.

Some time ago I have suggested one of such weapons, the 
@templated() that allows to select what parts of a struct/class 
are templated regarding to what template arguments (it's a 
refinement of an idea of Stroustrup).

Another weapon to attack the problem is introducing in the DMD 
back-end an optimization (already present in LLVM, but I think 
not used on default), merging of functions with the same body 
(leaving just a jump as the body of the removed function, to keep 
their function pointers distinct).

Bye,
bearophile


More information about the Digitalmars-d mailing list