Skip to content

tail: improve throughput for -c +0 by splice()#11962

Merged
sylvestre merged 1 commit intouutils:mainfrom
oech3:tail-splice
Apr 24, 2026
Merged

tail: improve throughput for -c +0 by splice()#11962
sylvestre merged 1 commit intouutils:mainfrom
oech3:tail-splice

Conversation

@oech3
Copy link
Copy Markdown
Contributor

@oech3 oech3 commented Apr 23, 2026

Start supporting #11607 and #11785 .

tail's code path is very complex. So I do them with several PRs.
This PR covers

> truncate -s 9PB /tmp/huge
> target/debug/tail -c +0 /tmp/huge|pv>/dev/null
^C.4GiB 0:00:01 [39.4GiB/s]

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 23, 2026

GNU testsuite comparison:

Skip an intermittent issue tests/cut/bounded-memory (fails in this run but passes in the 'main' branch)
Skipping an intermittent issue tests/date/date-locale-hour (passes in this run but fails in the 'main' branch)
Skipping an intermittent issue tests/tail/tail-n0f (passes in this run but fails in the 'main' branch)
Congrats! The gnu test tests/rm/many-dir-entries-vs-OOM is now passing!

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 23, 2026

Merging this PR will not alter performance

✅ 287 untouched benchmarks
⏩ 68 skipped benchmarks1


Comparing oech3:tail-splice (3287c8b) with main (52e1bc1)

Open in CodSpeed

Footnotes

  1. 68 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@oech3 oech3 marked this pull request as ready for review April 23, 2026 16:20
@sylvestre sylvestre merged commit cdcbee3 into uutils:main Apr 24, 2026
168 of 169 checks passed
@oech3 oech3 deleted the tail-splice branch April 24, 2026 07:52
Comment thread src/uu/tail/src/tail.rs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants