Upgrade benchmarks

next
Sayan Nandan 4 years ago
parent f80911e4c1
commit a8fe1a77ef
No known key found for this signature in database
GPG Key ID: C31EFD7DDA12AEE0

@ -24,7 +24,6 @@
//! the response times may be shown to be slower than they actually are
mod benchtool {
use libtdb::builders::query::*;
use devtimer::DevTime;
use rand::distributions::Alphanumeric;
use rand::{thread_rng, Rng};
@ -152,35 +151,13 @@ mod benchtool {
})
.collect();
let set_packs: Vec<Vec<u8>> = (0..max_queries)
.map(|idx| {
let mut g = QueryGroup::new();
g.add_item("SET");
g.add_item(&keys[idx]);
g.add_item(&values[idx]);
let mut q = SQuery::new();
q.add_group(g);
q.into_query()
})
.map(|idx| proc_query(format!("SET {} {}", keys[idx], values[idx])))
.collect();
let get_packs: Vec<Vec<u8>> = (0..max_queries)
.map(|idx| {
let mut g = QueryGroup::new();
g.add_item("GET");
g.add_item(&keys[idx]);
let mut q = SQuery::new();
q.add_group(g);
q.into_query()
})
.map(|idx| proc_query(format!("GET {}", keys[idx])))
.collect();
let del_packs: Vec<Vec<u8>> = (0..max_queries)
.map(|idx| {
let mut g = QueryGroup::new();
g.add_item("DEL");
g.add_item(&keys[idx]);
let mut q = SQuery::new();
q.add_group(g);
q.into_query()
})
.map(|idx| proc_query(format!("DEL {}", keys[idx])))
.collect();
println!("Per-packet size (GET): {} bytes", get_packs[0].len());
println!("Per-packet size (SET): {} bytes", set_packs[0].len());
@ -221,6 +198,28 @@ mod benchtool {
fn calc(reqs: usize, time: u128) -> f64 {
reqs as f64 / (time as f64 / 1_000_000_000 as f64)
}
fn proc_query(querystr: String) -> Vec<u8> {
// TODO(@ohsayan): Enable "" to be escaped
// let args: Vec<&str> = RE.find_iter(&querystr).map(|val| val.as_str()).collect();
let args: Vec<&str> = querystr.split_whitespace().collect();
let mut bytes = Vec::with_capacity(querystr.len());
bytes.extend(b"#2\n*1\n#");
let arg_len_bytes = args.len().to_string().into_bytes();
let arg_len_bytes_len = (arg_len_bytes.len() + 1).to_string().into_bytes();
bytes.extend(arg_len_bytes_len);
bytes.extend(b"\n&");
bytes.extend(arg_len_bytes);
bytes.push(b'\n');
args.into_iter().for_each(|arg| {
bytes.push(b'#');
let len_bytes = arg.len().to_string().into_bytes();
bytes.extend(len_bytes);
bytes.push(b'\n');
bytes.extend(arg.as_bytes());
bytes.push(b'\n');
});
bytes
}
}
fn main() {

Loading…
Cancel
Save