Log in |
ZODB Cache ReimplementationWhy?The original ZODB object cache performs poorly under memory pressure, using much processor time and allowing memory usage to grow out of control. This project is a reimplementation to avoid these problems. It may also deliver small performance improvements even if memory pressure is low. For further information see the FAQ, or some implementation notes, or API changes. This work was sponsored by my employer, Gemini Data Loggers. Current VersionThe most up to date version of this code is in Zope CVS. The first release to include these changes is 2.6 alpha 1. Version 4; 2002-02-01A implementation which uses strong references for recently used active (non-ghost) objects. If not accessed for a while they are deactivated (ghostified) and the cache's reference turned into a weak reference, to move the ghost out of memory as soon as possible. This version also supports ZClases. The only difference between this and version 3 is a fix in cPickleCache.c for compiling with Microsoft Visual C, contributed by Lawrence Hudson. This version (and all previous versions below) is based on Zope 2.4.1. It is distributed as three source files, plus one file of small diffs to other Zope sources.
Version 3; 2002-01-28This was the first stable version of the final algorithm. Version 2; 2002-01-25A implementation of Variant A, which uses weak references.. Version 1; 2002-01-25A implementation of Variant B (the variant that does not need weak references, as discussed in the zodb-dev list). |