Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
mrhooray committed Nov 30, 2024
1 parent e1f8e5e commit fe084b6
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 188 deletions.
5 changes: 3 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ num-traits = "0.2"
thiserror = "1.0"

[[bench]]
name = "bench_critrion"
name = "bench"
harness = false

[dependencies.serde]
Expand All @@ -30,4 +30,5 @@ version = "1.0"
optional = true

[features]
serialize = ["serde", "serde_derive"]
serialize = ["serde", "serde_derive"]

81 changes: 49 additions & 32 deletions benches/bench.rs
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
#![feature(test)]
extern crate kdtree;
extern crate rand;
extern crate test;

extern crate criterion;

use criterion::{criterion_group, criterion_main, Criterion};
use kdtree::distance::squared_euclidean;
use kdtree::KdTree;
use test::Bencher;

fn rand_data() -> ([f64; 3], f64) {
rand::random()
}

#[bench]
fn bench_add_to_kdtree_with_1k_3d_points(b: &mut Bencher) {
fn bench_add_to_kdtree_with_1k_3d_points(c: &mut Criterion) {
let len = 1000usize;
let point = rand_data();
let mut points = vec![];
Expand All @@ -23,11 +22,12 @@ fn bench_add_to_kdtree_with_1k_3d_points(b: &mut Bencher) {
for i in 0..points.len() {
kdtree.add(&points[i].0, points[i].1).unwrap();
}
b.iter(|| kdtree.add(&point.0, point.1).unwrap());
c.bench_function("bench_add_to_kdtree_with_1k_3d_points", |b| {
b.iter(|| kdtree.add(&point.0, point.1).unwrap());
});
}

#[bench]
fn bench_nearest_from_kdtree_with_1k_3d_points(b: &mut Bencher) {
fn bench_nearest_from_kdtree_with_1k_3d_points(c: &mut Criterion) {
let len = 1000usize;
let point = rand_data();
let mut points = vec![];
Expand All @@ -38,11 +38,12 @@ fn bench_nearest_from_kdtree_with_1k_3d_points(b: &mut Bencher) {
for i in 0..points.len() {
kdtree.add(&points[i].0, points[i].1).unwrap();
}
b.iter(|| kdtree.nearest(&point.0, 8, &squared_euclidean).unwrap());
c.bench_function("bench_nearest_from_kdtree_with_1k_3d_points", |b| {
b.iter(|| kdtree.nearest(&point.0, 8, &squared_euclidean).unwrap());
});
}

#[bench]
fn bench_within_2k_data_01_radius(b: &mut Bencher) {
fn bench_within_2k_data_01_radius(c: &mut Criterion) {
let len = 2000usize;
let point = rand_data();
let mut points = vec![];
Expand All @@ -54,11 +55,12 @@ fn bench_within_2k_data_01_radius(b: &mut Bencher) {
kdtree.add(&points[i].0, points[i].1).unwrap();
}

b.iter(|| kdtree.within(&point.0, 0.1, &squared_euclidean).unwrap());
c.bench_function("bench_within_2k_data_01_radius", |b| {
b.iter(|| kdtree.within(&point.0, 0.1, &squared_euclidean).unwrap());
});
}

#[bench]
fn bench_within_2k_data_02_radius(b: &mut Bencher) {
fn bench_within_2k_data_02_radius(c: &mut Criterion) {
let len = 2000usize;
let point = rand_data();
let mut points = vec![];
Expand All @@ -69,12 +71,12 @@ fn bench_within_2k_data_02_radius(b: &mut Bencher) {
for i in 0..points.len() {
kdtree.add(&points[i].0, points[i].1).unwrap();
}

b.iter(|| kdtree.within(&point.0, 0.2, &squared_euclidean).unwrap());
c.bench_function("bench_within_2k_data_02_radius", |b| {
b.iter(|| kdtree.within(&point.0, 0.2, &squared_euclidean).unwrap());
});
}

#[bench]
fn bench_within_unsorted_2k_data_01_radius(b: &mut Bencher) {
fn bench_within_unsorted_2k_data_01_radius(c: &mut Criterion) {
let len = 2000usize;
let point = rand_data();
let mut points = vec![];
Expand All @@ -85,12 +87,12 @@ fn bench_within_unsorted_2k_data_01_radius(b: &mut Bencher) {
for i in 0..points.len() {
kdtree.add(&points[i].0, points[i].1).unwrap();
}

b.iter(|| kdtree.within_unsorted(&point.0, 0.1, &squared_euclidean).unwrap());
c.bench_function("bench_within_unsorted_2k_data_01_radius", |b| {
b.iter(|| kdtree.within_unsorted(&point.0, 0.1, &squared_euclidean).unwrap());
});
}

#[bench]
fn bench_within_unsorted_2k_data_02_radius(b: &mut Bencher) {
fn bench_within_unsorted_2k_data_02_radius(c: &mut Criterion) {
let len = 2000usize;
let point = rand_data();
let mut points = vec![];
Expand All @@ -101,12 +103,12 @@ fn bench_within_unsorted_2k_data_02_radius(b: &mut Bencher) {
for i in 0..points.len() {
kdtree.add(&points[i].0, points[i].1).unwrap();
}

b.iter(|| kdtree.within_unsorted(&point.0, 0.2, &squared_euclidean).unwrap());
c.bench_function("bench_within_unsorted_2k_data_02_radius", |b| {
b.iter(|| kdtree.within_unsorted(&point.0, 0.2, &squared_euclidean).unwrap());
});
}

#[bench]
fn bench_within_count_2k_data_01_radius(b: &mut Bencher) {
fn bench_within_count_2k_data_01_radius(c: &mut Criterion) {
let len = 2000usize;
let point = rand_data();
let mut points = vec![];
Expand All @@ -117,12 +119,12 @@ fn bench_within_count_2k_data_01_radius(b: &mut Bencher) {
for i in 0..points.len() {
kdtree.add(&points[i].0, points[i].1).unwrap();
}

b.iter(|| kdtree.within_count(&point.0, 0.1, &squared_euclidean).unwrap());
c.bench_function("bench_within_count_2k_data_01_radius", |b| {
b.iter(|| kdtree.within_count(&point.0, 0.1, &squared_euclidean).unwrap());
});
}

#[bench]
fn bench_within_count_2k_data_02_radius(b: &mut Bencher) {
fn bench_within_count_2k_data_02_radius(c: &mut Criterion) {
let len = 2000usize;
let point = rand_data();
let mut points = vec![];
Expand All @@ -133,6 +135,21 @@ fn bench_within_count_2k_data_02_radius(b: &mut Bencher) {
for i in 0..points.len() {
kdtree.add(&points[i].0, points[i].1).unwrap();
}

b.iter(|| kdtree.within_count(&point.0, 0.2, &squared_euclidean).unwrap());
c.bench_function("bench_within_count_2k_data_02_radius", |b| {
b.iter(|| kdtree.within_count(&point.0, 0.2, &squared_euclidean).unwrap());
});
}

criterion_group!(
benches,
bench_add_to_kdtree_with_1k_3d_points,
bench_nearest_from_kdtree_with_1k_3d_points,
bench_within_2k_data_01_radius,
bench_within_2k_data_02_radius,
bench_within_unsorted_2k_data_01_radius,
bench_within_unsorted_2k_data_02_radius,
bench_within_count_2k_data_01_radius,
bench_within_count_2k_data_02_radius,
);

criterion_main!(benches);
154 changes: 0 additions & 154 deletions benches/bench_critrion.rs

This file was deleted.

0 comments on commit fe084b6

Please sign in to comment.