Selector Table Indexing & Sparse Arrays
Karel Driesen
Abstract:
Selector table indexing is a simple technique for method lookup
in object-oriented languages, which yields good performance, is
well suited to multiple inheritance and dynamic typing, but is
generally disregarded for its prohibitive memory consumption. The
large memory footprint is caused by keeping a table of methods,
indexed by a selectorcode, for each class in the system. These tables
are sparsely filled. A sparse array implementation is presented,
which reduces the memory consumption by an order of magnitude, while
performing retrieval in constant time. This implementation is
discussed in the context of a real programming environment, and
compared to selector coloring, a different memory-optimizing
technique. The method is shown to be complementary to dynamic caching
techniques such as inline caching.
Proceedings of the ACM OOPSLA'93 Conference, Washington DC, October 1993
To get the PostScript file, click
here
(PDF).