Remove unnecessary generation check in TT save
authormstembera <MissingEmail@email>
Fri, 18 Sep 2015 00:13:45 +0000 (17:13 -0700)
committerJoona Kiiski <joona@zoox.com>
Fri, 18 Sep 2015 00:13:45 +0000 (17:13 -0700)
Checking for generation is unnecessary because if the key matches then the entry was probed and refreshed earlier.

STC 2MB
LLR: 2.96 (-2.94,2.94) [-3.00,1.00]
Total: 57391 W: 10671 L: 10613 D: 36107
http://tests.stockfishchess.org/tests/view/55ef59fa0ebc5976a2d6da5d

LTC 8MB
LLR: 2.95 (-2.94,2.94) [-3.00,1.00]
Total: 60732 W: 9260 L: 9199 D: 42273
http://tests.stockfishchess.org/tests/view/55ef8fe60ebc5976a2d6da6b

STC 16MB
LLR: 2.95 (-2.94,2.94) [-4.00,0.00]
Total: 23443 W: 4369 L: 4293 D: 14781
http://tests.stockfishchess.org/tests/view/55ef8fe60ebc5976a2d6da6b

No functional change

Resolves #427

src/tt.h

index f243a39d483335b61496418bf3f35d9ef03a34ff..dd667841419f26b0b0c82b3638049f86afba2565 100644 (file)
--- a/src/tt.h
+++ b/src/tt.h
@@ -50,7 +50,7 @@ struct TTEntry {
     // Don't overwrite more valuable entries
     if (  (k >> 48) != key16
         || d > depth8 - 2
-        || g != (genBound8 & 0xFC)
+     /* || g != (genBound8 & 0xFC) // Any matching keys are already refreshed by probe() */
         || b == BOUND_EXACT)
     {
         key16     = (uint16_t)(k >> 48);