in src/storage/seg/benches/benchmark.rs [74:110]
fn set_benchmark(c: &mut Criterion) {
let ttl = Duration::ZERO;
let mut group = c.benchmark_group("set");
group.measurement_time(Duration::from_secs(30));
group.throughput(Throughput::Elements(1));
for key_size in [1, 255].iter() {
for value_size in [1, 64, 1024, 16384].iter() {
let (keys, values) = key_values(*key_size, 1_000_000, *value_size, 10_000);
// launch the server
let mut cache = Seg::builder()
.hash_power(16)
.heap_size(64 * MB)
.segment_size(MB as i32)
.build()
.expect("failed to create cache");
let mut key = 0;
let mut value = 0;
group.bench_function(&format!("{}b/{}b", key_size, value_size), |b| {
b.iter(|| {
let _ = cache.insert(&keys[key], &values[value], None, ttl);
key += 1;
if key >= keys.len() {
key = 0;
}
value += 1;
if value >= values.len() {
value = 0;
}
})
});
}
}
}