Temporary revert previous patch
authorMarco Costalba <mcostalba@gmail.com>
Mon, 5 Nov 2012 06:28:42 +0000 (07:28 +0100)
committerMarco Costalba <mcostalba@gmail.com>
Mon, 5 Nov 2012 06:41:28 +0000 (07:41 +0100)
Performs well at very short TC of 40/4+0.05 (courtesy of Jean-Francois):
Wins: 2503 Losses: 2146 Draws: 5581 Total: 10230 +12 ELO

But is poor at longer TC of 20"+0.05
Wins: 321 Losses: 373 Draws: 1141 Total: 1808 -10 ELO

The patch was clearly a tradoff between speed and accuracy and
the most interesting part of it are test results that can be
commented as follows:

- A short TC is very sensible to any speed increase
- A longer TC is more sensible to accuracy and less to speed

So a patch that does not change speed is suitable to be tested at
short TC, while a speed/accuracy compromise patch is IMO better to
be tested at longer TC to verify loss of accuracy can be tolerated.

In this case the revert is only temporary. We will come back again
once we will be able to preserve the evaluation margin.

bench: 5809010

src/search.cpp

index 075aa9b4422d01d490e2a1a25196e8befe7d6002..253311ae11c9ff122a4f40db5ab4e3bc07ef81e5 100644 (file)
@@ -1154,11 +1154,6 @@ split_point_start: // At split points actual search starts from here
             if (ss->staticEval == VALUE_NONE || ss->evalMargin == VALUE_NONE) // Due to a race
                 ss->staticEval = bestValue = evaluate(pos, ss->evalMargin);
         }
-        else if ((ss-1)->currentMove == MOVE_NULL)
-        {
-            ss->staticEval = bestValue = -(ss-1)->staticEval;
-            ss->evalMargin = VALUE_ZERO; // Hack, we really don't know the value
-        }
         else
             ss->staticEval = bestValue = evaluate(pos, ss->evalMargin);