-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
feat(timeout): add benchmarking support with divan #9733
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
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.
|
GNU testsuite comparison: |
sylvestre
left a comment
There was a problem hiding this 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
|
GNU testsuite comparison: |
This is a temporary error. |
|
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.
|
GNU testsuite comparison: |
|
GNU testsuite comparison: |
Include benchmarking for the uu_timeout utility to ensure performance tracking alongside other tools in the suite.
|
GNU testsuite comparison: |
|
GNU testsuite comparison: |
… 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.
|
GNU testsuite comparison: |
|
GNU testsuite comparison: |
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.
|
GNU testsuite comparison: |
Merging this PR will degrade performance by 3.08%
Performance Changes
Comparing Footnotes
|
|
GNU testsuite comparison: |
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)