Revert setting a flag when TT value equals static evaluation

Strangely enough it seems that optimization doesn't work.

After 760 games at 1+0: +155 -184 =421 -13 ELO

Probably the overhead, although small, for setting the flag
is not compensated by the saved evaluation call.

This could be due to the fact that after a TT value is stored,
if and when we hit the position again the stored TT value is
actually used as a cut-off so that we don't need to go on
with another search and evaluation is avoided in any case.

No functional change.

Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
Marco Costalba
2009-03-31 14:57:44 +02:00
parent 2c0cd95ecf
commit 659c54582d
3 changed files with 8 additions and 23 deletions

View File

@@ -46,8 +46,7 @@
/// the 32 bits of the data field are so defined
///
/// bit 0-16: move
/// bit 17: stored value equals static value
/// bit 18-19: not used
/// bit 17-19: not used
/// bit 20-22: value type
/// bit 23-31: generation
@@ -62,8 +61,6 @@ public:
Value value() const { return Value(value_); }
ValueType type() const { return ValueType((data >> 20) & 7); }
int generation() const { return (data >> 23); }
bool staticValue() const { return ((data >> 17) & 1); }
void setStaticValue() { data |= (1 << 17); }
private:
Key key_;
@@ -83,7 +80,7 @@ public:
~TranspositionTable();
void set_size(unsigned mbSize);
void clear();
TTEntry* store(const Position &pos, Value v, Depth d, Move m, ValueType type);
void store(const Position &pos, Value v, Depth d, Move m, ValueType type);
TTEntry* retrieve(const Position &pos) const;
void new_search();
void insert_pv(const Position &pos, Move pv[]);