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++"
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.