Boost logo

Boost :

From: Jon Kalb (jonkalb_at_[hidden])
Date: 2001-09-20 14:01:03


Thanks for posting this!

After downloading the package, I took the liberty of re-uploading the
JPEGs so that the results (including the graphs) can be browsed without
downloading at:


If for any reason you rather I had not done so, please let me know and
I'll delete them. I couldn't find the file c++boost.gif so that still
appears as a missing graphic.

Jon Kalb
> -----Original Message-----
> From: David Abrahams [mailto:david.abrahams_at_[hidden]] 
> Sent: Thursday, September 20, 2001 11:07 AM
> To: Boost_at_Yahoogroups. Com
> Subject: [boost] Template Instantiation Speed Experiment
> The paper summarized below, including graphs and source code 
> has been uploaded to:
> You can see the full text by looking at index.html, but if 
> you want the embedded graphs, you'll need to download the .tgz file:
As C++ programmers begin to rely on template metaprogramming
constructs[1] for high performance computing, they often find that the
time required to compile their programs grows unacceptably. Because fast
compiles are an important part of an effective code/debug/test cycle, it
becomes important to optimize not only a program's runtime performance,
but its compile-time performance as well. This can be especially true in
a research environment, where it is important to be able to try out new
ideas quickly.
Unfortunately, since the template instantiation mechanism of most
compilers is undocumented, it is far from clear which constructs will
result in faster compilation. Some things seem as though they should
obviously improve things, for example, reducing the number of distinct
types generated, and reducing the overall size of the names of those
types. Beyond that, however, most metaprogrammers are ``flying blind''.
Some will go out of their way to make ``optimizations'' which don't, in
fact, produce the expected result. During a large metaprogramming
project, the authors repeatedly found themselves faced with decisions
about how to structure their program for compilation speed. This paper
presents the results of a few experiments which were able to help.
Info:  Unsubscribe:
Your use of Yahoo! Groups is subject to 

Boost list run by bdawes at, gregod at, cpdaniel at, john at