-
Barry Warsaw authored
The picklelog branch attempts to improve performance and reduce the possibility of lock file exhaustion by optimistically writing pickle and metadata tables at the store() call instead of during the _finish() call. store() will be bounded in the number of objects it touches, but _finish() is unbounded, so we try to reduce the number of database pages the latter might actually touch. Other performance improvements are implemented based on hotshot profiling. The use of an extension module for Python 2.2 also speeds up a critical loop. This also implements the periodic checkpointing to improve recovery times when the database is not cleanly shutdown.
1c0e3576