Skip to content

Snapshot testing and benchmarking for UCI chess engines

Notifications You must be signed in to change notification settings

sroelants/chess-bench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chess-bench

A tool for easy benchmarking and snapshot testing a UCI chess engine.

Use chess-bench to:

  1. Benchmark your engine
  2. Diff a benchmark against a stored snapshot (useful for comparing branches or different engines)
  3. Add CI tests that fail when non-functional changes don't match stored snapshots

Usage

run chess-bench --help for a list of options

Examples

Running a benchmark

Run chess-bench with the --all/-a flag to output all the available metrics in a table. Pass the path to the engine you'd like to benchmark as the last argument.

$ chess-bench -a simbelmyne

chess-bench benchmark

Diffing against a snapshot

$ chess-bench -aS simbelmyne

$ chess-bench -a stockfish

When running chess-bench, pass the --save/-S flag to save the results to bench_snapshot.json. The output file can be changed by passing the --output/-o flag.

When running chess-bench in a directory that has a bench_snapshot.json file present (or when passed a snapshot explicitly using --snapshot/-s), the engine outputs a snapshot diff instead.

chess-bench benchmark

About

Snapshot testing and benchmarking for UCI chess engines

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages