Releases: allenk/SudokuSolver
Release list
v1.0.2
v1.0.2 Release
FEATURES
- Add --solve-all option to find all solutions (default limit: 100)
- Add --max-solutions N to set solution limit (0 = unlimited)
- Add name and difficulty metadata support for JSON puzzles
- Display puzzle metadata (name, difficulty) when present
- Add throughput display for single-threaded benchmarks
BUG FIXES
- Fix invalid 16x16 built-in puzzle (was unsolvable)
- Fix unlimited solution search bug (maxSolutions=0)
- Remove redundant APP_VERSION macro (defined in CMakeLists.txt)
CI IMPROVEMENTS
- Skip CI builds for non-code changes (*.md, docs/, LICENSE)
- Add single-threaded benchmark test (-b 100 -t 25)
BENCHMARK RESULTS (Single-threaded, 25x25 puzzle)
- WSL2 9950X3D: 57.43 puzzles/sec
- Windows 9950X3D: 51.90 puzzles/sec
- Android SD8G3: 39.27 puzzles/sec
- macOS M1 (VM): 31.39 puzzles/sec
NEW CLI OPTIONS
--solve-all Find all solutions
--max-solutions N Limit solutions (0 = unlimited)
EXAMPLE USAGE
SudokuSolver -t 9 --solve-all
SudokuSolver -i puzzle.json --solve-all --max-solutions 10
SudokuSolver -i puzzle.json --solve-all -o solutions.json
v1.0.1
v1.0.1 - Cross-Platform Support & Enhanced System Detection
π Multi-Platform Build Support
- CMakePresets.json for Windows, Linux, macOS, Android
- Conditional Tesseract OCR compilation (HAS_TESSERACT)
- vcpkg integration with platform-specific triplets
- Static linking for portable binaries
π€ GitHub Actions CI/CD
- Automated builds for Windows, Linux, macOS
- Cross-platform testing with built-in puzzles (-t 9/16/25)
- Release artifact publishing
π± Enhanced System Detection
- Android: SoC detection (Snapdragon, Dimensity, Exynos, Tensor)
- Android: ARM CPU Part ID lookup (Cortex-X4, A720, A520)
- macOS: Apple Silicon detection with reference clock
- macOS: Version codename mapping (Sequoia, Sonoma, etc.)
- Linux: Full /proc/cpuinfo parsing
π§ Build Fixes
- CMake target ordering for cross-platform compatibility
- Added #include for GCC/Clang
- Fixed MSVC type conversion warnings
- Optimized OpenCV features to avoid fontconfig dependency
- Built-in test puzzles for CI benchmarks
π Benchmark Highlights
| Platform | CPU | DLX/s | Efficiency |
|---|---|---|---|
| Windows | Ryzen 9950X3D | 885.59/s | 55.25% |
| WSL2 | Ryzen 9950X3D | 903.59/s | 49.92% β |
| macOS CI | Apple M1 (VM) | 94.92/s | 98.75% β |
| Android | SD 8 Gen 3 | 105.31/s | 34.23% |
π¬ Key Findings
- WSL2 DLX outperforms native Windows by 2%
- GCC excels at DLX (pointer ops), MSVC at Backtracking (recursion)
- Apple Silicon achieves 98.75% efficiency (UMA advantage)
- Compiler optimization > OS virtualization overhead
Platform Support:
| Platform | Solver | Benchmark | OCR |
|---|---|---|---|
| Windows x64 | β | β | β |
| Linux x64 | β | β | β |
| macOS (Intel/ARM) | β | β | β |
| Android ARM64 | β | β | β |
v1.0.0 - Initial Release
π Initial Release
High-performance Sudoku Solver with multiple algorithms and OCR support.
β¨ Features
-
Algorithms
- Dancing Links (DLX) - optimal for large puzzles & multi-threading
- Backtracking with Constraint Propagation - fast for 9x9
-
OCR Support - Extract puzzles from images (requires
eng.traineddata) -
Benchmarking - Multi-threaded performance analysis with system info detection
-
Puzzle Support - 9x9 and 16x16 grids
π Benchmark Highlights
| Puzzle | Algorithm | Throughput (Ryzen 9 9950X3D) |
|---|---|---|
| 16x16 | DLX | 23,075 solves/sec |
| 9x9 | Backtracking | 204,557 solves/sec |
π₯ Downloads
| File | Description |
|---|---|
SudokuSolver-v1.0.0-win-x64.zip |
Windows x64 binary (Release build) |
π Requirements
- Windows 10/11 x64
- For OCR: Download
eng.traineddataβtessdata/
π Quick Start
# Solve puzzle
SudokuSolver.exe -i puzzle.json
# Benchmark
SudokuSolver.exe -i puzzle.json -b 1000 -w 0
# Show help
SudokuSolver.exe --help
# π Binary File
SudokuSolver-v1.0.0-win-x64.zipContents of ZIP file οΌ
SudokuSolver-v1.0.0-win-x64/
βββ SudokuSolver.exe
βββ tessdata/ (Empty folder; prompt user to place eng.traineddata)
βββ examples/