cargo fmt
This commit is contained in:
parent
a6b4bfbb1e
commit
a4efef2382
|
@ -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),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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`
|
||||||
");
|
"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue