Compare commits

...

2 commits

Author SHA1 Message Date
4092239dd9 cargo fmt as action
Some checks failed
Cargo Format, Check and Test / cargo test (push) Has been cancelled
2024-01-10 21:24:07 +01:00
a4efef2382 cargo fmt 2024-01-10 21:24:00 +01:00
4 changed files with 66 additions and 18 deletions

View file

@ -1,11 +1,31 @@
name: Cargo Check and Test name: Cargo Format, Check and Test
on: [push, pull_request] on: [push, pull_request]
jobs: jobs:
test: format:
name: cargo test
permissions:
# Give the default GITHUB_TOKEN write permission to commit and push the
# added or changed files to the repository.
contents: write
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo fmt
- uses: stefanzweifel/git-auto-commit-action@v5
with:
# Optional. Commit message for the created commit.
# Defaults to "Apply automatic changes"
commit_message: Automatical formatting
check:
name: cargo test name: cargo test
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable - uses: dtolnay/rust-toolchain@stable
- run: cargo check --all-features --verbose - run: cargo check --all-features --verbose
test:
name: cargo test
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- run: cargo test --all-features --verbose - run: cargo test --all-features --verbose

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`
"); "
);
} }