Pipe problems

Jeremy Brown jeremy at cadre5.com
Thu May 27 17:15:22 UTC 2004


Tommy Reynolds wrote:

>Uttered "Ovidiu Donciu" <ovidiud at apropo.ro>, spake thus:
>
>  
>
>>The pipe maximum size is 4096 bytes . It is any solutions to enlarge the
>>maximum size of the pipes ?
>>    
>>
>
>Nope.  By definition, pipes have _no_ storage capacity.  They
>function as a rendevous-type syncronization point for data transfer
>between two processes.  Pipes are for conveniently building
>functionality chains, linking several small simple programs together
>to make a throw-away complex program.
>
>If you are really asking about improving the performance of data
>transfer between to processes, then pipes are the wrong choice
>because pipes are implemented as filesystem objects and bring
>along all that overhead.
>
>Looking for performance? Then check out using shared memory, perhaps
>by using either a shared mmap(2) region or, blech, System V IPC
>shmget() and friends.
>  
>

If you're stuck with pipes, you could always do something insane like 
build buffering into the application on the receiving end of the pipe.

Jeremy





More information about the fedora-list mailing list