[rucksack-devel] Compacting the heap?

John Pallister john at synchromesh.com
Fri Jun 1 15:50:23 UTC 2012


Hello list,

My application (written in LispWorks 6.1 for Windows) uses Rucksack,
and I've found that after running for a long time (i.e. months) and
creating a few objects (about 6,000) and then deleting about half of
them my heap file has grown to 20MB and my objects file is about
500KB. Which is not a problem, but I'm getting large pauses in my
application's execution when I access the Rucksack store.

none of my objects hold references to other objects, only their string IDs.

I'm going to write a routine to periodically copy all the remaining
objects from one store to an empty store with the same schema, then
switch to using the new store. This will hopefully compact the heap
and rebuild the indexes, thereby improving performance.

As I understand it, there's no manual GC operation in the Rucksack
API. Is there something I'm missing, and/or can anyone recommend a
better way to reinvigorate my Rucksack store?

Thanks very much,

John :^P
--
John Pallister
john at johnp.net
john at synchromesh.com




More information about the rucksack-devel mailing list