Single dispatch involves performing at run-time a multi-way switch over the possible classes of the receiver. Most object-oriented systems implement this switch as an array lookup using a table-based technique or as a binary search using a tree-based technique. However, each of these is the best choice only under a particular circumstance; neither outperforms the other under all circumstances. In this paper, we present a time and space efficient implementation of the switch that employs the table-based technique when an array lookup outperforms a binary search and the tree-based technique when a binary search outperforms an array lookup. Further, when neither an array lookup nor a binary search is superior, our scheme blends the two techniq...
Arrays are such a rich and fundamental data type that they tend to be built into a language, either ...
Arrays are such a rich and fundamental data type that they tend to be built into a language, either ...
[[abstract]]©2008 IEEE-Traditionally, conflict resolution in an input- buffered switch is solved by ...
Multiple dispatch allows determining the actual method to be executed, depending on the dynamic type...
In object-oriented programming languages, multiple dispatching provides increased expressive power o...
Many popular object-oriented programming languages, such as C++, Smalltalk-80, Java, and Eiffel, do ...
Message passing is a crucial feature of any object-oriented language implementation. Even more so in...
Dynamic binding in object-oriented languages is perhaps the most important semantic aspect of these ...
AbstractGoals of flexibility and re-usability in typed object-oriented languages suggest the require...
In java, method dispatch is done at runtime, by late-binding, with respect to the dynamic type of th...
Multiple dispatching provides increased expressive power over single dispatching by guiding method l...
. This paper presents the DT Framework, a collection of object-oriented classes representing a gener...
Multiple dispatch uses the run time types of more than one argument to a method call to determine wh...
Mainstream object-oriented languages, such as C++ and Java1, provide only a restricted form of polym...
Dynamic dispatching is a major source of run-time overhead in object-oriented languages, due both to...
Arrays are such a rich and fundamental data type that they tend to be built into a language, either ...
Arrays are such a rich and fundamental data type that they tend to be built into a language, either ...
[[abstract]]©2008 IEEE-Traditionally, conflict resolution in an input- buffered switch is solved by ...
Multiple dispatch allows determining the actual method to be executed, depending on the dynamic type...
In object-oriented programming languages, multiple dispatching provides increased expressive power o...
Many popular object-oriented programming languages, such as C++, Smalltalk-80, Java, and Eiffel, do ...
Message passing is a crucial feature of any object-oriented language implementation. Even more so in...
Dynamic binding in object-oriented languages is perhaps the most important semantic aspect of these ...
AbstractGoals of flexibility and re-usability in typed object-oriented languages suggest the require...
In java, method dispatch is done at runtime, by late-binding, with respect to the dynamic type of th...
Multiple dispatching provides increased expressive power over single dispatching by guiding method l...
. This paper presents the DT Framework, a collection of object-oriented classes representing a gener...
Multiple dispatch uses the run time types of more than one argument to a method call to determine wh...
Mainstream object-oriented languages, such as C++ and Java1, provide only a restricted form of polym...
Dynamic dispatching is a major source of run-time overhead in object-oriented languages, due both to...
Arrays are such a rich and fundamental data type that they tend to be built into a language, either ...
Arrays are such a rich and fundamental data type that they tend to be built into a language, either ...
[[abstract]]©2008 IEEE-Traditionally, conflict resolution in an input- buffered switch is solved by ...