pub trait Benchmarkable {
const NAME: &'static str;
fn build(data: &[u64], epsilon: Option<usize>) -> Self;
fn query(&self, data: &[u64], key: u64) -> Option<usize>;
fn bench_name(epsilon: Option<usize>) -> String {
if let Some(eps) = epsilon {
format!("{}_{}", Self::NAME, eps)
} else {
Self::NAME.to_string()
}
}
}