1

I used to heavily use the buffer(1) program especially in talking to tape drives. Its a program made in the 1990's to essentially use a circular shared memory buffer to speed up I/O between two piped programs.

Is there a program in the standard Linux distributions that will do something like this? Or is this type of program really useful these days?

mdpc
  • 6,834

1 Answers1

0

There is a package called buffer in Debian that is probably the program you're remembering. It was last updated upstream in 2001 and the URL recorded as the source is no longer live. If your distribution doesn't provide it, you can get the source or a binary package from Debian.

The buffer program sets up a buffer between a producer and a consumer which may speed up the time of the operation. However, this is not a program that will somehow “speed up I/O between two piped programs”. This program is only useful in a particular case: when both the reader and the writer have variable speed, so that the buffer program can keep accumulating data at times when the producer is faster than the consumer, and keep providing data when the consumer is faster than the producer. In the common cases where one of the parties is consistently the bottleneck, or when the bottleneck is CPU time rather than blocking I/O, buffer is useless.