Ok got it. Btw YBW is still clearly better than SHT so far.Michel wrote: ↑Fri Jan 03, 2020 10:53 pmWhen I said "overhead" I meant "administrative overhead" (like in YBW). Lazy trades this overhead (deregulation ) for the overhead resulting from double work.Daniel wrote: No that is not true. Threads work at two depths: d and d+1 simultaneously. While this separation may result in reduced overhead, each group of threads working on the same depth sure going to result in a ton of overhead!
In SHT there is only the hash table to make the threads desynchronize a little. It seemed to work well in Toga II up to 4 threads (where according to CCRL its scaling was more or less on par with the YBW engines of the time). But it seems unreasonable to extend it beyond that. Your tests seem to confirm this.
Code: Select all
Score of scorpio-ybw vs scorpio-sht: 44 - 18 - 70 [0.598] 132
YBW at longer time controls if somebody is willing to do the test.
That combined with the previous result,
Code: Select all
Score of scorpio-ybw vs scorpio-abdada: 32 - 67 - 101 [0.412] 200
If Lazy helps in some way, I guess LazyABDADA will work even better.
I glanced at Stockfish code to see what Breadcrumbs does, and indeed it looks like ABDADA in disguise with a different name.
The "leaving breadcrumbs" part is what ABDADA does to store a busy flag in HT.