Skip to content

feat(timeout): add benchmarking support with divan#9733

Merged
sylvestre merged 6 commits intouutils:mainfrom
mattsu2020:timeout-bench-only-clean
Apr 4, 2026
Merged

feat(timeout): add benchmarking support with divan#9733
sylvestre merged 6 commits intouutils:mainfrom
mattsu2020:timeout-bench-only-clean

Conversation

@mattsu2020
Copy link
Copy Markdown
Contributor

Add dev-dependencies for divan and uucore benchmarking features, and configure a new bench target for timeout command performance testing. This enables automated benchmarking to track and optimize execution times.

related
#9100 (comment)

@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Congrats! The gnu test tests/tail/inotify-dir-recreate is now passing!

Copy link
Copy Markdown
Contributor

@sylvestre sylvestre left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

some jobs are failing

@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Congrats! The gnu test tests/printf/printf-surprise is now passing!
Note: The gnu test tests/dd/no-allocate was skipped on 'main' but is now failing.
Note: The gnu test tests/misc/write-errors was skipped on 'main' but is now failing.

@mattsu2020
Copy link
Copy Markdown
Contributor Author

some jobs are failing

This is a temporary error.

@sylvestre
Copy link
Copy Markdown
Contributor

it seems that divan isn't identifying these new benchmarks

@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Congrats! The gnu test tests/printf/printf-surprise is now passing!
Note: The gnu test tests/dd/no-allocate was skipped on 'main' but is now failing.
Note: The gnu test tests/misc/write-errors was skipped on 'main' but is now failing.

@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Congrats! The gnu test tests/tail/inotify-dir-recreate is now passing!

@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

GNU test failed: tests/sort/sort-stale-thread-mem. tests/sort/sort-stale-thread-mem is passing on 'main'. Maybe you have to rebase?

@mattsu2020 mattsu2020 requested a review from sylvestre December 26, 2025 07:41
@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Skipping an intermittent issue tests/timeout/timeout (passes in this run but fails in the 'main' branch)

@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Congrats! The gnu test tests/cp/preserve-gid is no longer failing!
Note: The gnu test tests/basenc/bounded-memory is now being skipped but was previously passing.

@mattsu2020 mattsu2020 requested a review from sylvestre January 5, 2026 08:53
@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)
Congrats! The gnu test tests/tail/follow-name is no longer failing!

@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Congrats! The gnu test tests/sort/sort-float is no longer failing!

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Jan 15, 2026

Merging this PR will not alter performance

✅ 305 untouched benchmarks
🆕 4 new benchmarks
⏩ 46 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
🆕 Simulation timeout_quick_exit N/A 183.5 µs N/A
🆕 Simulation timeout_enforced N/A 83.8 µs N/A
🆕 Memory timeout_quick_exit N/A 63 KB N/A
🆕 Memory timeout_enforced N/A 19.4 KB N/A

Comparing mattsu2020:timeout-bench-only-clean (7217b68) with main (0260f21)2

Open in CodSpeed

Footnotes

  1. 46 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.

  2. No successful run was found on main (e406cef) during the generation of this report, so 0260f21 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Skip an intermittent issue tests/tty/tty-eof (fails in this run but passes in the 'main' branch)

@mattsu2020 mattsu2020 marked this pull request as draft January 16, 2026 12:39
@sylvestre
Copy link
Copy Markdown
Contributor

still draft, is that expected ?

@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)

1 similar comment
@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)

@mattsu2020
Copy link
Copy Markdown
Contributor Author

still draft, is that expected ?

The memory investigation for timeout always fails.
This seems to be an issue with CodSpeed memtrack v1.1.0, so this PR cannot be merged for the time being.

@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Skipping an intermittent issue tests/tty/tty-eof (passes in this run but fails in the 'main' branch)

@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Skip an intermittent issue tests/tail/follow-name (fails in this run but passes in the 'main' branch)
Congrats! The gnu test tests/dd/stderr is no longer failing!
Congrats! The gnu test tests/tac/tac-2-nonseekable is no longer failing!
Congrats! The gnu test tests/tail/follow-stdin is no longer failing!

1 similar comment
@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Skip an intermittent issue tests/tail/follow-name (fails in this run but passes in the 'main' branch)
Congrats! The gnu test tests/dd/stderr is no longer failing!
Congrats! The gnu test tests/tac/tac-2-nonseekable is no longer failing!
Congrats! The gnu test tests/tail/follow-stdin is no longer failing!

@mattsu2020
Copy link
Copy Markdown
Contributor Author

still draft, is that expected ?

The memory investigation for timeout always fails. This seems to be an issue with CodSpeed memtrack v1.1.0, so this PR cannot be merged for the time being.

Support is now available in codespeed 4.8.0

@mattsu2020 mattsu2020 force-pushed the timeout-bench-only-clean branch from 02f42a8 to e88a579 Compare January 20, 2026 12:27
@mattsu2020 mattsu2020 marked this pull request as ready for review January 20, 2026 12:27
@mattsu2020 mattsu2020 requested a review from sylvestre January 20, 2026 12:27
@github-actions
Copy link
Copy Markdown

GNU testsuite comparison:

Congrats! The gnu test tests/pr/bounded-memory is no longer failing!

@sylvestre sylvestre merged commit 7920971 into uutils:main Apr 4, 2026
167 checks passed
@mattsu2020 mattsu2020 deleted the timeout-bench-only-clean branch April 4, 2026 22:19
kevinburkesegment pushed a commit to kevinburkesegment/coreutils that referenced this pull request Apr 6, 2026
* deps: bump codspeed-divan-compat to v4.2.1

* bench(timeout): add divan benchmarks

* ci(benchmarks): include uu_timeout in codspeed list

---------

Co-authored-by: Sylvestre Ledru <sylvestre@debian.org>
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