Proceedings of the 11th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications 1996
DOI: 10.1145/236337.236369
|View full text |Cite
|
Sign up to set email alerts
|

The direct cost of virtual function calls in C++

Abstract: We study the direct cost of virtual function calls in C++ programs, assuming the standard implementation using virtual function tables. We measure this overhead experimentally for a number of large benchmark programs, using a combination of executable inspection and processor simulation. Our results show that the C++ programs measured spend a median of 5.2% of their time and 3.7% of their instructions in dispatch code. For "all virtuals" versions of the programs, the median overhead rises to 13.7% (13% of the … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
26
0
1

Year Published

2004
2004
2021
2021

Publication Types

Select...
5
4
1

Relationship

0
10

Authors

Journals

citations
Cited by 85 publications
(27 citation statements)
references
References 11 publications
0
26
0
1
Order By: Relevance
“…For instance, the seminal work by Palsberg and Schwartzbach, [37], presents a very precise, but also expensive, analysis for untyped object-oriented languages. These results have been improved by the same authors, [36], as well as by others, [4,18,15,45], which consider fast, but also imprecise, class analyses for the removal of virtual function calls in C++.…”
Section: Class Analysismentioning
confidence: 84%
“…For instance, the seminal work by Palsberg and Schwartzbach, [37], presents a very precise, but also expensive, analysis for untyped object-oriented languages. These results have been improved by the same authors, [36], as well as by others, [4,18,15,45], which consider fast, but also imprecise, class analyses for the removal of virtual function calls in C++.…”
Section: Class Analysismentioning
confidence: 84%
“…Traditional object oriented approaches classically introduce an abstraction cost that may be leveraged by the use of generic programming [55,56].…”
Section: Appendix a The Tfel Librarymentioning
confidence: 99%
“…In a domain where C and C++ for good reasons are still the dominating languages, efficiency is not a feature among others, it is a prerequisite. OOP, for instance, is still rarely used as some of its fundamental concepts, such as late binding, induce a significant (and in many cases inevitable) overhead [11]. So far, only few studies analyze the costs of aspects.…”
Section: Resource Efficiencymentioning
confidence: 99%