bucket support
This commit is contained in:
parent
36c15dc0d0
commit
9c85e7407e
@ -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"
|
||||
|
||||
@ -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<JoinHandle<()>> = (0..args.threads)
|
||||
.map(|tid| {
|
||||
let db = db.clone();
|
||||
let db = bkt.clone();
|
||||
let tk: &Vec<Vec<u8>> = unsafe { std::mem::transmute(&keys[tid]) };
|
||||
let total_ops = total_ops.clone();
|
||||
let barrier = Arc::clone(&barrier);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user