Liste des Groupes | Revenir à col misc |
On 11/24/24 2:14 PM, Richard Kettlewell wrote:Lew Pitcher <lew.pitcher@digitalfreehold.ca> writes:On Sun, 24 Nov 2024 14:25:10 +0000, Rich wrote:186282@ud0s4.net <186283@ud0s4.net> wrote:>On 11/23/24 4:25 PM, Lawrence D'Oliveiro wrote:>That???s irrelevant. Pipes originated on the earliest Unix machine,>
which was a PDP-11 with only a 64kiB address space. They work great
for pumping around gigabytes of data, but you don???t need
gigabyte-sized memory buffers to do that.
It all has to be SOMEWHERE ... if not in RAM then
on a mass storage device.
Nope, at least not with pipes.
Hold on a sec.... pipes are /buffered/ in RAM, so there's at least
a small bit of ram set aside for each open pipe.
The word ???all??? isn???t just decoration. The claim was ???it all has to be
somewhere???, and Rich???s point (as I understand it) is that it does not
all have to be somewhere.
For example,
head -c $((1024*1024*1024)) /dev/urandom | sha256sum
puts a gigabyte of data through a pipe, but at no point does anything
allocate anywhere close to a gigabyte of storage of any kind.
There's truth here ... the gigabyte gets kinda 'spread out'.
But what if it was ten GB, or 100 ?
So, if you wanna count on sending vast quantities of
data in pipes, go ahead - it'll almost always work.
Until vids go 16k or something ...
As said LONG back ... each developer has to make
decisions based on their app and the 'likely'
systems/usage. There isn't really a 'wrong' or
'right' way here - just 'alternatives'. I like
terse pipes, you may not care.
Les messages affichés proviennent d'usenet.