-
Notifications
You must be signed in to change notification settings - Fork 442
Description
Description
Related issues:
Now that we have a Benchmark MVP working, I'd like to enumerate the requests from several parties regarding the next steps:
Tasks
-
Execute Benchmarks on Pull Requests
We had to roll back this feature due to concerns from developers about the time it takes for benchmarks to complete. Here are some proposals to mitigate this issue:- Run a Subset of Benchmarks: Use the
-shortflag to execute a smaller set of benchmarks. While this won't completely prevent regressions in themasterbranch, it will reduce their frequency. - Run Benchmarks Only on Modified Packages: This approach requires further thought, as it might not be the most effective solution.
- Limit Execution Time: Ensure that benchmark execution takes less than 10 minutes, on PRs at least.
- Run a Subset of Benchmarks: Use the
-
Disable Non-Essential Benchmarks via Flags
Some benchmarks, like those testinggoleveldb(which are testing the database itself), don't need to run on every PR. Instead, we could focus on specific benchmarks that test particular cases. Here some examples:- Testing speed when running
examplespackage. - Launching the chain
- Database loading speed
Benchdataperformance
- Testing speed when running
Benchmark Tools
Currently, two GitHub Actions can run Go benchmarks:
- github-action-benchmark (currently in use): https://github.com/benchmark-action/github-action-benchmark
- gobenchdata (previously used and discarded): https://github.com/bobheadxi/gobenchdata
If none of these tools meets all our requirements, we should consider developing a new action fitting our use cases.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status