SVR3.0 vs BSD4.3

Jim Bennett jimb at mitisft.Convergent.COM
Thu Mar 24 08:00:44 AEST 1988


In article <4441 at megaron.arizona.edu>, lm at arizona.edu (Larry McVoy) writes:

> (It should be obvious but I'll drive it home:  the streams code that I've
> seen copies the data out of the upper level buffer and then into the 
> lower level buffer [assuming "downward" movement].  The copying dominates
> the time spent in the streams drivers.  If streams can handle imbedded 
> pointers in their data then my comments are meaningless.)

In general, it is not necessary to copy data in order to pass it
downstream (or upstream).  STREAMS comes with a set of procedures
for pulling message blocks from queues, adding them to queues,
linking messages together, etc.

The only reasons I can think of why data might need to be physically
copied:  If message boundaries need to be changed, or if the data
needs to be processed in a way that causes data expansion and the
current streams buffer overflows.

More to the point:  At Convergent we have converted the 4.3 BSD
TCP/IP from a sockets interface to a STREAMS interface and measured
no loss in performance.

Jim Bennett
Convergent Technologies
...!uunet!pyramid!ctnews!mitisft!jimb



More information about the Comp.unix.wizards mailing list