首页> 外文期刊>Software >Perfect class hashing and numbering for object-oriented implementation
【24h】

Perfect class hashing and numbering for object-oriented implementation

机译:完美的类哈希和编号,用于面向对象的实现

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

摘要

Late binding and subtyping create run-time overhead for object-oriented languages, especially in the context of both multiple inheritance and dynamic loading, for instance for JAVA interfaces. In a previous article, we proposed a novel approach based on perfect hashing and truly constant-time hashtables for implementing subtype testing and method invocation in a dynamic loading setting. In this first study, we based our efficiency assessment on Driesen's abstract computational model for the time aspect, and on large-scale benchmarks for the space aspect. The conclusions were that the technique was promising but required further research in order to assess its scalability. This article presents some new results on perfect class hashing that enhance its interest. We propose and test both new hashing functions and an inverse problem that amounts to selecting the best class identifiers in order to minimize the overall hashtable size. This optimizing approach is proven to be optimal for single-inheritance hierarchies. Experiments within an extended testbed with random class loading and under cautious assumptions about what should be a sensible class-loading order show that perfect class hashing scales up gracefully, especially on JAVA-like multiple-subtyping hierarchies. Furthermore, perfect class hashing is implemented in the Prm compiler testbed, and compared here with the coloring technique, which amounts to maintaining the single-inheritance implementation in multiple inheritance. The overall conclusion is that the approach is efficient from both time and space standpoints with the bit-wise and hashing function. In contrast, the poor time efficiency of modulus hashing function on most processors is confirmed.
机译:后期绑定和子类型化为面向对象的语言增加了运行时开销,尤其是在多重继承和动态加载的环境下,例如对于JAVA接口。在上一篇文章中,我们提出了一种基于完美哈希和真正恒定时间哈希表的新颖方法,用于在动态加载设置中实现子类型测试和方法调用。在第一项研究中,我们将效率评估基于时间方面的Driesen抽象计算模型,以及空间方面的大规模基准。结论是该技术很有前途,但需要进一步研究以评估其可扩展性。本文介绍了一些关于完美类哈希的新结果,这些新结果增强了它的兴趣。我们提出并测试了新的哈希函数和一个反问题,该问题相当于选择最佳的类标识符,以使总体哈希表的大小最小。实践证明,这种优化方法对于单继承层次结构是最佳的。在扩展的测试床上进行的随机类加载实验以及在谨慎的假设下应该合理地确定类加载顺序的实验表明,完美的类哈希可以优雅地扩展,尤其是在类似于JAVA的多子类型分层结构上。此外,完美的类哈希是在Prm编译器测试平台上实现的,并且在这里与着色技术进行了比较,这相当于在多继承中维护单继承实现。总的结论是,从时间和空间的角度来看,该方法都具有按位和散列函数,因此非常有效。相反,在大多数处理器上,模数哈希函数的时间效率很低。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号