RE: [hackers] [blind] update todo: tee is too slow || Mattias Andrée

From: Mattias Andrée <>
Date: Tue, 12 Dec 2017 10:32:18 +0000

When I rendered a video, tee used 100% while the other process was
basically at 0, for more than 50% of the rendering time. I ran it multiply
times to verify that is was correct. An alternative solution would be
to use sockets, but that would require changes to the shell. Optimising
tee seems like the sensible alternative. Besides, normally when you use
tools like tee and cat, you expect it to finish within milliseconds, even
for larger files, here we are talking about time intervals between seconds
and a few hours, with most if not all CPU:s at 90% to 100%, so optimisations
do not hurt, especially not when as significant as using tee and splice. It
may be unfortunate to have to use both tee–splice and read–write (which
is required both for platforms not supporting tee and splice, and for file
types not supporting them), but considering how little complexity this adds,
— it's not much more than a duplication of a function, — I think it is a
trade-off worth considering.

From: isabella parakiss []
Sent: 12 December 2017 10:58
To: hackers mail list
Subject: Re: [hackers] [blind] update todo: tee is too slow || Mattias Andrée


On 12/4/17, <> wrote:
> commit d8aa45da86d1128149fd7ab6ac3725bf8e88a1b1
> Author: Mattias Andrée <>
> AuthorDate: Mon Dec 4 22:35:59 2017 +0100
> Commit: Mattias Andrée <>
> CommitDate: Mon Dec 4 22:35:59 2017 +0100
> update todo: tee is too slow
> Signed-off-by: Mattias Andrée <>
> diff --git a/TODO b/TODO
> index b0bbde7..408e942 100644
> --- a/TODO
> +++ b/TODO
> _AT_@ -1,3 +1,7 @@
> +blind-tee (and tee(1)) is too slow (bottleneck) and must be reimplemented
> +using tee(2) and splice(2). cat(1) may also be too slow, if this is the
> +case, add blind-splice that just copies stdin to stdout using splice(2).
> +
> blind-transform affine transformation by matrix multiplication, -[xy] for
> tiling, -s for
> improve quality on downscaling (pixels' neighbours must not change)
> blind-apply-map remap pixels (distortion) using the X and Y values, -[xy]
> for tiling, -s for
Received on Tue Dec 12 2017 - 11:32:18 CET

This archive was generated by hypermail 2.3.0 : Tue Dec 12 2017 - 11:36:31 CET