The C++ programming language
A method for hierarchy processing in relational systems
Information Systems
Subtyping and assignment in database programming languages
DBPL3 Proceedings of the third international workshop on Database programming languages : bulk types & persistent data: bulk types & persistent data
Object fault handling for persistent programming languages: a performance evaluation
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
An object server for an object-oriented database system
OODS '86 Proceedings on the 1986 international workshop on Object-oriented database systems
A Relationship Mechanism for a Strongly Typed Object-Oriented Database Programming Language
VLDB '91 Proceedings of the 17th International Conference on Very Large Data Bases
Type hierarchies and Semantic Data Models
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
Time and space efficient method-lookup for object-oriented programs
Proceedings of the seventh annual ACM-SIAM symposium on Discrete algorithms
Hi-index | 0.00 |
Dynamic subclass checks are common in many sub-paradigms of object-oriented programming. These checks may be simply implemented by following the superclass chain through the objects which represent the class hierarchy. However, in large or data-intensive applications, such as OODBMS, this simple checking strategy may have significant efficiency consequences. Very long class chains, which commonly occur, can cause much pointer following, which in turn has a knock-on effect on the overall performance of memory management. Measurements have shown that memory management is the most significant factor in the performance of large object-oriented systems.This paper describes a way of testing if one class is a subclass of another without involving any pointer accesses. On creation, each class is allocated a unique pair of integers, over which subclass tests may be performed using only arithmetic. The technique only works for single inheritance systems; the essence of the technique is to simulate the tree structure of the class hierarchy using the well-understood mathematical model of continued fractions.