Run subsystem-benchmark without network latency (#4068)

Implements the idea from
https://github.com/paritytech/polkadot-sdk/pull/3899
- Removed latencies
- Number of runs reduced from 50 to 5, according to local runs it's
quite enough
- Network message is always sent in a spawned task, even if latency is
zero. Without it, CPU time sometimes spikes.
- Removed the `testnet` profile because we probably don't need that
debug additions.

After the local tests I can't say that it brings a significant
improvement in the stability of the results. However, I belive it is
worth trying and looking at the results over time.
This commit is contained in:
Andrei Eres
2024-04-11 18:54:59 +02:00
committed by GitHub
parent 6ebf491b50
commit 25f038aa8e
3 changed files with 8 additions and 4 deletions
+2 -2
View File
@@ -524,7 +524,7 @@ subsystem-benchmark-availability-recovery:
- .common-refs - .common-refs
- .run-immediately - .run-immediately
script: script:
- cargo bench --profile=testnet -p polkadot-availability-recovery --bench availability-recovery-regression-bench --features subsystem-benchmarks - cargo bench -p polkadot-availability-recovery --bench availability-recovery-regression-bench --features subsystem-benchmarks
tags: tags:
- benchmark - benchmark
allow_failure: true allow_failure: true
@@ -542,7 +542,7 @@ subsystem-benchmark-availability-distribution:
- .common-refs - .common-refs
- .run-immediately - .run-immediately
script: script:
- cargo bench --profile=testnet -p polkadot-availability-distribution --bench availability-distribution-regression-bench --features subsystem-benchmarks - cargo bench -p polkadot-availability-distribution --bench availability-distribution-regression-bench --features subsystem-benchmarks
tags: tags:
- benchmark - benchmark
allow_failure: true allow_failure: true
@@ -31,7 +31,7 @@ use polkadot_subsystem_bench::{
}; };
use std::io::Write; use std::io::Write;
const BENCH_COUNT: usize = 50; const BENCH_COUNT: usize = 5;
fn main() -> Result<(), String> { fn main() -> Result<(), String> {
let mut messages = vec![]; let mut messages = vec![];
@@ -40,6 +40,8 @@ fn main() -> Result<(), String> {
config.n_cores = 10; config.n_cores = 10;
config.n_validators = 500; config.n_validators = 500;
config.num_blocks = 3; config.num_blocks = 3;
config.connectivity = 100;
config.latency = None;
config.generate_pov_sizes(); config.generate_pov_sizes();
let state = TestState::new(&config); let state = TestState::new(&config);
@@ -32,7 +32,7 @@ use polkadot_subsystem_bench::{
}; };
use std::io::Write; use std::io::Write;
const BENCH_COUNT: usize = 50; const BENCH_COUNT: usize = 5;
fn main() -> Result<(), String> { fn main() -> Result<(), String> {
let mut messages = vec![]; let mut messages = vec![];
@@ -40,6 +40,8 @@ fn main() -> Result<(), String> {
let options = DataAvailabilityReadOptions { fetch_from_backers: true }; let options = DataAvailabilityReadOptions { fetch_from_backers: true };
let mut config = TestConfiguration::default(); let mut config = TestConfiguration::default();
config.num_blocks = 3; config.num_blocks = 3;
config.connectivity = 100;
config.latency = None;
config.generate_pov_sizes(); config.generate_pov_sizes();
let state = TestState::new(&config); let state = TestState::new(&config);