PreviousNext

Pipes

Pipes allow application-level optimization of bult data transfer, by allowing the communication and processing of data to overlap. The actual data communications occur at about the same speed as arrays. However, pipes can reduce latency (how soon the application sees each chunk of data) and memory utilization. The intent is that the pipe routines should actually process the data and then get rid of it (for example, summarize it; write it to a file; pass it to another thread) rather than merely write it into an array. If an application desires to pass all of a stream of data and process it synchronously, then an array will probably be more efficient, since it entails considerably less processing overhead, as well as being simpler to program. For more on pipes as a topic in RPC application development, see the OSF DCE Application Development Guide - Core Components.