mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-21 09:37:16 +08:00
Revert evaluation cache
And return on using TT as backing store for position evaluations. Tests (even on single thread) show eval cache was a regression. In multi thread result should be even worst because eval cache is a per-thread struct, while TT is shared. After 4957 games at 15"+0.05 (single thread) eval cache vs master 969 - 1093 - 2895 -9 ELO So previous reported result of +18 ELO was probably due to an issue in the testing framework (a bug in cutechess-cli) that has been fixed in the meanwhile. bench: 5386711
This commit is contained in:
10
src/tt.h
10
src/tt.h
@@ -44,7 +44,7 @@
|
||||
class TTEntry {
|
||||
|
||||
public:
|
||||
void save(uint32_t k, Value v, Bound b, Depth d, Move m, int g) {
|
||||
void save(uint32_t k, Value v, Bound b, Depth d, Move m, int g, Value statV, Value statM) {
|
||||
|
||||
key32 = (uint32_t)k;
|
||||
move16 = (uint16_t)m;
|
||||
@@ -52,6 +52,8 @@ public:
|
||||
generation8 = (uint8_t)g;
|
||||
value16 = (int16_t)v;
|
||||
depth16 = (int16_t)d;
|
||||
staticValue = (int16_t)statV;
|
||||
staticMargin = (int16_t)statM;
|
||||
}
|
||||
void set_generation(int g) { generation8 = (uint8_t)g; }
|
||||
|
||||
@@ -61,12 +63,14 @@ public:
|
||||
Value value() const { return (Value)value16; }
|
||||
Bound type() const { return (Bound)bound; }
|
||||
int generation() const { return (int)generation8; }
|
||||
Value static_value() const { return (Value)staticValue; }
|
||||
Value static_value_margin() const { return (Value)staticMargin; }
|
||||
|
||||
private:
|
||||
uint32_t key32;
|
||||
uint16_t move16;
|
||||
uint8_t bound, generation8;
|
||||
int16_t value16, depth16;
|
||||
int16_t value16, depth16, staticValue, staticMargin;
|
||||
};
|
||||
|
||||
|
||||
@@ -96,7 +100,7 @@ public:
|
||||
~TranspositionTable();
|
||||
void set_size(size_t mbSize);
|
||||
void clear();
|
||||
void store(const Key posKey, Value v, Bound type, Depth d, Move m);
|
||||
void store(const Key posKey, Value v, Bound type, Depth d, Move m, Value statV, Value kingD);
|
||||
TTEntry* probe(const Key posKey) const;
|
||||
void new_search();
|
||||
TTEntry* first_entry(const Key posKey) const;
|
||||
|
||||
Reference in New Issue
Block a user