The streaming layer provides a framework for pipelined
processing of large sequences. Many external memory algorithms
implemented with the STXXL streaming layer save a factor at
least two in I/Os. The pipelined processing technique is well
known in the database world . To the best of our knowledge we
are the first who apply this method systematically in the domain
of external memory algorithms. We introduce it in the context of
an external memory software library. Usually the interface of an
external memory algorithm assumes that it reads the input from
external memory container(s) and writes output in external
memory container(s). The idea of pipelining is to equip the
external memory algorithms with a new interface that allows them
to feed the output as a data stream directly to the algorithm
that consumes the output, rather than writing it to external
memory. Logically, the input of an external memory algorithm
does not have to reside in external memory, it could be rather a
data stream produced by another