Skip to content

dd: splice() fast-path for skip= with non-seekable input#11605

Open
oech3 wants to merge 1 commit intouutils:mainfrom
oech3:dd-splice-skip
Open

dd: splice() fast-path for skip= with non-seekable input#11605
oech3 wants to merge 1 commit intouutils:mainfrom
oech3:dd-splice-skip

Conversation

@oech3
Copy link
Copy Markdown
Contributor

@oech3 oech3 commented Apr 3, 2026

$ hyperfine "head -c 2000000000 /dev/zero|target/release/dd-splice-skip skip=200000000" "head -c 2000000000 /dev/zero|target/release/dd skip=200000000"
Benchmark 1: head -c 2000000000 /dev/zero|target/release/dd-splice-skip skip=200000000
  Time (mean ± σ):     828.9 ms ±   9.9 ms    [User: 554.4 ms, System: 690.8 ms]
  Range (min … max):   818.5 ms … 844.2 ms    10 runs
 
Benchmark 2: head -c 2000000000 /dev/zero|target/release/dd skip=200000000
  Time (mean ± σ):      3.056 s ±  0.030 s    [User: 2.167 s, System: 2.361 s]
  Range (min … max):    3.017 s …  3.093 s    10 runs
 
Summary
  head -c 2000000000 /dev/zero|target/release/dd-splice-skip skip=200000000 ran
    3.69 ± 0.06 times faster than head -c 2000000000 /dev/zero|target/release/dd skip=200000000

@oech3 oech3 changed the title dd: splice fast-path for skip= with non-seekable input dd: splice() fast-path for skip= with non-seekable input Apr 3, 2026
@oech3 oech3 force-pushed the dd-splice-skip branch 4 times, most recently from c6e6beb to b6922a8 Compare April 4, 2026 08:19
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 4, 2026

GNU testsuite comparison:

GNU test failed: tests/dd/no-allocate. tests/dd/no-allocate is passing on 'main'. Maybe you have to rebase?
GNU test failed: tests/misc/yes. tests/misc/yes is passing on 'main'. Maybe you have to rebase?
Skip an intermittent issue tests/tty/tty-eof (fails in this run but passes in the 'main' branch)
Note: The gnu test tests/basenc/bounded-memory is now being skipped but was previously passing.
Note: The gnu test tests/cut/bounded-memory is now being skipped but was previously passing.
Note: The gnu test tests/printf/printf-surprise is now being skipped but was previously passing.

@oech3 oech3 marked this pull request as ready for review April 4, 2026 10:02
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.

1 participant