class TranspositionTable {
- static constexpr int CacheLineSize = 64;
- static constexpr int ClusterSize = 3;
+ static constexpr int ClusterSize = 5;
struct Cluster {
TTEntry entry[ClusterSize];
- char padding[4]; // Align to a divisor of the cache line size
- char padding[2]; // Pad to 32 bytes
++ char padding[4]; // Pad to 64 bytes
};
- static_assert(CacheLineSize % sizeof(Cluster) == 0, "Cluster size incorrect");
- static_assert(sizeof(Cluster) == 32, "Unexpected Cluster size");
++ static_assert(sizeof(Cluster) == 64, "Unexpected Cluster size");
public:
~TranspositionTable() { free(mem); }