In message <[EMAIL PROTECTED]>
          Charlie Savage <[EMAIL PROTECTED]> wrote:

> > 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.
> 
> Ah - interesting.  A hybrid approach is extremely difficult because it
> means you have to keep track of the ruby to libxml object mapping.  For
> example, say you have some ruby code that create a libxml node.  That
> ruby object would then implement a free method that frees the libxml
> node.  But let's say you end up with a 2nd ruby object pointing to the
> same libxml object (which is really easy to do) - now you have a problem.

Keeping track of the mapping is exactly what I wound up doing in
my patch - just for attributes and elements I think although the
problem probably exists with other objects as well and could do
with extending.

Tom

-- 
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/
_______________________________________________
libxml-devel mailing list
libxml-devel@rubyforge.org
http://rubyforge.org/mailman/listinfo/libxml-devel

Reply via email to