C++, Class flattening, Overhead
Programming Languages and Compilers
Inheritance with derived classes and virtual functions are key design concepts in C++. Despite this, their use can result in significant degradation of run time performance. We present a class flattening tool, which we believe will help eliminate the overhead associated with virtual functions in C++ programs. A flattener may also prove useful in the reuse, debugging, and understanding of C++ components. This report deals with the issues associated with flattening, and then presents a detailed design of such a tool.
Bellur, Umesh; Villarica, Al; Shank, Kevin; Bashir, Imram; and Lea, Doug, "Flattening C++ Classes" (1992). Center for Advanced Systems and Engineering. 1.