Table of Contents
The problem I plan to study is C++ template performance in both time and space. Existing research in this area has focused on the speed benefits of using templates, but have almost entirely ignored any space penalty that might be associated. They do examine increases in compilation time, although most evidence is anecdotal.
These sites contain promising information. It seems people are calling this subject optimization rather than performance.
He studies C++ templates as a partial evaluation system. He began by exploring the speed of templates, and then continued to discuss redesigning C++ compilers to do partial evaluation.
His papers relevant to my work include
> I guess one big question: you refer to code bloat. Is this code bloat actually causing you problems?
Yes, it is. A map class on my implementation costs 90kb *per instance*. Instances of the list class are about 45kb *per instance*. That means that a large program could produce an enormous executable.
[Veldhuizen:1997:ISCOPE] Will C++ be faster than Fortran?. Springer-Verlag. 1997. Marina del Rey, California. International Scientific Computing in Object-Oriented Parallel Environments. . http://osl.iu.edu/~tveldhui/papers/iscope97/index.html.
[Veldhuizen95b] “Expression templates”. 26-31. http://osl.iu.edu/~tveldhui/papers/Expression-Templates/exprtmpl.html. C++ Report. 5. June 1995. 1040-6042.
[Muller2000] Abstraction benchmarks and performance of C++ applications. The Fourth International Conference on Supercomputing in Nuclear Applications. September 4-7, 2000. Tokyo, Japan. . [http://www.hlrs.de/people/mueller/papers/sna2000/sna2000.ps.gz].