Working with persistent objects: to swizzle or not to swizzle
Moss, J.E.B.
Software Engineering, IEEE Transactions on
Volume 18, Issue 8, Aug 1992 Page(s):657 - 673
Digital Object Identifier 10.1109/32.153378
Summary:Pointer swizzling is the conversion of database objects between an
external form (object identifiers) and an internal form (direct memory
pointers). Swizzling is used in some object-oriented databases,
persistent object stores, and persistent and database programming
language implementations to speed manipulation of memory resident data.
The author describes a simplifying model of application behavior,
revealing those aspects where swizzling is most relevant in both
benefits and costs. The model has a number of parameters, which the
authors have measured for a particular instance of the Mneme persistent
object store, varying the swizzling technique used. The results confirm
most of the intuitive, qualitative tradeoffs, with the quantitative data
showing that some performance differences between schemes are smaller
than might be expected. However, there are some interesting effects that
run counter to naive intuition, most of which are explained using deeper
analysis of the algorithms and data structures
View citation and abstract |