From c7b068ef31499d6e8aed4784129b02250a2bc6fa Mon Sep 17 00:00:00 2001 From: PlexSheep Date: Wed, 7 Aug 2024 22:10:17 +0200 Subject: [PATCH] feat(bench): move benching to actual benches, primitively --- Cargo.toml | 8 ++++++++ benches/solver_naive.rs | 18 ++++++++++++++++++ benches/solver_stupid.rs | 19 +++++++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 benches/solver_naive.rs create mode 100644 benches/solver_stupid.rs diff --git a/Cargo.toml b/Cargo.toml index fd6f28a..4b374b5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -64,3 +64,11 @@ test-log = { version = "0.2.16", default-features = false, features = [ "color", "trace", ] } + +[[bench]] +name = "solver_naive" +harness = false + +[[bench]] +name = "solver_stupid" +harness = false diff --git a/benches/solver_naive.rs b/benches/solver_naive.rs new file mode 100644 index 0000000..f850b62 --- /dev/null +++ b/benches/solver_naive.rs @@ -0,0 +1,18 @@ +use wordle_analyzer::bench::builtin::BuiltinBenchmark; +use wordle_analyzer::bench::Benchmark; +use wordle_analyzer::game::{self, GameBuilder}; +use wordle_analyzer::solve::{NaiveSolver, Solver}; +use wordle_analyzer::wlist::builtin::BuiltinWList; + +fn main() -> anyhow::Result<()> { + let wl = BuiltinWList::english(5); + let builder: GameBuilder<'_, BuiltinWList> = game::Game::builder(&wl) + .length(5) + .max_steps(6) + .precompute(true); + let solver: NaiveSolver<_> = NaiveSolver::build(&wl)?; + let bench = BuiltinBenchmark::build(&wl, solver, builder, 16)?; + bench.start(2000, &bench.builder())?; + println!("{}", bench.report()); + Ok(()) +} diff --git a/benches/solver_stupid.rs b/benches/solver_stupid.rs new file mode 100644 index 0000000..1fadbd8 --- /dev/null +++ b/benches/solver_stupid.rs @@ -0,0 +1,19 @@ +use wordle_analyzer::bench::builtin::BuiltinBenchmark; +use wordle_analyzer::bench::Benchmark; +use wordle_analyzer::game::{self, GameBuilder}; +use wordle_analyzer::solve::Solver; +use wordle_analyzer::solve::StupidSolver; +use wordle_analyzer::wlist::builtin::BuiltinWList; + +fn main() -> anyhow::Result<()> { + let wl = BuiltinWList::english(5); + let builder: GameBuilder<'_, BuiltinWList> = game::Game::builder(&wl) + .length(5) + .max_steps(6) + .precompute(true); + let solver: StupidSolver<_> = StupidSolver::build(&wl)?; + let bench = BuiltinBenchmark::build(&wl, solver, builder, 16)?; + bench.start(2000, &bench.builder())?; + println!("{}", bench.report()); + Ok(()) +}