Optimizing Smalltalk by Selector Code Indexing Can Be Practical

        Selector code indexing is a simple and effective way of optimizing method lookups.
        However, it has not been considered practically applicable in Smalltalk,
        because the space overhead is prohibitive. We proposed a new technique called
        dispatch caches indexed by selector codes (CISCO), which maintains a small number of dispatch tables indexed by a small number of selector codes. The space overhead is thus a small constant, however many classes and selectors there are in a system,
        while it almost maintains the runtime efficiency of selector code indexing. An implementation achieves over 50% speedup in method lookups for the set of programs
        in the Smopstone benchmark.

By: Tamiya Onodera and Hiroaki Nakamura

Published in: RT0145 in 1996

This Research Report is not available electronically. Please request a copy from the contact listed below. IBM employees should contact ITIRC for a copy.

Questions about this service can be mailed to reports@us.ibm.com .