[
Lists Home |
Date Index |
Thread Index
]
> > Have you seen Oleg Kiselyov's foldts recursion scheme?
> >
> > http://pobox.com/~oleg/ftp/papers/XML-parsing.ps.gz
> >
> > Passing "seeds" up and down a tree is similar to the patterns I'm trying
> > to develop.
>
> i remember this paper. it has a questionable comparison of expat
> that uses reading input char-by-char (instead of buffered stream)
> that is described as 'well-written' C application ... when compared
> to correct buffered version expat is 10x faster than SSAX and not
> just 1.4x faster ... (memory utilization was not reported but i am sure
> that difference was also significant)
I am one of the Expat maintainers, commenting only on this:
Passing the data to Expat one character at a time is absolutely
the wrong way to use Expat. I am surprised you only got a 7-fold
speed increase (from 1.4 to 10). A quick check with an application
that uses Expat and does some work in addition to parsing an XML document
indicates that the application slows down 11-fold when changing the buffer
size from 16384 to 1, even though Expat's portion of the total work is 50% at best.
Btw, we have a Pull API for Expat as one of our development targets.
Karl
|