3 pump \- copy asynchronously via a large circular buffer
34 (or standard input if none)
36 by using two processes,
37 one reading and one writing,
38 sharing a large circular buffer,
39 thus permitting the reading process to
40 get ahead of the writing process if the
41 output device is slow (e.g., an optical disc).
42 This in turn can keep the output device busy.
45 can approximate this, but pipe buffering is limited to 64K
46 bytes, which is fairly modest.
59 The default size is 8 kilobytes.
62 causes the output process to sleep for
64 milliseconds initially, giving the reading
65 process time to accumulate data in the buffer.
70 rather than standard output
80 allocates a circular buffer of
82 kilobytes rather than the default
95 kilobytes have been read.
99 arena to a DVD or BD quickly.
104 venti/rdarena arena0 arena.3 |
105 pump -b 65536 -k 51200 >/mnt/cd/wd/arena.3
110 .B /sys/src/cmd/pump.c
118 processes spin while waiting for the circular buffer