Skip to content

Commit

Permalink
pr commments
Browse files Browse the repository at this point in the history
  • Loading branch information
teh-cmc committed Jan 2, 2024
1 parent cc2c93c commit 1aec989
Show file tree
Hide file tree
Showing 3 changed files with 176 additions and 105 deletions.
5 changes: 2 additions & 3 deletions crates/re_query_cache/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,15 +28,14 @@ re_types_core.workspace = true
# External dependencies:
ahash.workspace = true
document-features.workspace = true
itertools = { workspace = true }
itertools.workspace = true
thiserror.workspace = true


[dev-dependencies]
re_log_types = { workspace = true, features = ["testing"] }

criterion = "0.5"
itertools = { workspace = true }
criterion.workspace = true
mimalloc.workspace = true
similar-asserts.workspace = true

Expand Down
55 changes: 25 additions & 30 deletions crates/re_query_cache/benches/flat_vec_deque.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ use itertools::Itertools as _;

use re_query_cache::FlatVecDeque;

// TODO: all of this should be core_benchmarks

// ---

#[global_allocator]
Expand All @@ -15,8 +13,8 @@ criterion_group!(
benches,
range,
insert,
insert_range,
insert_with,
insert_many,
insert_deque,
remove,
remove_range
);
Expand Down Expand Up @@ -104,7 +102,7 @@ fn insert(c: &mut Criterion) {
group.bench_function("insert/empty", |b| {
b.iter(|| {
let mut v: FlatVecDeque<i64> = FlatVecDeque::new();
v.insert(0, added.clone().into_iter());
v.insert(0, added.clone());
v
});
});
Expand All @@ -115,30 +113,30 @@ fn insert(c: &mut Criterion) {
let base = create_prefilled();
b.iter(|| {
let mut v: FlatVecDeque<i64> = base.clone();
v.insert(0, added.clone().into_iter());
v.insert(0, added.clone());
v
});
});
group.bench_function("insert/prefilled/middle", |b| {
let base = create_prefilled();
b.iter(|| {
let mut v: FlatVecDeque<i64> = base.clone();
v.insert(INITIAL_NUM_ENTRIES / 2, added.clone().into_iter());
v.insert(INITIAL_NUM_ENTRIES / 2, added.clone());
v
});
});
group.bench_function("insert/prefilled/back", |b| {
let base = create_prefilled();
b.iter(|| {
let mut v: FlatVecDeque<i64> = base.clone();
v.insert(INITIAL_NUM_ENTRIES, added.clone().into_iter());
v.insert(INITIAL_NUM_ENTRIES, added.clone());
v
});
});
}
}

fn insert_range(c: &mut Criterion) {
fn insert_many(c: &mut Criterion) {
if std::env::var("CI").is_ok() {
return;
}
Expand All @@ -153,54 +151,51 @@ fn insert_range(c: &mut Criterion) {
));

{
group.bench_function("insert_range/empty", |b| {
group.bench_function("insert_many/empty", |b| {
b.iter(|| {
let mut v: FlatVecDeque<i64> = FlatVecDeque::new();
v.insert_range(0, added.clone());
v.insert_many(0, added.clone());
v
});
});
}

{
group.bench_function("insert_range/prefilled/front", |b| {
group.bench_function("insert_many/prefilled/front", |b| {
let base = create_prefilled();
b.iter(|| {
let mut v: FlatVecDeque<i64> = base.clone();
v.insert_range(0, added.clone());
v.insert_many(0, added.clone());
v
});
});
group.bench_function("insert_range/prefilled/middle", |b| {
group.bench_function("insert_many/prefilled/middle", |b| {
let base = create_prefilled();
b.iter(|| {
let mut v: FlatVecDeque<i64> = base.clone();
v.insert_range(INITIAL_NUM_ENTRIES / 2, added.clone());
v.insert_many(INITIAL_NUM_ENTRIES / 2, added.clone());
v
});
});
group.bench_function("insert_range/prefilled/back", |b| {
group.bench_function("insert_many/prefilled/back", |b| {
let base = create_prefilled();
b.iter(|| {
let mut v: FlatVecDeque<i64> = base.clone();
v.insert_range(INITIAL_NUM_ENTRIES, added.clone());
v.insert_many(INITIAL_NUM_ENTRIES, added.clone());
v
});
});
}
}

fn insert_with(c: &mut Criterion) {
fn insert_deque(c: &mut Criterion) {
if std::env::var("CI").is_ok() {
return;
}

let mut added: FlatVecDeque<i64> = FlatVecDeque::new();
for i in 0..ADDED_NUM_ENTRIES {
added.insert(
i,
(0..ADDED_VALUES_PER_ENTRY as i64).collect_vec().into_iter(),
);
added.insert(i, (0..ADDED_VALUES_PER_ENTRY as i64).collect_vec());
}

let added = FlatVecDeque::from_vecs(
Expand All @@ -214,37 +209,37 @@ fn insert_with(c: &mut Criterion) {
));

{
group.bench_function("insert_with/empty", |b| {
group.bench_function("insert_deque/empty", |b| {
b.iter(|| {
let mut v: FlatVecDeque<i64> = FlatVecDeque::new();
v.insert_with(0, added.clone());
v.insert_deque(0, added.clone());
v
});
});
}

{
group.bench_function("insert_with/prefilled/front", |b| {
group.bench_function("insert_deque/prefilled/front", |b| {
let base = create_prefilled();
b.iter(|| {
let mut v: FlatVecDeque<i64> = base.clone();
v.insert_with(0, added.clone());
v.insert_deque(0, added.clone());
v
});
});
group.bench_function("insert_with/prefilled/middle", |b| {
group.bench_function("insert_deque/prefilled/middle", |b| {
let base = create_prefilled();
b.iter(|| {
let mut v: FlatVecDeque<i64> = base.clone();
v.insert_with(INITIAL_NUM_ENTRIES / 2, added.clone());
v.insert_deque(INITIAL_NUM_ENTRIES / 2, added.clone());
v
});
});
group.bench_function("insert_with/prefilled/back", |b| {
group.bench_function("insert_deque/prefilled/back", |b| {
let base = create_prefilled();
b.iter(|| {
let mut v: FlatVecDeque<i64> = base.clone();
v.insert_with(INITIAL_NUM_ENTRIES, added.clone());
v.insert_deque(INITIAL_NUM_ENTRIES, added.clone());
v
});
});
Expand Down
Loading

0 comments on commit 1aec989

Please sign in to comment.