-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Randomize Framework order in runs #8830
Comments
As someone maintaining a benchmark starts with That said IMO a fair way of handling order is to prioritize benches with most recent changes. As for benches that haven't changed for a while I guess the maintainers would care less about continuous run result. |
I think that is enough to start one run with This run and the next, change the servers, databases, ... so the change it's for all frameworks. |
What I maintain starts with My concern is not about failures or restarts, as they usually don't happen that often when the environment is stable, but rather about a feedback latency: Flipping the order between runs (or FWIW randomizing it) would significantly reduce these latencies for me. |
The frameworks that stay in the middle have ~3 days to make changes. |
Flipping the order each time makes sense to me. |
I like the idea of flipping the order. I'm just getting back from vacation and catching up on a bunch of stuff. Let's get the environment stable, and then I think this is easy to do. Will leave this open until we get it in. |
After finish the last full run, the next run did not flip the order. |
That's because the tfb-startup.sh script runs |
I think the following run was reversed: https://tfb-status.techempower.com/results/3c2e9871-9c2a-4ff3-bc31-620f65da4e74. The “last framework” tested is incorrect though. |
No, I forgot that we actually run the shutdown script twice after a successful run because it's being called from the startup script as well. The design was supposed to be the exact opposite. I'll have to move it to the startup script and it will just reverse every time a run starts. |
@NateBrady23 It looks like now the opposite thing is happening - the order is always reversed, i.e. the implementations starting with |
How about adding an option to run tests in the order of their last execution time, from fastest to slowest? 😈 |
I am pretty sure that that approach would end up being effectively the same as running them in alphabetical order (or in random order at best), at the cost of significant implementation complexity. |
Currently the benchmarks are run in the same order everytime.
Sometimes a run fails after a number of frameworks were benchmarked, or the run is restarted.
This causes the frameworks starting with
a
to have more test runs than frameworks starting withz
.If the order could be randomized the number of runs would be better distributed.
The text was updated successfully, but these errors were encountered: