Modify bench and performance improvements.

This commit is contained in:
hal8174 2024-01-05 01:10:43 +01:00
parent b5dcbccf02
commit 96a86779f4
2 changed files with 25 additions and 45 deletions

View file

@ -1,23 +1,10 @@
use criterion::{criterion_group, criterion_main, Criterion};
use factorio_blueprint::belt_finding::{brute_force::*, Direction, Position};
use factorio_blueprint::belt_finding::brute_force::problems::{simple, snake};
fn brute_force(c: &mut Criterion) {
c.bench_function("simple", |b| {
let mut p = BruteforceBuilder::new(6, 8);
p.add_path(
(Position::new(1, 0), Direction::Down),
(Position::new(0, 0), Direction::Up),
);
p.add_path(
(Position::new(4, 0), Direction::Down),
(Position::new(1, 7), Direction::Up),
);
p.set_blocked_range(0, 2, 5, 5, true);
let p = p.build();
let p = simple();
b.iter(|| {
let mut g = p.clone();
@ -28,24 +15,7 @@ fn brute_force(c: &mut Criterion) {
});
});
c.bench_function("weaving", |b| {
let mut p = BruteforceBuilder::new(14, 3);
p.add_path(
(Position::new(0, 0), Direction::Right),
(Position::new(13, 0), Direction::Right),
);
p.add_path(
(Position::new(0, 1), Direction::Right),
(Position::new(13, 1), Direction::Right),
);
p.add_path(
(Position::new(0, 2), Direction::Right),
(Position::new(13, 2), Direction::Right),
);
p.set_blocked_range(3, 2, 10, 2, true);
let p = p.build();
let p = snake();
b.iter(|| {
let mut g = p.clone();