-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Avoid a gratuitous 10s wait in a stress test #142224
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
Avoid a gratuitous 10s wait in a stress test #142224
Conversation
rustbot has assigned @workingjubilee. Use |
`stress_recv_timeout_two_threads`, in the mpmc and mpsc testsuites, is a stress test of the `recv_timeout` function. This test processes and ignores timeouts, and just ensures that every sent value gets received. As such, the exact length of the timeouts is not critical, only that the timeout and sleep durations ensure that at least one timeout occurred. The current tests have 100 iterations, half of which sleep for 200ms, causing the test to take 10s. This represents around 2/3rds of the *total* runtime of the `library/std` testsuite. Reduce this to 50 iterations where half of them sleep for 10ms, causing the test to take 0.25s. Add a check that at least one timeout occurred.
e363076
to
889f7cb
Compare
The biggest concern I have with this PR is possibly being really slow on certain CI jobs, so let's give it a whirl on those platforms. |
@bors2 try |
…-test, r=<try> Avoid a gratuitous 10s wait in a stress test `stress_recv_timeout_two_threads`, in the mpmc and mpsc testsuites, is a stress test of the `recv_timeout` function. This test processes and ignores timeouts, and just ensures that every sent value gets received. As such, the exact length of the timeouts is not critical, only that the timeout and sleep durations ensure that at least one timeout occurred. The current tests have 100 iterations, half of which sleep for 200ms, causing the test to take 10s. This represents around 2/3rds of the *total* runtime of the `library/std` testsuite, and is the only standard library test that takes more than a second. Reduce this to 50 iterations where half of them sleep for 10ms, causing the test to take 0.25s. Add a check that at least one timeout occurred. try-job: test-various try-job: i686-gnu-1 try-job: i686-gnu-nopt-1 try-job: i686-gnu-nopt-2 try-job: i686-msvc-1 try-job: armhf-gnu try-job: arm-android try-job: aarch64-gnu-debug try-job: x86_64-gnu-debug
💔 Test failed
|
That's... weird. @joshtriplett Can you try rebasing this on latest and rerunning the try-jobs? |
@workingjubilee It's already based on the latest HEAD. As far as I can tell, the try failures look spurious? |
huh. Let's give it another go. @bors2 try |
…-test, r=<try> Avoid a gratuitous 10s wait in a stress test `stress_recv_timeout_two_threads`, in the mpmc and mpsc testsuites, is a stress test of the `recv_timeout` function. This test processes and ignores timeouts, and just ensures that every sent value gets received. As such, the exact length of the timeouts is not critical, only that the timeout and sleep durations ensure that at least one timeout occurred. The current tests have 100 iterations, half of which sleep for 200ms, causing the test to take 10s. This represents around 2/3rds of the *total* runtime of the `library/std` testsuite, and is the only standard library test that takes more than a second. Reduce this to 50 iterations where half of them sleep for 10ms, causing the test to take 0.25s. Add a check that at least one timeout occurred. try-job: test-various try-job: i686-gnu-1 try-job: i686-gnu-nopt-1 try-job: i686-gnu-nopt-2 try-job: i686-msvc-1 try-job: armhf-gnu try-job: arm-android try-job: aarch64-gnu-debug try-job: x86_64-gnu-debug
💔 Test failed
|
...no, I don't believe this PR can be causing failures in run-make jobs, but also this test suite really ought to be passing. |
@bors try |
…-test, r=<try> Avoid a gratuitous 10s wait in a stress test `stress_recv_timeout_two_threads`, in the mpmc and mpsc testsuites, is a stress test of the `recv_timeout` function. This test processes and ignores timeouts, and just ensures that every sent value gets received. As such, the exact length of the timeouts is not critical, only that the timeout and sleep durations ensure that at least one timeout occurred. The current tests have 100 iterations, half of which sleep for 200ms, causing the test to take 10s. This represents around 2/3rds of the *total* runtime of the `library/std` testsuite, and is the only standard library test that takes more than a second. Reduce this to 50 iterations where half of them sleep for 10ms, causing the test to take 0.25s. Add a check that at least one timeout occurred. try-job: test-various try-job: i686-gnu-1 try-job: i686-gnu-nopt-1 try-job: i686-gnu-nopt-2 try-job: i686-msvc-1 try-job: armhf-gnu try-job: arm-android try-job: aarch64-gnu-debug try-job: x86_64-gnu-debug
💔 Test failed - checks-actions |
Well, at least it doesn't seem to be a bors2 issue. Definitely looks spurious though. |
@bors r+ into your hands, I commend my spirit |
Rollup of 6 pull requests Successful merges: - #141751 (Remap compiler vs non-compiler sources differently (bootstrap side)) - #142160 (Only allow `bootstrap` cfg in rustc & related) - #142191 (early return in trait detection for non-trait item) - #142211 (Do not checkout GCC submodule for the tidy job) - #142218 (CI: rfl: move job forward to Linux v6.16-rc1) - #142224 (Avoid a gratuitous 10s wait in a stress test) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of #142224 - joshtriplett:remove-gratuitous-wait-in-stress-test, r=workingjubilee Avoid a gratuitous 10s wait in a stress test `stress_recv_timeout_two_threads`, in the mpmc and mpsc testsuites, is a stress test of the `recv_timeout` function. This test processes and ignores timeouts, and just ensures that every sent value gets received. As such, the exact length of the timeouts is not critical, only that the timeout and sleep durations ensure that at least one timeout occurred. The current tests have 100 iterations, half of which sleep for 200ms, causing the test to take 10s. This represents around 2/3rds of the *total* runtime of the `library/std` testsuite, and is the only standard library test that takes more than a second. Reduce this to 50 iterations where half of them sleep for 10ms, causing the test to take 0.25s. Add a check that at least one timeout occurred.
stress_recv_timeout_two_threads
, in the mpmc and mpsc testsuites, is a stress test of therecv_timeout
function. This test processes and ignores timeouts, and just ensures that every sent value gets received. As such, the exact length of the timeouts is not critical, only that the timeout and sleep durations ensure that at least one timeout occurred.The current tests have 100 iterations, half of which sleep for 200ms, causing the test to take 10s. This represents around 2/3rds of the total runtime of the
library/std
testsuite, and is the only standard library test that takes more than a second.Reduce this to 50 iterations where half of them sleep for 10ms, causing the test to take 0.25s.
Add a check that at least one timeout occurred.