lynx-chess / Lynx

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

⚡ Flatten all Engine arrays and pin them while allocating them #942

Closed eduherminio closed 3 weeks ago

eduherminio commented 3 weeks ago

See also #943, with an extra commit

Test  | flatten-and-gc-allocate-everything
Elo   | -2.95 +- 3.24 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=32MB
LLR   | -2.32 (-2.25, 2.89) [-3.00, 1.00]
Games | 21780: +6211 -6396 =9173
Penta | [701, 2679, 4281, 2562, 667]
https://openbench.lynx-chess.com/test/649/

With fixed (int* ptr = &_killerMoves[0]) change:

Test  | flatten-and-gc-allocate-everything
Elo   | -5.34 +- 4.75 (95%)
SPRT  | 8.0+0.08s Threads=1 Hash=32MB
LLR   | -2.26 (-2.25, 2.89) [0.00, 3.00]
Games | 9896: +2779 -2931 =4186
Penta | [334, 1180, 2015, 1142, 277]
https://openbench.lynx-chess.com/test/656/