Skip to content

Conversation

@mattsu2020
Copy link
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)

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.
@github-actions
Copy link

GNU testsuite comparison:

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

Copy link
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

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
Contributor Author

some jobs are failing

This is a temporary error.

@sylvestre
Copy link
Contributor

it seems that divan isn't identifying these new benchmarks

Remove the unnecessary `mod unix` block and use `#[cfg(unix)]` attributes
on imports, functions, and benchmarks. Adjust `main()` to conditionally
call `divan::main()` for Unix platforms. This refactoring improves code
readability and reduces module nesting without changing functionality.
@github-actions
Copy link

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

GNU testsuite comparison:

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

Include benchmarking for the uu_timeout utility to ensure performance tracking alongside other tools in the suite.
@github-actions
Copy link

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

GNU testsuite comparison:

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

… logic

Replace complex child mode spawning with direct command arguments for cleaner and more maintainable benchmarks, reducing overhead and improving readability. Use "true" for quick-exit and "sleep" for enforced timeout tests.
@github-actions
Copy link

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

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!

Remove the shared bench_timeout function and directly inline its logic into timeout_quick_exit and timeout_enforced benchmarks. This simplifies the code by eliminating unnecessary abstraction for two closely related functions.
@github-actions
Copy link

GNU testsuite comparison:

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

@codspeed-hq
Copy link

codspeed-hq bot commented Jan 15, 2026

Merging this PR will degrade performance by 3.08%

⚡ 2 improved benchmarks
❌ 1 regressed benchmark
✅ 248 untouched benchmarks
🆕 2 new benchmarks
⏩ 69 skipped benchmarks1

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
🆕 Simulation timeout_quick_exit N/A 182.2 µs N/A
🆕 Simulation timeout_enforced N/A 195.6 µs N/A
Memory du_wide_tree[(5000, 500)] 1.2 MB 1.2 MB -3.08%
Memory du_deep_tree[(100, 3)] 157.9 KB 144.5 KB +9.29%
Memory cp_large_file[16] 119.6 KB 107.1 KB +11.64%

Comparing mattsu2020:timeout-bench-only-clean (b53bcb5) with main (2c75e71)

Open in CodSpeed

Footnotes

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

@github-actions
Copy link

GNU testsuite comparison:

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

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