Time and Space Efficient Multi-method Dispatching
The dispatching problem for object oriented languages is the problem of determining the most specialized method to invoke for calls at run-time. This can be a critical component of execution performance. A number of recent results, including [Muthukrishnan and Müller SODA’96, Ferragina and Muthukrishnan ESA’96, Alstrup et al. FOCS’98], have studied this problem and in particular provided various efficient data structures for the mono-method dispatching problem. A recent paper of Ferragina, Muthukrishnan and de Berg [STOC’99] addresses the multi-method dispatching problem.
Our main result is a linear space data structure for binary dispatching that supports dispatching in logarithmic time. Using the same query time as Ferragina et al., this result improves the space bound with a logarithmic factor.
KeywordsQuery Time Color Problem Object Oriented Language Sparse Array Tree Color
Unable to display preview. Download preview PDF.
- 1.S. Alstrup, T. Husfeldt, and T. Rauhe. Marked ancestor problems (extended abstract). In IEEE Symposium on Foundations of Computer Science (FOCS), pages 534–543, 1998.Google Scholar
- 2.D. G. Bobrow, L. G. DeMichiel, R. P. Gabriel, S. E. Keene, G. Kiczales, and D. A. Moon. Common LISP object system specification X3J13 document 88-002R. ACM SIGPLAN Notices, 23, 1988. Special Issue, September 1988.Google Scholar
- 3.Craig Chambers. Object-oriented multi-methods in Cecil. In Ole Lehrmann Madsen, editor, ECOOP’ 92, European Conference on Object-Oriented Programming, Utrecht, The Netherlands, volume 615 of Lecture Notes in Computer Science, pages 33–56. Springer-Verlag, New York, NY, 1992.Google Scholar
- 4.Inc. Apple Computer. Dylan interim reference manual, 1994.Google Scholar
- 5.P. F. Dietz. Fully persistent arrays. In F. Dehne, J.-R. Sack, and N. Santoro, editors, Proceedings of the Workshop on Algorithms and Data Structures, volume 382 of Lecture Notes in Computer Science, pages 67–74, Berlin, August 1989. Springer-Verlag.Google Scholar
- 6.Paul F. Dietz and Rajeev Raman. Persistence, amortization and randomization. In Proc. 2nd ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 78–88, 1991.Google Scholar
- 7.M. Dietzfelbinger, A. Karlin, K. Mehlhorn, F. Meyer auf der Heide, H. Rohnert, and R. E. Tarjan. Dynamic perfect hashing: Upper and lower bounds. In 29th Annual Symposium on Foundations of Computer Science (FOCS), pages 524–531. IEEE Computer Society Press, 1988.Google Scholar
- 9.David Eppstein and S. Muthukrishnan. Internet packet filter manegement and rectangle geometry. In ACM-SIAM Symposium on Discrete Algorithms (SODA), 2001.Google Scholar
- 10.P. Ferragina and S. Muthukrishnan. Efficient dynamic method-lookup for object oriented languages. In European Symposium on Algorithms, volume 1136 of Lecture Notes in Computer Science, pages 107–120, 1996.Google Scholar
- 11.P. Ferragina, S. Muthukrishnan, and M. de Berg. Multi-method dispatching: A geometric approach with applications to string matching problems. In Proceedings of the Thirty-First Annual ACM Symposium on Theory of Computing, pages 483–491, New York, May 1–4 1999. ACM Press.Google Scholar
- 15.S. Muthukrishnan and Martin Müller. Time and space efficient method-lookup for object-oriented programs (extended abstract). In Proceedings of the Seventh Annual ACM-SIAM Symposium on Discrete Algorithms, pages 42–51, Atlanta, Georgia, January 28–30 1996.Google Scholar
- 16.R. Raman. Eliminating Amortization: On Data Structures with Guaranteed Response Time. PhD thesis, University of Rochester, Computer Science Department, October 1992. Technical Report TR439.Google Scholar