Messages in this thread |  | | Subject | Streams performance (was Re: real kernel bloat ) | Date | Thu, 27 Jun 1996 09:35:19 PDT | From | Tim Wright <> |
| |
In message <199606270853.JAA26530@snowcrash.cymru.net>,Alan Cox writes: [...] > > I read your answer to Alexey regarding STREAMS. I am sure, you > > are right that it's slower than sockets, but it does not matter. > > If someone recompiles or starts developing an application for > > Linux because of this feature, it will benefit Linux much more > > than a better benchmarks with no applications to use. > > Its important to implement stuff right. Like streams in a way that doesnt > slow the socket performance down (and Linux has a lot of users purely for > performance reasons on small hardware, as does FreeBSD). There is a > difference between "not supporting" and "supporting the right way". > Just to back up, 100%, what Alan has to say about STREAMS. Sequent have a parallel implementation of streams which is widely regarded as one of the best. Our next generation TCP/IP & LAN software will use "Fastlan" rather than STREAMS interfaces, precisely because System V STREAMS are fundamentally far too inefficient for the high bandwidth cards coming out (e.g. 100-baseT, FDDI, ATM etc.)
It matters not one iota how "nice" streams are to program, (and as one who has done so I'd argue with you on this point as well :-), they are simply too inefficient for general use.
As to the frequently trotted out line of "Oh, but you can reuse the modules and push an e.g. encryption module anywhere" - Phooeey ! There are extraordinarily few real world examples to back this assertion up. The *only* module that seems to have somewhat decent re-use is ld/ldterm (the tty streams module). The modules have to be written by someone (not a simple prospect), and built into the kernel. Given the general lack of resilience of many streams modules to bad control/data messages, I, as a system administrator, am unlikely to countenance adding such a module, since it now means any user can push it onto any stream, and I have found that I can crash most SysV type systems by simply by pushing the vendor supplied streams modules in interesting places :-(
Again, as Alan pointed out, STREAMS in System V are not the same clean idea that ~dmr added to 8th Edition UNIX. They are an extremely bloated mess.
Anybody thinking about adding STREAMS to Linux should think very long and very hard about what this will achieve.
t
-- Tim Wright, Worldwide Technical Services, | Email: timw@sequent.com Sequent Computer Systems Inc., 15450, | SW Koll Parkway, Beaverton, Oregon 97006 | Phone: +1-503-578-3822 "Nobody ever said I was charming, they said "Rimmer, you're a git!"" RD VI
|  |