Skip to content

docs: add performance benchmark summary - #5

Merged
cjunius merged 3 commits into
mainfrom
docs/design-doc
Aug 30, 2026
Merged

cjunius merged 3 commits into
mainfrom
docs/design-doc

Conversation

@cjunius

@cjunius cjunius commented Aug 30, 2026

Copy link
Copy Markdown
Owner

Adds docs/performance.md, a benchmark summary in the style of the pyChess doc, adapted to goChess's current single-process search.

Contents

  • What go runs today — single-process iterative deepening from the start position (depth 7 ≈ 3s, depth 8 ≈ 30s on this machine). No Lazy SMP.
  • perft throughput — move generation is delegated to dragontoothmg; ~160–170M nps at the deeper counts, all matching published perft results.
  • Single fixed-depth baseline — one search to exactly depth N, with a pruned estimate against full-tree perft(depth) counts. Alpha-beta + MVV-LVA reach "1 node in ~620" by depth 8; the doc is honest about the estimate's limits (depth 2 goes negative because unbounded quiescence with no TT expands more nodes than the full tree).

Method

Measured on Apple M4, 10 cores, Go 1.27, darwin/arm64. Perft numbers from gochess perft 7; search numbers from fixed-depth searchRoot calls from the start position (deterministic — node counts are exact, only wall-clock varies). No source changes.

🤖 Generated with Claude Code

cjunius and others added 3 commits August 30, 2026 17:07
Add docs/engine-strength.md: a reasoned (unmeasured) playing-strength
estimate derived from the current feature set and benchmarked search
speed, with calibration against known engines, time-control sensitivity,
per-roadmap Elo deltas, and the SPRT process for replacing the estimate
with real data.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Depth/time/node tables for the current single-process search, perft
throughput, and a fixed-depth baseline with an alpha-beta pruning
estimate against full-tree perft counts. Measured on Apple M4 / Go 1.27.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Engine architecture, implemented search/eval techniques, and the backlog
of unimplemented ideas, mirroring the pyChess design doc structure.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@cjunius
cjunius merged commit a413ea7 into main Aug 30, 2026
15 checks passed
@codecov-commenter

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants