29 lines
761 B
Rust
29 lines
761 B
Rust
mod common;
|
|
|
|
use criterion::{criterion_group, criterion_main, Criterion};
|
|
use gpodder::{DevicePatch, DeviceRepository};
|
|
|
|
pub fn bench_devices_for_user(c: &mut Criterion) {
|
|
let (store, users) = common::setup();
|
|
|
|
for i in 0..100000 {
|
|
store
|
|
.update_device_info(
|
|
&users[i % users.len()],
|
|
&format!("device id {i}"),
|
|
DevicePatch {
|
|
caption: Some(format!("device caption {i}")),
|
|
r#type: None,
|
|
},
|
|
)
|
|
.unwrap();
|
|
}
|
|
|
|
c.bench_function("devices for user", |b| {
|
|
b.iter(|| store.devices_for_user(&users[0]).unwrap())
|
|
});
|
|
}
|
|
|
|
criterion_group!(devices, bench_devices_for_user);
|
|
criterion_main!(devices);
|