cargo fmt

This commit is contained in:
Christoph J. Scherr 2024-01-10 21:24:00 +01:00
parent a6b4bfbb1e
commit a4efef2382
3 changed files with 44 additions and 16 deletions

View File

@ -3,6 +3,6 @@ pub fn fibonacci(n: u64) -> u64 {
match n { match n {
0 => 1, 0 => 1,
1 => 1, 1 => 1,
n => fibonacci(n-1) + fibonacci(n-2), n => fibonacci(n - 1) + fibonacci(n - 2),
} }
} }

View File

@ -1,31 +1,58 @@
#![allow(unused)] #![allow(unused)]
use criterion::{black_box, criterion_group, criterion_main, Criterion, BenchmarkId, Throughput}; use criterion::{black_box, criterion_group, criterion_main, BenchmarkId, Criterion, Throughput};
use revsqrt::{inverse_sqrt, fast_inverse_sqrt}; use revsqrt::{fast_inverse_sqrt, inverse_sqrt};
const SIZE: f32 = 1337.1337; const SIZE: f32 = 1337.1337;
const FCONST: f32 = 1024.12481224; const FCONST: f32 = 1024.12481224;
const FCONST1: f32 = 4025.724812234; const FCONST1: f32 = 4025.724812234;
pub fn single_input(c: &mut Criterion) { pub fn single_input(c: &mut Criterion) {
c.bench_with_input(BenchmarkId::new("regular rsqrt", SIZE),&SIZE, |b, &s| b.iter(|| inverse_sqrt(s))); c.bench_with_input(BenchmarkId::new("regular rsqrt", SIZE), &SIZE, |b, &s| {
c.bench_with_input(BenchmarkId::new("fast rsqrt", SIZE),&SIZE, |b, &s| b.iter(|| fast_inverse_sqrt(s))); b.iter(|| inverse_sqrt(s))
});
c.bench_with_input(BenchmarkId::new("fast rsqrt", SIZE), &SIZE, |b, &s| {
b.iter(|| fast_inverse_sqrt(s))
});
} }
pub fn multi_input(c: &mut Criterion) { pub fn multi_input(c: &mut Criterion) {
let mut group = c.benchmark_group("multi_input"); let mut group = c.benchmark_group("multi_input");
for size in [FCONST, 2.2 * FCONST, 4.24 * FCONST, 8.64 * FCONST, 16.12 * FCONST].iter() { for size in [
FCONST,
2.2 * FCONST,
4.24 * FCONST,
8.64 * FCONST,
16.12 * FCONST,
]
.iter()
{
group.throughput(Throughput::Bytes(*size as u64)); group.throughput(Throughput::Bytes(*size as u64));
group.bench_with_input(BenchmarkId::new("regular rsqrt mixed input", FCONST), size, |b, &size| { group.bench_with_input(
b.iter(||inverse_sqrt(size)); BenchmarkId::new("regular rsqrt mixed input", FCONST),
}); size,
|b, &size| {
b.iter(|| inverse_sqrt(size));
},
);
} }
for size in [FCONST1, 2.2 * FCONST1, 4.24 * FCONST1, 8.64 * FCONST1, 16.12 * FCONST1].iter() { for size in [
FCONST1,
2.2 * FCONST1,
4.24 * FCONST1,
8.64 * FCONST1,
16.12 * FCONST1,
]
.iter()
{
group.throughput(Throughput::Bytes(*size as u64)); group.throughput(Throughput::Bytes(*size as u64));
group.bench_with_input(BenchmarkId::new("fast rsqrt mixed input", FCONST1), size, |b, &size| { group.bench_with_input(
b.iter(||fast_inverse_sqrt(size)); BenchmarkId::new("fast rsqrt mixed input", FCONST1),
}); size,
|b, &size| {
b.iter(|| fast_inverse_sqrt(size));
},
);
} }
group.finish(); group.finish();
} }
criterion_group!(benches, single_input, multi_input); criterion_group!(benches, single_input, multi_input);
criterion_main!(benches); criterion_main!(benches);

View File

@ -1,6 +1,6 @@
fn main() { fn main() {
println!( println!(
"SUCCESS!!! "SUCCESS!!!
This is the default executable! It does not do much, use another executable. This is the default executable! It does not do much, use another executable.
Select your target like this: Select your target like this:
@ -8,5 +8,6 @@ Select your target like this:
To see a list of all runnable binaries, you can use the following command. To see a list of all runnable binaries, you can use the following command.
`cargo run --bin` `cargo run --bin`
"); "
);
} }