Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Paper: "<h1>The Direct Cost of Virtual Function Calls in C++"
[go: Go Back, main page]

The Direct Cost of Virtual Function Calls in C++


Karel Driesen and Urs Hölzle
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 instructions). The "thunk" variant of the virtual function table implementation reduces the overhead by a median of 21% relative to the standard implementation. On future processors, these overheads are likely to increase moderately.
OOPSLA'96 proceedings, SIGPLAN Notices 31(10), October 1996.

To get the PostScript file, click here (PDF).


<A HREF="[an error occurred while processing this directive]&quot;&gt;</A>