aboutsummaryrefslogtreecommitdiffstats
path: root/src/simtest/soak.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-06 19:54:09 +0100
committertv <tv@krebsco.de>2026-11-06 19:54:09 +0100
commit5994b49412c058079639585501a78e6458fdbb6f (patch)
treeca78aa3cd7d0d6d2a48bfa42d61afcddb8efd6df /src/simtest/soak.rs
parent7c0c318dca3054be6c7bacf5a4b3f5a4e47cc949 (diff)
HyParView (slim)
Diffstat (limited to 'src/simtest/soak.rs')
-rw-r--r--src/simtest/soak.rs12
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 \