sroelants / simbelmyne

A somewhat UCI compliant chess engine that could probably beat you.
GNU General Public License v3.0
17 stars 1 forks source link

Eval refactor #178

Closed sroelants closed 7 months ago

sroelants commented 7 months ago

Pull out some stuff into compile-time const generics, remove the number of times we're looping over all the pieces by sharing an EvalContext between the mobility and king safety calculations.

Seems like a 10% speedup. Not sure if that's measurable, but I'm sure as hell gonna check


2 hours later:

Score of Simbelmyne vs Simbelmyne main: 758 - 614 - 1128 [0.529]
...      Simbelmyne playing White: 389 - 313 - 548  [0.530] 1250
...      Simbelmyne playing Black: 369 - 301 - 580  [0.527] 1250
...      White vs Black: 690 - 682 - 1128  [0.502] 2500
Elo difference: 20.0 +/- 10.1, LOS: 100.0 %, DrawRatio: 45.1 %

🥳

sroelants commented 6 months ago

Just noticed that this is the commit that finally fixed the B/W asymmetry!

Not sure if I'll ever figure out what was going on there, but here we are!