Re: [xml] dtd and relaxng performance



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Daniel Veillard <veillard redhat com> writes:

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.

Indeed, that fixed it for both DTD and RelaxNG.


  Commited in CVS, thanks for reporting the problem,

Thank you very much, that was really quick!

/petr
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD8DBQFAMycjQfxdLDi03+IRAm5MAJ42c5+8UlXaBjIviPKCbnWDmGzgzACfV/0p
4xaDlZpi6ljel8Vi9gHVY4Y=
=m9hx
-----END PGP SIGNATURE-----



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