Several Implementations of Persistent Pointers in a Memory-Mapped I/O Environment

Several techniques for dereferencing persistent pointers have been proposed to improve performance of object-oriented database systems. This paper describes performance experiments to compare several techniques of dereferencing persistent pointers including swizzling and nonswizzling approaches in a memory-mapped I/O environment, and discusses trade-offs among them. All techniques were implemented and evaluated in a persistent programming language called INADA, which exploits facilities of a memory-mapped I/O architecture for implementing persistence of objects. The experiments disclose the fact that the differences among the techniques compared in terms of performance are not significant enough to justify discarding nonswizzling techniques.