diff --git a/src/engine/endgame/test.rs b/src/engine/endgame/test.rs index edbedde..0337d69 100644 --- a/src/engine/endgame/test.rs +++ b/src/engine/endgame/test.rs @@ -1,6 +1,7 @@ extern crate test; use super::*; use crate::setup::*; +use rayon::prelude::*; use std::fs::File; use std::io::{BufRead, BufReader}; use test::Bencher; @@ -59,3 +60,21 @@ fn bench_solve_inner(b: &mut Bencher) { } }); } + +#[bench] +fn bench_solve_inner_parallel(b: &mut Bencher) { + let solve_obj = setup_default(); + let dataset = load_stress_test_set(); + + b.iter(|| { + dataset.par_iter().for_each(|&(board, _desired)| { + let mut obj = solve_obj.clone(); + let (_res, _stat) = solve_inner( + &mut obj, + board, + (-(BOARD_SIZE as i8), BOARD_SIZE as i8), + false, + ); + }); + }); +}