2026-rff_mp/pomelovsd/ExitMaze/Core/Benchmark.py
2026-05-23 13:37:43 +03:00

20 lines
567 B
Python

from MazeSolver.Solver import MazeSolver
import csv
def RunBenchmark(maze, strategies, repeats = 5):
rows = []
for name, strategy in strategies.items():
solver = MazeSolver(maze, strategy)
for _ in range(repeats):
stats, _ = solver.solve()
rows.append([name, stats.time_ms, stats.visited_cells, stats.path_length])
with open("results.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(["strategy", "time_ms", "visited", "path_length"])
writer.writerows(rows)