Re: [xml] Re: A new set of (tree) APIs for the XML parser.



On Thu, Sep 25, 2003 at 08:50:33AM -0700, Aleksey Sanin wrote:
Daniel,

Thanks for long explanations! I already tried your beta2 with xmlsec and 
everything
was smooth. Thus I did not complain :) I am planning to try to switch to 
a new API as
soon as I finish my current xmlsec-mscrypto stuff (yes, I was forced to 
use Windows :) ).

  Yup seen the commits. I might be interested in borrowing some of
your code and ideas about dynamic loading of shared library, for example
if I were to try to extend tools like xsltproc with language interpreters...

I guess I would have comments

I wonder if you did any performance tests for the LibXML2 in 
"dictionary" mode? It would

  this would rather be the opposite, I didn;''t do any serious change without
checking them with timing tests and valgrind/cachegrind/kcachegrind

be very interesting to see how this affected parser speed/memory usage. 

  well the dictionary is used at various levels, within the parser, which
minimize strings allocations and comparisons, and at the tree build which
is a parse option. It's easy to check the later, just run with and without
--nodict to see the impact with --timing, this is less efficient w.r.t.
the memory consumption than what I expected but it's still a serious speed
boost.

Also you have said
that only "short text nodes" would be cached. I could not find an option 
to set the max length
for cached text nodes. Does there exist one?

  Hum, no, it's not an user option. Currently it's limited to 
text nodes of less than 3 bytes or blanks nodes (formatting spaces)
of less than 60 bytes to not explode the dictionnary.
  The dictionnary size is important, or rather keeping lookup fast
is important both for string lookup and checking if a string pertains to
the dictionary (Lookup and Owns operations, see dict.c if interested).

Daniel

-- 
Daniel Veillard      | Red Hat Network https://rhn.redhat.com/
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]