guix/nix
Ludovic Courtès 9a8f9f84cc
daemon: Buffer data sent to clients by the 'export-path' RPC.
Before that we'd have STDERR_WRITE round trips for very small amounts of
data, ranging from a few bytes for the metadata of nars to the size of
one file being exported.

With this change, something like:

  guix archive --export /gnu/store/5rrsbaghh5ix1vjcicsl60gsxilhjnf2-coreutils-8.25 | dd of=/dev/null

reports a throughput of 35 MB/s instead of 25 MB/s before.

* nix/nix-daemon/nix-daemon.cc (TunnelSink): Inherit from 'BufferedSink'
rather than 'Sink'.  Rename 'operator ()' to 'write'.
(performOp) <wopExportPath>: Add 'sink.flush' call.
2016-12-01 23:35:10 +01:00
..
boost Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00
guix-register guix-register: Use C++11 range 'for' loop instead of 'foreach' macro. 2015-06-10 13:55:23 +02:00
libstore daemon: Add 'built-in-builders' RPC. 2016-11-16 18:19:54 +01:00
libutil daemon: Remove unused XML output code. 2016-05-31 18:22:14 +02:00
nix-daemon daemon: Buffer data sent to clients by the 'export-path' RPC. 2016-12-01 23:35:10 +01:00
scripts daemon: Add "builtin:download" derivation builder. 2016-11-16 18:19:47 +01:00
.gitignore build: Include a copy of Nix's libstore and daemon; build it. 2012-12-03 23:05:08 +01:00
AUTHORS Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00
COPYING Merge branch 'nix' into 'master'. 2014-12-19 22:47:37 +01:00
local.mk Add system start-up files for "guix publish". 2016-11-24 09:23:11 +01:00