diff options
| author | Jan Tuomi <jan@jantuomi.fi> | 2025-05-03 00:15:02 +0300 |
|---|---|---|
| committer | Jan Tuomi <jan@jantuomi.fi> | 2025-05-03 00:20:36 +0300 |
| commit | 84ac3652415b662aae9580c008a5aa996d58c9f4 (patch) | |
| tree | 3d39fe6ce5da76a1102458c120480e4190a70fcf /log_db/benches/benchmark.rs | |
| parent | e17048eddfe2df86abd2d498da2a33b9c3dd8a72 (diff) | |
Rename to AutereDB
Diffstat (limited to 'log_db/benches/benchmark.rs')
| -rw-r--r-- | log_db/benches/benchmark.rs | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/log_db/benches/benchmark.rs b/log_db/benches/benchmark.rs deleted file mode 100644 index d8e6280..0000000 --- a/log_db/benches/benchmark.rs +++ /dev/null @@ -1,181 +0,0 @@ -mod utils; - -use std::collections::HashSet; - -use criterion::{black_box, criterion_group, criterion_main, BenchmarkId, Criterion}; -use log_db::*; -use tempfile; -use utils::*; - -pub fn upsert_compacted(c: &mut Criterion) { - let mut group = c.benchmark_group("upsert_compacted"); - let data_dir_obj = tempfile::tempdir().expect("Failed to get tmpdir"); - let data_dir = data_dir_obj - .path() - .to_str() - .expect("Failed to convert tmpdir path to str"); - let mut db = DB::configure() - .fields(Inst::fields()) - .primary_key(Inst::primary_key()) - .secondary_keys(Inst::secondary_keys()) - .data_dir(data_dir) - .initialize() - .expect("Failed to initialize DB"); - - let mut insts = Vec::new(); - for size in [100_000, 1_000_000, 10_000_000] { - println!("Prefilling DB to {} entries", size); - prefill_db(&mut db, &mut insts, size, true).expect("Failed to prefill DB"); - - group.bench_with_input(BenchmarkId::from_parameter(size), &size, |b, &_size| { - b.iter(|| { - let inst = random_inst(0, size as i64 + 1); - let result = db.upsert(black_box(inst)).unwrap(); - assert!(result == ()); - }); - }); - } -} - -pub fn delete_existing_compacted(c: &mut Criterion) { - let mut group = c.benchmark_group("delete_existing_compacted"); - let data_dir_obj = tempfile::tempdir().expect("Failed to get tmpdir"); - let data_dir = data_dir_obj - .path() - .to_str() - .expect("Failed to convert tmpdir path to str"); - let mut db = DB::configure() - .fields(Inst::fields()) - .primary_key(Inst::primary_key()) - .secondary_keys(Inst::secondary_keys()) - .data_dir(data_dir) - .initialize() - .expect("Failed to initialize DB"); - - let mut insts = Vec::new(); - for size in [100_000, 1_000_000, 10_000_000] { - println!("Prefilling DB to {} entries", size); - prefill_db(&mut db, &mut insts, size, true).expect("Failed to prefill DB"); - - let pk_set: HashSet<i64> = insts.iter().map(|inst| inst.id).collect(); - let mut pk_set_it = pk_set.into_iter(); - - group.bench_with_input(BenchmarkId::from_parameter(size), &size, |b, &_size| { - b.iter(|| { - let result = db - .delete(black_box(&Value::Int(pk_set_it.next().unwrap()))) - .unwrap(); - assert!(result.is_some()); - }); - }); - } -} - -pub fn upsert_write_durability(c: &mut Criterion) { - let mut group = c.benchmark_group("upsert_write_durability"); - - for mode in [WriteDurability::Flush, WriteDurability::FlushSync] { - group.bench_with_input(BenchmarkId::from_parameter(&mode), &mode, |b, _mode| { - let data_dir_obj = tempfile::tempdir().expect("Failed to get tmpdir"); - let data_dir = data_dir_obj - .path() - .to_str() - .expect("Failed to convert tmpdir path to str"); - let mut db = DB::configure() - .fields(Inst::fields()) - .primary_key(Inst::primary_key()) - .secondary_keys(Inst::secondary_keys()) - .data_dir(data_dir) - .write_durability(mode.clone()) - .initialize() - .expect("Failed to initialize DB"); - - b.iter(|| { - let inst = random_inst(0, 1000); - let result = db.upsert(black_box(inst)).unwrap(); - assert!(result == ()); - }); - }); - } -} - -pub fn get_existing_compacted(c: &mut Criterion) { - let mut group = c.benchmark_group("get_existing_compacted"); - - let data_dir_obj = tempfile::tempdir().expect("Failed to get tmpdir"); - let data_dir = data_dir_obj - .path() - .to_str() - .expect("Failed to convert tmpdir path to str"); - let mut db = DB::configure() - .fields(Inst::fields()) - .primary_key(Inst::primary_key()) - .secondary_keys(Inst::secondary_keys()) - .data_dir(data_dir) - .initialize() - .expect("Failed to initialize DB"); - - let mut insts = Vec::new(); - let mut inst_index = 0; - for size in [100_000, 1_000_000, 10_000_000] { - println!("Prefilling DB to {} entries", size); - prefill_db(&mut db, &mut insts, size, true).expect("Failed to prefill DB"); - - group.bench_with_input(BenchmarkId::from_parameter(size), &size, |b, &_size| { - b.iter(|| { - let id = insts[inst_index].id; - let result = db.get(black_box(&Value::Int(id))).unwrap(); - assert!(result.is_some()); - inst_index = (inst_index + 1) % insts.len(); - }); - }); - } -} - -pub fn find_by_existing_compacted(c: &mut Criterion) { - let mut group = c.benchmark_group("find_by_existing_compacted"); - - let data_dir_path = tempfile::tempdir() - .expect("Failed to get tmpdir") - .into_path(); - let data_dir = data_dir_path - .to_str() - .expect("Failed to convert tmpdir path to str"); - let mut db = DB::configure() - .fields(Inst::fields()) - .primary_key(Inst::primary_key()) - .secondary_keys(Inst::secondary_keys()) - .data_dir(data_dir) - .initialize() - .expect("Failed to initialize DB"); - - let mut insts = Vec::new(); - let mut inst_index = 0; - for size in [100_000, 1_000_000, 10_000_000] { - println!("Prefilling DB to {} entries", size); - prefill_db(&mut db, &mut insts, size, true).expect("Failed to prefill DB"); - println!("DB prefilling done, insts.len = {}", insts.len()); - - group.bench_with_input(BenchmarkId::from_parameter(size), &size, |b, &_size| { - b.iter(|| { - let name = insts[inst_index].name.clone(); - let result = db - .find_by(black_box(&Field::Name), black_box(&Value::String(name))) - .unwrap(); - assert!(result.len() > 0); - inst_index = (inst_index + 1) % insts.len(); - }); - }); - } -} - -// Register the benchmark group -criterion_group!( - benches, - upsert_compacted, - delete_existing_compacted, - upsert_write_durability, - get_existing_compacted, - find_by_existing_compacted, -); -criterion_main!(benches); |
