And this is an answer I guess. Savings should be simple function of complexity of evaluation and frequency of lazy eval. Perhaps you need to find why your conditions for taking lazy eval don't work.lkaufman wrote:Yes, we took some statistics, and they indicated that it didn't kick in very often unless the margin was very small. I'm just not sure why it didn't kick in more often.tvrzsky wrote:Did you make some statistics how often is your eval really lazy and did you measure how many CPU cycles you can save with it? This should give you answer after all?lkaufman wrote:OK, you have almost convinced me that lazy eval just won't work in a program with big eval scores for king safety and pawn structure. However, it seems to me that we should still get the usual gain in nodes per second, even if the increased size and inaccuracy of the tree makes it a bad deal. But we only get at most 2-3% more nodes per second, while at least Critter gets 10% or so. Why should our nodes per second gain depend much on the eval details?
Or maybe you don't have too many imbalanced positions in your search tree? I. E. your search is already smart enough to avoid positions where lazy eval could be taken?