首页> 外文会议>Workshop on Algorithm Engineering and Experiments >Implementing Partial Persistence in Object-Oriented Languages
【24h】

Implementing Partial Persistence in Object-Oriented Languages

机译:以面向对象语言实现部分持久性

获取原文

摘要

A partially persistent data structure is a data structure which preserves previous versions of itself when it is modified. General theoretical schemes are known (e.g. the fat node method) for making any data structure partially persistent. To our knowledge however no general implementation of these theoretical methods exists to date. This paper evaluates different methods to achieve this goal and presents the first working implementation of partial persistence in the object-oriented language Java. Our approach is transparent, i.e., it allows any existing data structures to become persistent without changing its implementation where all previous solutions require an extensive modification of the code by hand. This transparent property is important in view of the large number of algorithmic results that rely on persistence. Our implementation uses aspect-oriented programming, a modularization technique which allows us to instrument the existing code with the needed hooks for the persistence implementation. The implementation is then validated by running benchmarks to analyze both the cost of persistence and of the aspect oriented approach. We also illustrate its applicability by implementing a random binary search tree and making it persistent, and then using the resulting structure to implement a point location data structure in just a few lines.
机译:部分持久的数据结构是一种数据结构,它在修改时保留先前版本的自身版本。通用理论方案是已知的(例如,脂肪节点方法),用于使任何数据结构部分持久性。迄今为止,我们的知识不存在这些理论方法的一般实施。本文评估了不同的方法来实现这一目标,并介绍了面向对象语言Java中部分持久性的第一个工作实现。我们的方法是透明的,即,它允许任何现有数据结构在不改变其实现的情况下持久地持久,在此之前,所有先前的解决方案都需要通过手头进行广泛修改代码。鉴于依赖于持久性的大量算法结果,这种透明的属性很重要。我们的实现采用面向方面的编程,一种模块化技术,该技术允许我们使用所需的挂钩仪器仪器为持久性实现。然后通过运行基准来验证实现,以分析持久性成本和面向方面的方法。我们还通过实现随机二进制搜索树来说明其适用性并使其持久地,然后使用产生的结构以仅几行实现点位置数据结构。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号