mirror of
https://github.com/chatmail/core.git
synced 2026-05-02 04:46:29 +03:00
Benchmark reading contact list
This commit is contained in:
@@ -4,7 +4,7 @@ use deltachat::contact::Contact;
|
|||||||
use deltachat::context::Context;
|
use deltachat::context::Context;
|
||||||
use tempfile::tempdir;
|
use tempfile::tempdir;
|
||||||
|
|
||||||
async fn address_book_benchmark(n: u32) {
|
async fn address_book_benchmark(n: u32, read_count: u32) {
|
||||||
let dir = tempdir().unwrap();
|
let dir = tempdir().unwrap();
|
||||||
let dbfile = dir.path().join("db.sqlite");
|
let dbfile = dir.path().join("db.sqlite");
|
||||||
let id = 100;
|
let id = 100;
|
||||||
@@ -18,11 +18,20 @@ async fn address_book_benchmark(n: u32) {
|
|||||||
.join("");
|
.join("");
|
||||||
|
|
||||||
Contact::add_address_book(&context, book).await.unwrap();
|
Contact::add_address_book(&context, book).await.unwrap();
|
||||||
|
|
||||||
|
let query: Option<&str> = None;
|
||||||
|
for _ in 0..read_count {
|
||||||
|
Contact::get_all(&context, 0, query).await.unwrap();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn criterion_benchmark(c: &mut Criterion) {
|
fn criterion_benchmark(c: &mut Criterion) {
|
||||||
c.bench_function("create 500 contacts", |b| {
|
c.bench_function("create 500 contacts", |b| {
|
||||||
b.iter(|| block_on(async { address_book_benchmark(black_box(500)).await }))
|
b.iter(|| block_on(async { address_book_benchmark(black_box(500), black_box(0)).await }))
|
||||||
|
});
|
||||||
|
|
||||||
|
c.bench_function("create 100 contacts and read it 1000 times", |b| {
|
||||||
|
b.iter(|| block_on(async { address_book_benchmark(black_box(100), black_box(1000)).await }))
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user