首页> 外文会议>24th annual ACM conference on object oriented programming, systems, languages and applications 2009 >Empirical Assessment of Object-Oriented Implementations with Multiple Inheritance and Static Taping
【24h】

Empirical Assessment of Object-Oriented Implementations with Multiple Inheritance and Static Taping

机译:具有多重继承和静态编带的面向对象实现的经验评估

获取原文
获取原文并翻译 | 示例

摘要

Object-oriented languages involve a threefold tradeoff between runtime efficiency, expressiveness (multiple inheritance), and modularity, I.e. open-world assumption (OWA). Runtime efficiency is conditioned by both the implementation technique and compilation scheme. The former specifies the data structures that support method invocation, attribute access and subtype testing. The latter consists of the production line of an executable from the source code. Many implementation techniques have been proposed and several compilation schemes can be considered from fully global compilation under the closed-world assumption (CWA) to separate compilation with dynamic loading under the OWA, with midway solutions. This article reviews a significant subset of possible combinations and presents a systematic, empirical comparison of their respective efficiencies with all other things being equal. The testbed consists of the Prm compiler that has been designed for this purpose. The considered techniques include C++ subobjects, coloring, perfect hashing, binary tree dispatch and caching. A variety of processors were considered. Qualitatively, these first results confirm the intuitive or theoretical abstract assessments of the tested approaches. As expected, efficiency increases as CWA strengthens. From a quantitative standpoint, the results are the first to precisely compare the efficiency of techniques that are closely associated with specific languages like C++ and Eiffel. They also confirm that perfect hashing should be considered for implementing Java and .Net interfaces.
机译:面向对象的语言在运行时效率,表达性(多重继承)和模块化(即模块化)之间进行了三重折衷。开放世界假设(OWA)。运行效率受实现技术和编译方案的制约。前者指定了支持方法调用,属性访问和子类型测试的数据结构。后者由源代码可执行文件的生产线组成。已经提出了许多实现技术,可以考虑几种编译方案,从在封闭世界假设(CWA)下的完全全局编译,到在OWA下通过动态加载使用中间解决方案的单独编译。本文回顾了可能组合的重要子集,并在所有其他条件相同的情况下,对它们各自的效率进行了系统的,经验性的比较。测试平台由为此目的而设计的Prm编译器组成。考虑的技术包括C ++子对象,着色,完美散列,二叉树分派和缓存。考虑了多种处理器。定性地,这些最初的结果证实了对所测试方法的直观或理论抽象评估。正如预期的那样,效率随着CWA的增强而提高。从定量的角度来看,结果是第一个精确比较与特定语言(例如C ++和Eiffel)紧密相关的技术的效率的结果。他们还确认,在实现Java和.Net接口时应考虑使用完美的哈希。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号