Re: [xml] dtd and relaxng performance

On Tue, Feb 17, 2004 at 10:43:49AM -0500, Daniel Veillard wrote:
On Tue, Feb 17, 2004 at 04:09:38PM +0100, Petr Pajas wrote:
For DTD validation I used xmllint --timing --notime with either
- --dtdvalid or --relaxng and put the parsing and validating times to
parse, dtd and rng columns. Parsing and compilation of the DTD was so
quick that it's not worth mentioning.

  Hum, this seems to be related to ID/IDREF checking, apparently
a lot of time is spent in xmlListLowerSearch() called from
xmlListInsert() itself called from xmlAddRef() when a new reference
is found.

  Bingo, changing xmlAddRef() to call xmlListAppend instead of xmlListInsert
when hitting a collision in the references seems to remove the problem,
at least for DTD validation.
  Commited in CVS, thanks for reporting the problem,


Daniel Veillard      | Red Hat Network
veillard redhat com  | libxml GNOME XML XSLT toolkit | Rpmfind RPM search engine

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