OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] [ANN] Fast XML Pull Parser 0.3 released

Fabrice Desré - France Telecom DR&D/MAPS/AMS wrote:
> Hello John,
> Interesting new project ! A few remarks :
>> * Faxpp is the only XML pull parser available for C/C++.
> libxml2 also support a pull mode (see 
> http://xmlsoft.org/html/libxml-xmlreader.html and 
> http://xmlsoft.org/examples/index.html#xmlReader).

Interesting - I must have missed that when I was searching.

>> * Faxpp attempts to avoid string copies by pointing back to the parse
>> buffer wherever possible. This results in performance better than even
>> Expat under some benchmarks.
>> * Faxpp can easily return strings in any user provided encoding.
> Interesting approach. So I guess that the end to end performance depends 
> on wether the returned strings and the source document encoding are the 
> same or not ?

Right. For instance when parsing UTF-8 and returning UTF-8, Faxpp is 
faster than Expat. When parsing UTF-8 and returning UTF-16 Faxpp is 
currently a little slower than Expat, although I haven't put any effort 
into optimising this scenario yet.

There are other factors - null termination of returned strings and 
attribute value normalization can both cause string copies. These can 
both be disabled, although disabling the latter would mean Faxpp would 
be non-conformant.


John Snelson, Oracle Corporation            http://snelson.org.uk/john
Berkeley DB XML:        http://www.oracle.com/database/berkeley-db/xml
XQilla:                                  http://xqilla.sourceforge.net

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS