summaryrefslogblamecommitdiffstats
path: root/README.md
blob: af8a763ec3fc0e491ba2368bfc2606782fb22d95 (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                                                          





                                                            
 
                               

                                                           
Despite unix(7) offering much more features than pipe(7),
it is much faster. There is however two features unix(7)
does not have: there is no guarantee that small writes are
atomic, there is not support for splice(2)/tee(2) which
is extremely efficient, vmsplice(2) and changing the
capacity (neither of which improves the performance
sufficiently), and file descriptor hijacking is not support.
The latter is a double-sided sword: it [the lack of support]
increases security, but other processes' file cannot be
opened and programs must treat /dev/fd/ paths especially.

![performance graph](graph.png)

send(3)/recv(3) is marginally faster than write(3)/read(3).