JaffarPlus
High-performance best-first search optimizer for tool-assisted speedruns
Loading...
Searching...
No Matches
hashDb.hpp File Reference

Two-tier (per-domain L1 + shared global L2) hash database used to deduplicate visited search states, with a rolling set of hash stores bounded by count and measured memory size. More...

#include "numa.hpp"
#include <atomic>
#include <jaffarCommon/concurrent.hpp>
#include <jaffarCommon/hash.hpp>
#include <jaffarCommon/json.hpp>
#include <jaffarCommon/logger.hpp>
#include <jaffarCommon/parallel.hpp>

Go to the source code of this file.

Classes

class  jaffarPlus::HashDb
 Two-tier hash database that deduplicates visited states across the whole search. More...
 
struct  jaffarPlus::HashDb::hashStore_t
 One generation of a rolling store: a hash set of previously found states plus its identity, age and snapshotted statistics. More...
 
struct  jaffarPlus::HashDb::paddedCounter_t
 A query/collision counter padded to a full cache line to avoid false sharing. More...
 
struct  jaffarPlus::HashDb::NUMAStore_t
 A single (L1 or L2) hash store: a rolling window of hashStore_t generations together with its rolling state and per-thread statistics counters. More...
 

Detailed Description

Two-tier (per-domain L1 + shared global L2) hash database used to deduplicate visited search states, with a rolling set of hash stores bounded by count and measured memory size.

Definition in file hashDb.hpp.