Eliminating virtual function calls in C++ programs

54Citations
Citations of this article
33Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We have designed and implemented an optimizing source-to-source C++ compiler that reduces the frequency of virtual function calls. Our prototype implementation demonstrates the value of OO-specific optimization for C++. Despite some limitations of our system, and despite the low frequency of virtual function calls in some of the programs, optimization improves the performance of a suite of large C++ applications totalling over 90,000 lines of code by a median of 18% over the original programs and reduces the number of virtual function calls by a median factor of five. For more call-intensive versions of the same programs, performance improved by a median of 26% and the number of virtual calls dropped by a factor of 17.5. Our measurements indicate thatinlining barely increases code size, and that for most programs, the instruction cache miss ratio does not increase significantly.

Cite

CITATION STYLE

APA

Aigner, G. (1996). Eliminating virtual function calls in C++ programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 1098, pp. 142–166). Springer Verlag. https://doi.org/10.1007/bfb0053060

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free