90-38.ps

J. Eliot B. Moss · 1990

CMPSCI TR 90-38 Working with Persistent Objects: To Swizzle or Not to Swizzle J. Eliot B. Moss May 1990 We have developed an abstract model of working with persistent objects, derived from it an an- alytical performance model, and validated the performance model via experimental measurements using the Mneme persistent object store. The abstract model defines the notions of a work session upon a collection of persistent objects, allowing collections to be created, loaded, saved, and worked upon. Throughout a session the identity of the objects is preserved, as opposed to creating new collections of objects. We considered three approaches to managing objects: keeping them in the object store and manipulating them via object store operations; converting all logical pointers to physical pointers (swizzling) within the object store''s buffers; and creating in-memory copies with logical pointers replaced by physical pointers. Our experiments considered object collections that fit in main mem- ory and compared the three approaches with each other, and with a non-persistent baseline where applicable. The in-store approach was found to perform more poorly than the other approaches unless the amount of work was quite small. The copy approach offered the best performance, given that both copies of the object collection fit in main memory. The key result, though, is a simple, accurate, predictive performance model for work sessions. The results are of relevance to designing and implementing object stores, persistent and data base programming languages, design databases, and related applications.

Read the paper · More papers on PaperTik