On Thu, 2007-23-08 at 10:45 -0600, Charlie Savage wrote:

> Would the solution be a simple as having ruby nodes *never* freeing 
> libxml objects except the toplevel document (since it sounds like libxml 
> cleans up after itself).

Not all nodes wind up in documents, so unless you're prepared for
possibly large memory leaks that is not going to work.

> It seems like a fundamental decision has to be made - who is responsible 
> for freeing allocated nodes.  Ruby?  Libxml?  Having both do it, which 
> sounds like the current situation, is obviously totally non-workable.

The problem is that some nodes are allocated by libxml by parsing
documents, processing xsl, etc, and some directly by ruby.  I think the
hybrid approach is necessary in order to get the speed benefits of using
libxml, and I think a hybrid approach to freeing is therefore necessary.
It does seem to demand a bit more smarts though, from the memory freeing
mechanisms.

__
Marc

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
libxml-devel mailing list
libxml-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/libxml-devel

Reply via email to