Reduce lock contention in sp_search_pv()

In less then 1% of cases value > sp->bestValue, so avoid
an useless lock in the common case. This is the same change
already applied to sp_search().

Also SplitPoint futilityValue is not volatile because
never changes after has been assigned in split()

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba
2010-01-26 12:05:38 +01:00
parent 5ca4284027
commit cf9bf4e58f
2 changed files with 30 additions and 26 deletions

View File

@@ -51,7 +51,8 @@ struct SplitPoint {
SearchStack *parentSstack;
int ply;
Depth depth;
volatile Value alpha, beta, bestValue, futilityValue;
volatile Value alpha, beta, bestValue;
Value futilityValue;
bool pvNode;
int master, slaves[THREAD_MAX];
Lock lock;