ⓘ Stream, computing. In computer science, a stream is a sequence of data elements made available over time. A stream can be thought of as items on a conveyor belt ..


ⓘ Stream (computing)

In computer science, a stream is a sequence of data elements made available over time. A stream can be thought of as items on a conveyor belt being processed one at a time rather than in large batches.

Streams are processed differently from batch data – normal functions cannot operate on streams as a whole, as they have potentially unlimited data, and formally, streams are codata potentially unlimited, not data which is finite. Functions that operate on a stream, producing another stream, are known as filters, and can be connected in pipelines, analogously to function composition. Filters may operate on one item of a stream at a time, or may base an item of output on multiple items of input, such as a moving average.


1. Examples

The term "stream" is used in a number of similar ways:

  • In the Smalltalk standard library and in other programming languages as well, a stream is an external iterator. As in Scheme, streams can represent finite or infinite sequences.
  • In the Scheme language and some others, a stream is a lazily evaluated or delayed sequence of data elements. A stream can be used similarly to a list, but later elements are only calculated when needed. Streams can therefore represent infinite sequences and series.
  • Stream processing - in parallel processing, especially in graphic processing, the term stream is applied to hardware as well as software. There it defines the quasi-continuous flow of data that is processed in a dataflow programming language as soon as the program state meets the starting condition of the stream.
  • I/O devices can be interpreted as streams, as they produce or consume potentially unlimited data over time.
  • In object-oriented programming, input streams are generally implemented as iterators.
  • "Stream editing", as with sed, awk, and perl. Stream editing processes a file or files, in-place, without having to load the files into a user interface. One example of such use is to do a search and replace on all the files in a directory, from the command line.
  • On Unix and related systems based on the C language, a stream is a source or sink of data, usually individual bytes or characters. Streams are an abstraction used when reading or writing files, or communicating over network sockets. The standard streams are three streams made available to all programs.

2. Other uses

The term "stream" is also applied to file system forks, where multiple sets of data are associated with a single filename. Most often, there is one main stream that makes up the normal file data, while additional streams contain metadata. Here "stream" is used to indicate "variable size data", as opposed to fixed size metadata such as extended attributes, but differs from "stream" as used otherwise, meaning "data available over time, potentially infinite".

  • Brook from AMD ATI CUDA Compute Unified Device Architecture from Nvidia Intel Ct - C for Throughput Computing Stream C from Stream Processors, Inc, a commercialization
  • provide, beginning with Close to Metal, followed by OpenCL and the Stream Computing SDK, and eventually integrated into the APP SDK. For highly parallel
  • Data stream a sequence of signals in connection - oriented communication Stream computing a sequence of data elements made available over time Stream computer
  • syndrome. High - Performance Reconfigurable Computing HPRC is a computer architecture combining reconfigurable computing - based accelerators like field - programmable
  • a glossary of terms used in the field of Reconfigurable computing and reconfigurable computing systems, as opposed to the traditional Von Neumann architecture
  • Stochastic computing is a collection of techniques that represent continuous values by streams of random bits. Complex computations can then be computed by simple
  • banging Bit - stream access Bitstream format Byte - oriented protocol MPEG Elementary stream Reliable byte stream Stream computing Stream processing Traffic
  • introduced the Direct Compute GPU computing API, released with the DirectX 11 API. Alea GPU created by QuantAlea introduces native GPU computing capabilities for
  • parallel computing bit - level, instruction - level, data, and task parallelism. Parallelism has long been employed in high - performance computing but it s