Balisage Paper: Memory management in streaming: Buffering, lookahead, or none. Which to choose?
Mohamed Zergaoui is the CTO and founder of Innovimax. He is an active member of W3C WG related to processing (XSLT, XQuery, XProc) and of ISO DSDL. He is currently part of a big research framework in France with public funding for streaming and parallel processing.
Copyright © Mohamed Zergaoui / Innovimax 2009 ANR CODEX (ANR-08-DEF15-04)
Although the ideal approach to streaming is to process markup events as soon as they are encountered, with no memory needing to be used for storing parts of the input document, this is not always feasible, and in practice it is useful to consider “near-streaming” approaches that involve a limited amount of buffering or lookahead. In the extreme, however, such approaches degenerate until they are indistinguishable from non-streaming processes. This paper attempts a classification of streaming and near-streaming processing methods using different approaches to memory management, and discusses the advantages and disadvantages of each.