blob: 25bd242d744165f3a8cd327d050099ba23fbd1e9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
GNU yes(1) is not that fast!
This implementaion is not only about 8
times as fast[0], it uses half as much CPU.
Note that this implementation is not even
optimal, the overhead at the start can be
reduced by creating a buffer as large as
the pipe and fill that buffer and only do
one write(2) or vmsplice(2) to the pipe.
Speaking of this overhead, this implementation
is completely useless[1] unless the other
program is will even read {PIPE_BUF} bytes
(4096 on Linux, 512 on POSIX) + 2²⁰−2¹⁶ bytes
(on Linux, unspecified for POSIX). Therefore,
this implementation of yes(1) is just silly
and should not be used by anyone.
[0] On my computer. If you get different
results please leave a comment.
[1] Has no benefits what so every in any
aspect at all.
|