Skip to content

Commit eabcf74

Browse files
aw-query: Refactor benchmark code
1 parent 7265598 commit eabcf74

File tree

1 file changed

+15
-20
lines changed

1 file changed

+15
-20
lines changed

aw-query/benches/benchmark.rs

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,17 @@ mod query_benchmarks {
3535
use aw_models::Event;
3636
use aw_models::TimeInterval;
3737

38+
static BUCKETNAME: &str = "testbucket";
3839
static TIME_INTERVAL: &str = "1980-01-01T00:00:00Z/2080-01-02T00:00:00Z";
39-
static BUCKET_ID: &str = "testid";
4040

41-
fn setup_datastore_empty() -> Datastore {
41+
fn setup_datastore() -> Datastore {
4242
return Datastore::new_in_memory(false);
4343
}
4444

45-
fn setup_datastore_with_bucket() -> Datastore {
46-
let ds = setup_datastore_empty();
47-
// Create bucket
45+
fn create_bucket(ds: &Datastore, bucketname: String) {
4846
let bucket = Bucket {
4947
bid: None,
50-
id: BUCKET_ID.to_string(),
48+
id: bucketname,
5149
_type: "testtype".to_string(),
5250
client: "testclient".to_string(),
5351
hostname: "testhost".to_string(),
@@ -58,35 +56,29 @@ mod query_benchmarks {
5856
last_updated: None,
5957
};
6058
ds.create_bucket(&bucket).unwrap();
61-
return ds;
6259
}
6360

64-
fn setup_datastore_populated() -> Datastore {
65-
let ds = setup_datastore_with_bucket();
66-
61+
fn insert_events(ds: &Datastore, bucketname: &str, num_events: i64) {
6762
let mut possible_data = Vec::<Map<String, Value>>::new();
6863
for i in 0..20 {
6964
possible_data.push(json_map! {"number": i});
7065
}
71-
//
7266
let mut event_list = Vec::new();
73-
for i in 0..3000 {
67+
for i in 0..num_events {
7468
let e = Event {
7569
id: None,
7670
timestamp: chrono::Utc::now() + Duration::seconds(i),
77-
duration: Duration::seconds(1),
71+
duration: Duration::seconds(10),
7872
data: possible_data[i as usize % 20].clone(),
7973
};
8074
event_list.push(e);
8175
}
82-
ds.insert_events(&BUCKET_ID, &event_list).unwrap();
83-
84-
return ds;
76+
ds.insert_events(bucketname, &event_list).unwrap();
8577
}
8678

8779
#[bench]
8880
fn bench_assign(b: &mut Bencher) {
89-
let ds = setup_datastore_empty();
81+
let ds = setup_datastore();
9082
let interval = TimeInterval::new_from_string(TIME_INTERVAL).unwrap();
9183
b.iter(|| {
9284
let code = String::from("return a=1;");
@@ -99,14 +91,17 @@ mod query_benchmarks {
9991

10092
#[bench]
10193
fn bench_many_events(b: &mut Bencher) {
102-
let ds = setup_datastore_populated();
94+
let ds = setup_datastore();
95+
create_bucket(&ds, BUCKETNAME.to_string());
96+
insert_events(&ds, &BUCKETNAME, 5000);
97+
10398
let interval = TimeInterval::new_from_string(TIME_INTERVAL).unwrap();
10499
b.iter(|| {
105100
let code = String::from(
106101
"
107-
events = query_bucket(\"testid\");
102+
events = query_bucket(\"testbucket\");
108103
return events;
109-
",
104+
",
110105
);
111106
aw_query::query(&code, &interval, &ds).unwrap();
112107
});

0 commit comments

Comments
 (0)