Memory management in streaming: Buffering, lookahead, or none. Which to choose?
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.