summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2017-06-09 22:17:24 +0200
committerMattias Andrée <maandree@kth.se>2017-06-09 22:17:24 +0200
commit80f97d0eb306330d46cd3583906043ab50f519dd (patch)
tree19a986d36e1a7b74effe2039c519ba102b980ce2
parentfirst commit (diff)
downloadpipes-are-slow-80f97d0eb306330d46cd3583906043ab50f519dd.tar.gz
pipes-are-slow-80f97d0eb306330d46cd3583906043ab50f519dd.tar.bz2
pipes-are-slow-80f97d0eb306330d46cd3583906043ab50f519dd.tar.xz
Add readme
Signed-off-by: Mattias Andrée <maandree@kth.se>
-rw-r--r--.gitignore2
-rw-r--r--README.md13
2 files changed, 15 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8da825a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+*~
+/a.out
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..f8f1eb0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,13 @@
+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, 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.
+
+![](graph.svg)
+
+send(3)/recv(3) is marginally faster than write(3)/read(3).