Code review comment for lp:~kbielefe/bzr/551391-log-memory-usage

Revision history for this message
John A Meinel (jameinel) wrote :

One thought... dump_all_objects builds a big set to make sure it gets everything, but only once.

If we just ran out of memory, maybe meliae.dump_gc_objects() would be more appropriate? It approximates dumping everything by dumping everything in gc + 1 level of references, it tends to be about 15-50% larger on disk, because of duplicate dumps, and it does miss some stuff, but it avoids needing to keep track of every object.

If we really-really wanted to be evil, we could set the high bit on all refcount values, to indicate this has been dumped, and then walk it again to remove it. But I don't really like mutating important state like that.

« Back to merge proposal