版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者机构:Univ Colorado Dept Comp Sci Boulder CO 80309 USA Univ Massachusetts Dept Comp Sci Amherst MA 01003 USA
出 版 物:《ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS》 (美国计算机学会程序设计语言与系统汇刊)
年 卷 期:2001年第23卷第1期
页 面:30-72页
核心收录:
学科分类:08[工学] 0835[工学-软件工程] 0812[工学-计算机科学与技术(可授工学、理学学位)]
主 题:algorithms languages performance measurement alias analysis polymorphism classes and objects object orientation method invocation redundancy elimination
摘 要:Object-oriented programming languages provide many software engineering benefits, but these often come at, a performance cost. Object-oriented programs make extensive use of method invocations and pointer dereferences, both of which are potentially costly on modern machines. We show how to use types to produce effective, yet simple, techniques that reduce the costs of these features in Modula-3, a statically typed, object-oriented language. Our compiler performs type-based alias analysis to disambiguate memory references. It uses the results of the type-based alias analysis to eliminate redundant memory references and to replace monomorphic method invocation sites with direct calls. Using Limit, static, and running time evaluation, we demonstrate that these techniques are effective, and sometimes perfect for a set of Medula-3 benchmarks.