lynx-chess / Lynx

Chess Engine, written in C#
https://lichess.org/@/Lynx_BOT
MIT License
39 stars 3 forks source link

🧠 Cache `Move.UCIString` in a `ConcurrentDictionary`, attempting to reduce string allocations #997

Closed eduherminio closed 1 week ago

eduherminio commented 1 week ago

Looking close to neutral

Test  | perf/ucistring-cache-concurrent-dictionary
Elo   | -0.88 +- 2.48 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=32MB
LLR   | -2.26 (-2.25, 2.89) [0.00, 3.00]
Games | 31894: +8908 -8989 =13997
Penta | [786, 3690, 7044, 3673, 754]
https://openbench.lynx-chess.com/test/707/