shakmaty
perftree
shakmaty | perftree | |
---|---|---|
2 | 1 | |
195 | 49 | |
- | - | |
7.5 | 0.0 | |
about 1 month ago | about 2 months ago | |
Rust | Rust | |
GNU General Public License v3.0 only | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
shakmaty
-
cozy-chess: A Chess and Chess960 move generation library
I think it provides similar performance as chess, though I don't really want to give any hard numbers as apparently the system I benchmark on is not the most reliable for that. Nevertheless, depth 6 kiwipete ("r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 1"): chess: Result: 8031647685 Time: 30s 547ms shakmaty: Result: 8031647685 Time: 49s 669ms cozy-chess: Result: 8031647685 Time: 26s 673ms Tested using a modified version of Jordan Bray's chess_perft.
-
Compile time
Out of curiosity, what causes the initial 100% utilization to drop. I'm new to complied languages, and yesterday I was playing around with this chess move generation library. On my ryzen 1600, I saw the same behaviour. Full utlisation for the first half, then dropped down to about 20-30% utltisation
perftree
-
The importance of Perft -- a debugging story
I eventually realised that the only solution was to compare my move generator to an actual working one, and after a bit of digging, I came across Adam Gaussman's [perftree](https://github.com/agausmann/perftree) debugger. It seemed just the ticket, though I'd have to add some new code to my project to tie into his script, and to handle its move name convention. In the end I just used what perftree does in the background -- standard Stockfish's command line interface. I still had to rewrite my Perft test to spit out the counts under each top level move, so I could compare it to Stockfish, but this wasn't too hard.
What are some alternatives?
cozy-chess - A Chess and Chess960 move generation library written in Rust
sandbox - ⏳ A Command-Line Sandbox Tester for Different Environments
chess - A rust library to manage chess move generation
chess-rs - A Chess Engine written in Rust that runs natively and on the web!
mold - Mold: A Modern Linker 🦠
Pleco - A Rust-based re-write of the Stockfish Chess Engine
bevy - A refreshingly simple data-driven game engine built in Rust
Walleye - A chess engine written from scratch in Rust ♞
rush - Pure Rust chess engine.
cargo-hack - Cargo subcommand to provide various options useful for testing and continuous integration.
cargo-bloat - Find out what takes most of the space in your executable.
cargo-minimal-versions - Cargo subcommand for proper use of -Z minimal-versions and -Z direct-minimal-versions.