Page MenuHomeFreeBSD

grep: remove unconditional fflush(stdout) from grep_printline
AbandonedPublic

Authored by bapt on Jun 10 2026, 2:55 PM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Oct 2, 6:05 PM
Unknown Object (File)
Thu, Oct 1, 5:01 AM
Unknown Object (File)
Mon, Sep 28, 12:22 PM
Unknown Object (File)
Sun, Sep 27, 6:40 PM
Unknown Object (File)
Sat, Sep 26, 5:34 AM
Unknown Object (File)
Thu, Sep 24, 10:51 PM
Unknown Object (File)
Thu, Sep 24, 5:14 PM
Unknown Object (File)
Tue, Sep 15, 7:58 AM
Subscribers

Details

Reviewers
kevans
Summary

grep_printline() was flushing stdout after every output line,
causing one write(2) syscall per line. Remove this and let
stdio(3) buffer output normally. --line-buffered continues
to work via setlinebuf(3).

Benchmark on 1M lines (25MB output to file):

real time:  -65.3%  (2.17s -> 0.75s)
sys time:   -99.9%  (1.45s -> 0.00s)

--line-buffered: no significant difference.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 73807
Build 70690: arc lint + arc unit