Software and Hardware Techniques for Efficient Polymorphic Calls (1999)
| Citations: | 11 - 1 self |
BibTeX
@MISC{Driesen99softwareand,
author = {Karel Driesen},
title = {Software and Hardware Techniques for Efficient Polymorphic Calls},
year = {1999}
}
OpenURL
Abstract
Object-oriented code looks different from procedural code. The main difference is the increased frequency of polymorphic calls. A polymorphic call looks like a procedural call, but where a procedural call has only one possible target subroutine, a polymorphic call can result in the execution of one of several different subroutines. The choice is made at run time, and depends on the type of the receiving object (the first argument). Polymorphic calls enable the construction of clean, modular code design. They allow the programmer to invoke operations on an object without knowing its exact type in advance. This flexibility incurs an overhead: in general, polymorphic calls must be resolved at run time. The overhead of this run time polymorphic call resolution can lead a programmer to sacrifice clarity of design for more efficient code, by replacing instances of polymorphic calls by several single-target procedural calls, removing run time polymorphism. This practice typically leads to a m...







