[elephant-devel] db gc
Gábor Melis
mega at hotpop.com
Tue Mar 8 15:10:46 UTC 2005
Attached is a patch against cvs HEAD with a small offline gc implementation.
How to test it: Save your data! Invoke elephant::elephant-gc and pray. To see
what it does set elephant::*debug-gc* to t (not recommended for anything
bigger than a test db). AFAIK the size of db files do not necessarily shrink
(not even after a db_checkpoint), because berkeley db keeps the unused
regions around to be reused later.
It does not deserialize everything in the db, but actively looks for oids, so
it is not exceptionally slow only very. Mostly due to I/O I guess: in the
mark phase random seeking really hurts. Reading the db more linearly would
probably help.
Cheers, Gábor
-------------- next part --------------
A non-text attachment was scrubbed...
Name: elephant-gc.patch
Type: text/x-diff
Size: 14788 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20050308/4e73070c/attachment.patch>
More information about the elephant-devel
mailing list