Updated Windows release of the uSunfish UCI-compatible chess engine
As always, this release provides two Windows builds:
-
uSunfish-1.4-micropython.exe
- Small self-contained MicroPython executable, around 900 KB
- Engine code frozen into the executable
- Uses
@micropython.nativefor performance-critical functions - Around 3 MB memory usage
- Estimated strength: 1330-1430 CCRL Blitz Elo
- Default hash table: 256 slots (around 384KB)
-
uSunfish-1.4-pypy.exe
- Launcher using a bundled, abridged PyPy package and repackaged with Enigma Virtual Box for a single exe.
- Around 50 MB memory usage
- Estimated strength: 1580-1660 CCRL Blitz Elo
- Default hash table: 2048 slots (around 3MB)
Compared with the previous version, this release has a marginal increase in Elo, but it incorporates:
- Reverse futility pruning
- Reworked null-move pruning:
- conventional null-move pruning is used at depths 3–7;
- at depth 8 and above, null move becomes a fixed-target probe for a 1-ply reduction.
- Search timing has been redesigned to make better use of the available clock.
- Faster UCI position handling. uSunfish now caches the previous start-position move sequence.
- Proper ucinewgame support.
- The embedded opening book has been increased to include more variations.
- Search-state and transposition-table fixes
- Several small fixes
- Deterministic benchmarks bench1 and bench2:
- bench1 provides a fixed node-budget benchmark suitable for comparing engine/runtime performance.
- bench2 [depth] searches to a fully converged requested depth