Refactor into different crates
This commit is contained in:
parent
94473c64e0
commit
dfdeae5638
82 changed files with 624 additions and 647 deletions
33
factorio-pathfinding/benches/bruteforce.rs
Normal file
33
factorio-pathfinding/benches/bruteforce.rs
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
use criterion::{criterion_group, criterion_main, Criterion};
|
||||
|
||||
use factorio_pathfinding::belt_finding::brute_force::problems::{mid, simple, snake};
|
||||
|
||||
macro_rules! bench_bruteforce {
|
||||
($b:ident; $i:ident) => {
|
||||
|
||||
$b.bench_function(stringify!($i), |b| {
|
||||
let p = $i();
|
||||
|
||||
b.iter(|| {
|
||||
let mut b = p.clone();
|
||||
|
||||
while b.next_finish_state(None) {}
|
||||
|
||||
b.solution_count()
|
||||
});
|
||||
})
|
||||
};
|
||||
($b:ident; $i:ident $($is:ident )+) => {
|
||||
|
||||
bench_bruteforce!($b; $i);
|
||||
bench_bruteforce!($b; $($is)+);
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
fn brute_force(c: &mut Criterion) {
|
||||
bench_bruteforce!(c; simple mid snake);
|
||||
}
|
||||
|
||||
criterion_group!(benches, brute_force);
|
||||
criterion_main!(benches);
|
||||
Loading…
Add table
Add a link
Reference in a new issue