> -----Original Message----- > From: Joseph Kesselman [mailto:[EMAIL PROTECTED] > Sent: Monday, September 27, 2004 5:32 PM > To: [EMAIL PROTECTED] > Cc: [EMAIL PROTECTED] > Subject: Re: Piped transformations and multithreading > > > > > > At this time, we do not optimize through pipes. Each stage produces an > output document which is then taken as an input document by the next > transformation. We may be able to eliminate some latency by running in > "incremental" mode, but we don't eliminate any work except > that of going to > and from XML syntax. > > Avoiding complete construction of the input document model, for either > pipelining *or* single transformation, is a Known Opportunity For > Optimization -- but a nontrivial task. See archives for handwaving > speculation about "filtering" and "pruning" based on knowledge of the > stylesheet's requirements (and, ideally, of the document's schema). We > believe it's possible; we do not currently have an > implementation which > does it. > > Even in incremental mode, Xalan is a pull-processor, not a > push-processor; > if you hand us a push source such as a SAX stream we "throttle" it to > accept tokens at the rate we're comfortable with -- and yes, > that further > limits how much we can parallelize stages in a pipe. You could > theoretically buffer the SAX stream in a FIFO queue to avoid > that lockstep, > but that of course has its own costs. > > > > ______________________________________ > Joe Kesselman, IBM Next-Generation Web Technologies: XML, XSL > and more. > "The world changed profoundly and unpredictably the day Tim > Berners Lee > got bitten by a radioactive spider." -- Rafe Culpin, in r.m.filk > >
So is the intermediate document (between pipeline stages) at least optimal for Xalan? i.e. a DTM? -------------------------------------------------------- NOTICE: If received in error, please destroy and notify sender. Sender does not waive confidentiality or privilege, and use is prohibited. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
