Skip to content

Commit d677f16

Browse files
Core: Fix rust benchmark for unmaintained advisory (#5000)
Signed-off-by: James Xin <james.xin@improving.com>
1 parent 19aa5ba commit d677f16

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

benchmarks/rust/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ itoa = "1.0.6"
1818
clap = { version = "4.3.8", features = ["derive"] }
1919
chrono = "0.4.26"
2020
serde_json = "1.0.99"
21-
statistical = "1.0.0"
21+
average = "0.15"
2222
tikv-jemallocator = "0.5.4"
2323

2424
[profile.release]

benchmarks/rust/src/main.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use futures::{self, StreamExt, future::join_all, stream};
1212
use glide_core::client::{Client, ConnectionRequest, NodeAddress, TlsMode};
1313
use rand::{Rng, thread_rng};
1414
use serde_json::Value;
15+
use average::{Mean, Variance};
1516
use std::{
1617
cmp::max,
1718
collections::HashMap,
@@ -197,8 +198,12 @@ fn calculate_latencies(values: &[Duration], prefix: &str) -> HashMap<String, Val
197198
let p50 = latencies[(len * 0.5) as usize];
198199
let p90 = latencies[(len * 0.9) as usize];
199200
let p99 = latencies[(len * 0.99) as usize];
200-
let avg = statistical::mean(&latencies);
201-
let stddev = statistical::standard_deviation(&latencies, None);
201+
202+
let mean_calc: Mean = latencies.iter().copied().collect();
203+
let avg = mean_calc.mean();
204+
205+
let variance_calc: Variance = latencies.iter().copied().collect();
206+
let stddev = variance_calc.population_variance().sqrt();
202207

203208
map.insert(format!("{prefix}_p50_latency"), p50.into());
204209
map.insert(format!("{prefix}_p90_latency"), p90.into());

0 commit comments

Comments
 (0)