[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