diff --git a/Cargo.toml b/Cargo.toml index 46d107d..3138804 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,7 +4,8 @@ version = "0.1.0" edition = "2024" [dependencies] -mace-kv = "0.0.24" +# mace-kv = "0.0.24" +mace-kv = { path = "/home/neo/mace" } clap = { version = "4.5.48", features = ["derive"] } rand = "0.9.2" log = "0.4.22" diff --git a/src/main.rs b/src/main.rs index 9f881ab..ffc5f08 100644 --- a/src/main.rs +++ b/src/main.rs @@ -87,6 +87,7 @@ fn main() { saved.tmp_store = false; let mut db = Mace::new(opt.validate().unwrap()).unwrap(); db.disable_gc(); + let mut bkt = db.bucket("default").unwrap(); let mut rng = rand::rng(); let value = Arc::new(vec![b'0'; args.value_size]); @@ -105,24 +106,26 @@ fn main() { } if args.mode == "get" || args.mode == "scan" { - let pre_tx = db.begin().unwrap(); + let pre_tx = bkt.begin().unwrap(); (0..args.threads).for_each(|tid| { for k in &keys[tid] { pre_tx.put(k, &*value).unwrap(); } }); pre_tx.commit().unwrap(); + drop(bkt); drop(db); // re-open db saved.tmp_store = true; db = Mace::new(saved.validate().unwrap()).unwrap(); + bkt = db.bucket("default").unwrap(); // simulate common use cases for i in 0..keys_per_thread { let tid = rng.random_range(0..args.threads); let mut k = format!("key_{tid}_{i}").into_bytes(); k.resize(args.key_size, b'x'); - let view = db.view().unwrap(); + let view = bkt.view().unwrap(); view.get(&k).unwrap(); } } @@ -133,7 +136,7 @@ fn main() { let h: Vec> = (0..args.threads) .map(|tid| { - let db = db.clone(); + let db = bkt.clone(); let tk: &Vec> = unsafe { std::mem::transmute(&keys[tid]) }; let total_ops = total_ops.clone(); let barrier = Arc::clone(&barrier);