Skip to content

Commit

Permalink
Update benchmark
Browse files Browse the repository at this point in the history
  • Loading branch information
lbirkert committed Aug 14, 2023
1 parent 39b0c7e commit b86f830
Showing 1 changed file with 43 additions and 49 deletions.
92 changes: 43 additions & 49 deletions crates/kelocam-core/benches/ray_intersection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,67 +7,61 @@ use test::Bencher;

#[bench]
pub fn ray_triangle_intersection(bencher: &mut Bencher) {
bencher.iter(|| {
let triangle: Triangle;
{
let a = Vector3::new_random();
let b = Vector3::new_random();
let c = Vector3::new_random();
let normal = UnitVector3::new_normalize((a - b).cross(&(a - c)));
triangle = Triangle::new(a, b, c, normal);
}
let triangle: Triangle;
{
let a = Vector3::new_random();
let b = Vector3::new_random();
let c = Vector3::new_random();
let normal = UnitVector3::new_normalize((a - b).cross(&(a - c)));
triangle = Triangle::new(a, b, c, normal);
}

let ray: Ray;
{
let origin = Vector3::new_random();
let normal = UnitVector3::new_normalize(Vector3::new_random());
ray = Ray::new(origin, normal);
}
let ray: Ray;
{
let origin = Vector3::new_random();
let normal = UnitVector3::new_normalize(Vector3::new_random());
ray = Ray::new(origin, normal);
}

ray.intersect(&triangle)
})
bencher.iter(|| test::black_box(&ray).intersect(test::black_box(&triangle)));
}

#[bench]
pub fn ray_plane_intersection(bencher: &mut Bencher) {
bencher.iter(|| {
let plane: Plane;
{
let origin = Vector3::new_random();
let normal = UnitVector3::new_normalize(Vector3::new_random());
plane = Plane::new(origin, normal);
}
let plane: Plane;
{
let origin = Vector3::new_random();
let normal = UnitVector3::new_normalize(Vector3::new_random());
plane = Plane::new(origin, normal);
}

let ray: Ray;
{
let origin = Vector3::new_random();
let normal = UnitVector3::new_normalize(Vector3::new_random());
ray = Ray::new(origin, normal);
}
let ray: Ray;
{
let origin = Vector3::new_random();
let normal = UnitVector3::new_normalize(Vector3::new_random());
ray = Ray::new(origin, normal);
}

ray.intersect(&plane)
})
bencher.iter(|| test::black_box(&ray).intersect(test::black_box(&plane)))
}

#[bench]
pub fn ray_square_intersection(bencher: &mut Bencher) {
bencher.iter(|| {
let square: Square;
{
let a = Vector3::new_random();
let ab = Vector3::new_random();
let ac = Vector3::new_random();
let normal = UnitVector3::new_normalize(ab.cross(&ac));
square = Square::new(a, ab, ac, normal);
}
let square: Square;
{
let a = Vector3::new_random();
let ab = Vector3::new_random();
let ac = Vector3::new_random();
let normal = UnitVector3::new_normalize(ab.cross(&ac));
square = Square::new(a, ab, ac, normal);
}

let ray: Ray;
{
let origin = Vector3::new_random();
let normal = UnitVector3::new_normalize(Vector3::new_random());
ray = Ray::new(origin, normal);
}
let ray: Ray;
{
let origin = Vector3::new_random();
let normal = UnitVector3::new_normalize(Vector3::new_random());
ray = Ray::new(origin, normal);
}

ray.intersect(&square)
})
bencher.iter(|| test::black_box(&ray).intersect(test::black_box(&square)))
}

0 comments on commit b86f830

Please sign in to comment.