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


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] SAX and parallel processing

[ Lists Home | Date Index | Thread Index ]

* Bob Foster <bob@objfac.com> [2004-12-31 19:37]:
> Bob
> Alan Gutierrez wrote:
> > * Bob Foster <bob@objfac.com> [2004-12-31 18:03]:
> >>I have a question, though. What is the guaranteed lifetime of an object
> >>appearing in a SAX event, like an Attributes object, and any objects
> >>used to implement it? If, for example, Attributes were implemented as a
> >>collection of lightweight Attribute objects that were re-used for
> >>subsequent events, the event data could not be passed directly to
> >>parallel threads without copying it. (Or by joining at the end of every
> >>event, which would rather limit the parallelism.)
> >
> >
> >
> >     Xerces recycles Attributes structures for each call to
> >     startElement.

> >     In my library, I keep a stack of attribute structures. The
> >     attribute structures on the stack are recycled for each element
> >     depth, not actually popped and reallocated.

> Right. In order to process a SAX stream in parallel you have to
> copy the data in the stream, you can't just "forward" the events.
> You also have to instantiate a context for each event, including
> at least the namespaces in scope, the Location info. I didn't mean
> to imply this would be excessively expensive, just not as
> lightweight as serially processed SAX.

    Wasn't out to school you, so much as to relate my experience.


Alan Gutierrez - alan@engrm.com


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

Copyright 2001 XML.org. This site is hosted by OASIS