diff options
| author | tv <tv@krebsco.de> | 2026-11-06 19:54:09 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-06 19:54:09 +0100 |
| commit | 5994b49412c058079639585501a78e6458fdbb6f (patch) | |
| tree | ca78aa3cd7d0d6d2a48bfa42d61afcddb8efd6df /src/simtest/soak.rs | |
| parent | 7c0c318dca3054be6c7bacf5a4b3f5a4e47cc949 (diff) | |
HyParView (slim)
Diffstat (limited to 'src/simtest/soak.rs')
| -rw-r--r-- | src/simtest/soak.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/simtest/soak.rs b/src/simtest/soak.rs index c9c9c19..2a9272a 100644 --- a/src/simtest/soak.rs +++ b/src/simtest/soak.rs @@ -140,6 +140,11 @@ async fn soak_with_churn() { SYNC_REPLY_TIMEOUT, crate::transport::sim::DELIVERY_LIMIT, ); + // With `SIM_TOPOLOGY=hyparview`, HyParView's 5, as in production + // (`config::derive_defaults`). + if config.topology == crate::swarm::topology::Kind::Hyparview { + config.neighbours_k = 5; + } }; let genesis = ids[0].as_str(); let mut nodes = vec![sim.start_with(genesis, &[], Start::Genesis, timing)]; @@ -289,14 +294,19 @@ async fn soak_with_churn() { .metrics() .num_alive_tasks(); println!( - "soak with churn: {writes} writes, {away_turn} times away, {restart_turn} restarts; \ + "soak with churn ({}, {}): {writes} writes, {away_turn} times away, {restart_turn} restarts; \ propagation: {} changes, mean {} ms, p99 within {}", + nodes[0].topology().name(), + nodes[0].dissemination().name(), propagation.count, propagation.sum_ms / propagation.count.max(1), percentile_bound(&propagation, 0.99) .map_or("more than an hour".to_owned(), |ms| format!("{ms} ms")), ); super::bench::sent_kept(&mut out, &nodes).await; + // For PlumTree and HyParView: their links and views at the end (nothing otherwise). + super::bench::eager_links(&mut out, &nodes, &sim.net); + super::bench::active_views(&mut out, &nodes); print!("{out}"); println!( " per node at most: {peers} peers, round trips of {rtts}, throughput of \ |
