Add benches/ directory referenced in Cargo.toml.
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
eae77f0ccb
commit
6f3e29a648
37
rtiow/benches/spheres.rs
Normal file
37
rtiow/benches/spheres.rs
Normal file
@ -0,0 +1,37 @@
|
||||
#[macro_use]
|
||||
extern crate criterion;
|
||||
|
||||
use criterion::Criterion;
|
||||
use criterion::ParameterizedBenchmark;
|
||||
|
||||
use rtiow::hitable::Hit;
|
||||
use rtiow::material::Lambertian;
|
||||
use rtiow::ray::Ray;
|
||||
use rtiow::sphere::Sphere;
|
||||
use rtiow::texture::ConstantTexture;
|
||||
use rtiow::vec3::Vec3;
|
||||
|
||||
fn criterion_benchmark(c: &mut Criterion) {
|
||||
let sphere = Sphere::new(
|
||||
Vec3::new(0., 0., 0.),
|
||||
1.,
|
||||
Lambertian::new(ConstantTexture::new([1., 0., 0.])),
|
||||
);
|
||||
let rays = vec![
|
||||
// Hit
|
||||
Ray::new([0., 0., -2.], [0., 0., 1.], 0.),
|
||||
// Miss
|
||||
Ray::new([0., 0., -2.], [0., 0., -1.], 0.),
|
||||
];
|
||||
c.bench(
|
||||
"sphere",
|
||||
ParameterizedBenchmark::new(
|
||||
"Sphere",
|
||||
move |b, r| b.iter(|| sphere.hit(*r, 0., 1.)),
|
||||
rays,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
criterion_group!(benches, criterion_benchmark);
|
||||
criterion_main!(benches);
|
||||
Loading…
x
Reference in New Issue
Block a user