| Crates.io | go_game_board |
| lib.rs | go_game_board |
| version | 0.1.1 |
| created_at | 2025-08-31 15:22:23.619813+00 |
| updated_at | 2025-11-03 03:12:26.282695+00 |
| description | Go/Baduk/Weiqi rules implementation with libEGo-based algorithms |
| homepage | |
| repository | https://github.com/lukaszlew/go_game_board |
| max_upload_size | |
| id | 1818637 |
| size | 78,198 |
High-performance Go/Baduk/Weiqi board representation and Monte Carlo playouts in Rust.
Based on the libEGo library's proven algorithms and data structures.
use go_game_board::{Board, Player, Vertex};
let mut board = Board::new();
board.clear();
// Play a move
let vertex = Vertex::from_coords(3, 3);
board.play_legal(Player::Black, vertex);
// Run benchmark
use go_game_board::Benchmark;
let mut bench = Benchmark::new();
println!("{}", bench.run(10000, None));
This library is optimized for high-performance Monte Carlo tree search (MCTS) applications. On 2GHz CPU it achieves ~3M moves per second (compared to libEGo's 3.6M moves per second - the fastest implementation in the world)
Run benchmarks with:
cargo test --release --test benchmark_test
go_game_types - Shared type definitions for Go game librariesarrayvec - Stack-allocated vectors for performancelazy_static - Lazy static initializationperf-event - Performance counter support (Linux)Apache-2.0