Since you’re here...

... we have a small favour to ask. More people, like you, are reading and supporting our blog: "Chess Engines Diary". And unlike many other sites and blogs, we made the choice to keep our articles open for all, regardless of where they live or what they can afford to pay.

We hope you will consider supporting us today. We need your support to continue to exist, because good entries are more and more work time. Every reader contribution, however big or small, is so valuable. Support "Chess Engines Diary" even a small amount– and it only takes a minute. Thank you.

============================== My email: jotes@go2.pl



Stockfish 15110311 - new development version very strong chess engine UCI

Stockfish - chess engines UCI

Previous version chess engine Stockfish 

Author compilation - 
Marco Costalba


Information on the compilation:
Get rid of timer thread 

Unfortunately std::condition_variable::wait_for() is not accurate in general case and the timer thread can wake up also after tens or even hundreds of millisecs after time has elapsded. CPU load, process priorities, number of concurrent threads, even from 
other processes, will have effect upon it. 

Even official documentation says: "This function may block for longer than timeout_duration due to scheduling or resource contention delays." 

So retire timer and use a polling scheme based on a local thread counter that counts search() calls and a small trick to keep polling frequency constant, independently from the number of threads. 

Tested for no regression at very fast TC 2+0.05 th 7: 
LLR: 2.96 (-2.94,2.94) [-3.00,1.00] 
Total: 32969 W: 6720 L: 6620 D: 19629 

TC 2+0.05 th 1: 
LLR: 2.95 (-2.94,2.94) [-3.00,1.00] 
Total: 7765 W: 1917 L: 1765 D: 4083 

And at STC TC, both single thread 
LLR: 2.96 (-2.94,2.94) [-3.00,1.00] 
Total: 15587 W: 3036 L: 2905 D: 9646 

And with 7 threads 
LLR: 2.95 (-2.94,2.94) [-3.00,1.00] 
Total: 8149 W: 1367 L: 1227 D: 5555 

bench: 8639247


JCER=3256

 Stockfish 15110311 - download



Comments