[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [xml] xmlNewChild(...) slow in version 2.6.16-7 (debian sarge)



On Wed, Oct 24, 2007 at 11:07:21AM +0200, Dominik Raddatz wrote:
> Hi,
> 
> the following statement seems somewhat slow:
> 
> xmlNodePtr myNode;
> xmlChar *myText;
> ...
> xmlNewChild(myNode, NULL, BAD_CAST "description", BAD_CAST myText);
> 
> takes about 25 ms when myText is 50kB; profiling suggests it wastes much time 
> using "xmlStrlen()".
> 
> the comparable statements
> 
> xmlNodePtr newNode=xmlNewChild(myNode, NULL, BAD_CAST "description", NULL);
> xmlNodeAddContent(newNode, BAD_CAST myText);
> 
> are much faster, using less than 1 ms with the same text.
> 
> I haven't found any hint about whether this was a known problem and has been 
> fixed in later versions.

  it's not comparable as far as I can tell.
The first one will scan (in xmlStringGetNodeList) for entities or
character references (maybe that can be optimized), and the later just
adds the string content as is as a text node value (via xmlNodeAddContentLen)

Daniel

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]