-
Notifications
You must be signed in to change notification settings - Fork 95
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
Removed errant proc.kill()
#2103
Conversation
Bencher Report
Click to view all benchmark results
|
Thought: do we want to just `impl Drop for TestHarness`? This might make the panicking situation tricky, whereas explicitly calling `harness.finish()`, while possible to forget, makes handling panics just work.
I don't have a strong opinion. Since this is test code, accidentally aborting due to a panic in |
Ensures shutdown and cleanup so that we can't forget This is important during benchmarking; Criterion creates thousands of servers, and if we don't shut them down and clean them up, we'll exhaust the system's process pool
Since I did in fact forget to call |
In #2098 I tried
kill
ing the process. It turns out that doing this beforewait
ing leads to out of order IO, leading to IO errors when Bincode tries to deserialize. It also turns out that killing isn't even necessary; waiting is sufficient.So this PR removes that
kill
line, getting rid of the IO errors introduced in #2098.Also Added
finish
tobenchmark_diagnostics
as well (should have been there all along). Thought: do we want to justimpl Drop for TestHarness
? This might make the panicking situation tricky (generally, you shouldn't panic indrop
), whereas explicitly callingharness.finish()
, while possible to forget, makes handling panics just work.