• Barry Warsaw's avatar
    Merging in changes from the bsddb3Storage-picklelog-branch. Briefly: · 1c0e3576
    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
BDBFullStorage.py 67.3 KB