![]() |
JaffarPlus
High-performance best-first search optimizer for tool-assisted speedruns
|
Parallel state-space search engine. More...
#include <engine.hpp>
Classes | |
| struct | manualSaveSolution_t |
| A manually saved solution: its input path, reward, serialized state, and triggering rule index. More... | |
| struct | stateInfo_t |
| A reward value paired with a serialized state buffer. More... | |
| struct | threadAccumulator_t |
| Per-thread accumulator for timing and counters. More... | |
Public Member Functions | |
| Engine (const nlohmann::json &emulatorConfig, const nlohmann::json &gameConfig, const nlohmann::json &runnerConfig, const nlohmann::json &engineConfig) | |
| Constructs the engine, building one runner per worker thread and the state/hash databases. | |
| void | initialize () |
| Resets execution back to step zero and clears all databases and counters. | |
| void | runStep () |
| Runs a single search step: expands all current base states in parallel and advances the databases. | |
| ~Engine () | |
| Frees the best-win and manual-save state buffers allocated in initialize. | |
| auto & | getStateDb () const |
| Returns a reference to the owned state database. | |
| auto | getStepBestWinState () const |
| Returns a copy of the best win state recorded in the current step. | |
| auto | getManualSaveSolution () const |
| Returns a copy of the most recent manually saved solution. | |
| auto | getWinStatesFound () const |
| Returns the cumulative number of win states found so far. | |
| auto | getStateCount () const |
| Returns the number of states currently held in the state database. | |
| size_t | getInputHistoryMaxMemoryBytes () const |
| Hard memory ceiling (bytes) of the shared input-history backing; 0 for None/Raw (no ceiling). | |
| size_t | getInputHistoryApproxMemoryBytes () const |
| Current (approximate) live memory (bytes) of the shared input-history backing; 0 for None/Raw. | |
| bool | isInputHistoryExhausted () const |
| True if the shared input-history backing (the Trie) has hit its hard node-storage ceiling. | |
| void | printInfo () |
| Logs engine status: timing breakdown, throughput, state counts, checkpoints, databases, and detected candidate inputs. | |
| size_t | getStateSizeInDatabase () const |
| Returns the size, in bytes, of a single state as stored in the database. | |
| size_t | getFullStateSize () const |
| Full self-contained state size ([hot]+[history]); for standalone snapshots outside the slabs. | |
Private Types | |
| enum | inputResult_t { repeated , droppedNoStorage , droppedFailedSerialization , droppedCheckpoint , failed , normal , win } |
| Outcome of running a single input on a base state. More... | |
Private Member Functions | |
| void | workerFunction () |
| Worker body executed in parallel by every thread during a step. | |
| inputResult_t | runNewInput (Runner &r, const void *baseStateData, const InputSet::inputIndex_t input, threadAccumulator_t &acc, const size_t threadId) |
| Re-loads the base state, runs a single input, updates per-outcome counters and checkpoint tracking. | |
| inputResult_t | runInput (Runner &r, const InputSet::inputIndex_t input, threadAccumulator_t &acc, const size_t threadId) |
| Advances the runner by one input and classifies/stores the resulting state. | |
Private Attributes | |
| jaffarCommon::concurrent::HashMap_t< jaffarCommon::hash::hash_t, jaffarCommon::concurrent::HashSet_t< InputSet::inputIndex_t > > | _candidateInputsDetected |
| Per-base-state-input-hash set of candidate inputs already detected, used to dedup candidate-input probing. | |
| size_t | _currentStep = 0 |
| Counter for the current step. | |
| std::vector< std::unique_ptr< Runner > > | _runners |
| Collection of runners for the workers to use (one per thread). | |
| std::unique_ptr< jaffarPlus::StateDb > | _stateDb |
| Thread-safe state database holding the current and next step's states. | |
| std::shared_ptr< void > | _inputHistoryBacking |
| The one shared input-history backing (e.g. | |
| bool | _hashDbEnabled |
| Whether hashing is enabled. Games that cannot loop skip the hash DB to save memory and computation. | |
| size_t | _baseStateBatch |
| Active base-state pull batch size ("Base State Batch Size"). | |
| std::unique_ptr< jaffarPlus::HashDb > | _hashDb |
| Thread-safe hash database used to detect repeated states. | |
| size_t | _stateSizeInDatabase |
| Size of a single state as stored in the database, in bytes. | |
| size_t | _fullStateSize |
| Full self-contained serialized state size ([hot]+[history]) for standalone snapshot buffers. | |
| std::mutex | _stepBestWinStateLock |
| Guards updates to _stepBestWinState. | |
| stateInfo_t | _stepBestWinState |
| Best win state (by reward) found during the current step. | |
| std::mutex | _manualSaveSolutionLock |
| Guards updates to _manualSaveSolution. | |
| manualSaveSolution_t | _manualSaveSolution |
| Best manually saved solution for the current step. | |
| bool | _manualSaveSolutionUpdatedLastRuleId |
| Whether the manual-save last-rule id changed this step. | |
| ssize_t | _manualSaveSolutionActiveLastRuleId |
| Currently active manual-save last-rule id across steps. | |
| std::string | _manualSaveSolutionLastPath = "" |
| Path of the most recently activated manual-save solution. | |
| size_t | _checkpointLevel |
| Highest checkpoint level reached so far. | |
| size_t | _checkpointTolerance |
| Tolerance (in steps) associated with the current checkpoint level. | |
| size_t | _checkpointCutoff |
| Step index after which states below _checkpointLevel are dropped. | |
| std::atomic< size_t > | _droppedStatesNoStorage |
| Counter for states dropped due to lack of free states. | |
| std::atomic< size_t > | _droppedStatesFailedSerialization |
| Counter for states dropped due to failed serialization. | |
| std::atomic< size_t > | _droppedStatesCheckpoint |
| Counter for states dropped due to not meeting the checkpoint. | |
| std::atomic< size_t > | _repeatedStates |
| Counter for repeated states (detected via hash collision). | |
| std::atomic< size_t > | _failedStates |
| Counter for failed states (reached a point in the game considered a loss). | |
| std::atomic< size_t > | _winStates |
| Counter for win states. | |
| std::atomic< size_t > | _normalStates |
| Counter for normal states. | |
| std::atomic< size_t > | _stepBaseStatesProcessed |
| Base states processed during the current step. | |
| std::atomic< size_t > | _totalBaseStatesProcessed |
| Base states processed across all steps so far. | |
| std::atomic< size_t > | _stepNewStatesProcessed |
| New states processed during the current step. | |
| std::atomic< size_t > | _totalNewStatesProcessed |
| New states processed across all steps so far. | |
| size_t | _currentStepTime |
| Overall running time of the current step, in microseconds. | |
| std::vector< size_t > | _threadStepTime |
| Per-thread running time of the current step, in microseconds. | |
| size_t | _maxThreadStepTime |
| Maximum per-thread step time for the current step. | |
| size_t | _maxThreadStepTimeThreadId |
| Id of the thread with the maximum step time. | |
| std::vector< threadAccumulator_t > | _threadAccumulators |
| Per-thread accumulators for hot-loop timing/counters, reduced once per step. | |
| size_t | _totalRunningTime |
| Total running time so far, in microseconds. | |
| std::atomic< size_t > | _runnerStateAdvanceThreadRawTime |
| Summed per-thread runner-advance time for the step. | |
| std::atomic< size_t > | _runnerStateAdvanceAverageTime |
| Per-thread-average runner-advance time for the step. | |
| std::atomic< size_t > | _runnerStateAdvanceAverageCumulativeTime |
| Cumulative per-thread-average runner-advance time. | |
| std::atomic< size_t > | _runnerStateLoadThreadRawTime |
| Summed per-thread state-load time for the step. | |
| std::atomic< size_t > | _runnerStateLoadAverageTime |
| Per-thread-average state-load time for the step. | |
| std::atomic< size_t > | _runnerStateLoadAverageCumulativeTime |
| Cumulative per-thread-average state-load time. | |
| std::atomic< size_t > | _runnerStateSaveThreadRawTime |
| Summed per-thread state-save time for the step. | |
| std::atomic< size_t > | _runnerStateSaveAverageTime |
| Per-thread-average state-save time for the step. | |
| std::atomic< size_t > | _runnerStateSaveAverageCumulativeTime |
| Cumulative per-thread-average state-save time. | |
| std::atomic< size_t > | _calculateHashThreadRawTime |
| Summed per-thread hash-calculation time for the step. | |
| std::atomic< size_t > | _calculateHashAverageTime |
| Per-thread-average hash-calculation time for the step. | |
| std::atomic< size_t > | _calculateHashAverageCumulativeTime |
| Cumulative per-thread-average hash-calculation time. | |
| std::atomic< size_t > | _checkHashThreadRawTime |
| Summed per-thread hash-checking time for the step. | |
| std::atomic< size_t > | _checkHashAverageTime |
| Per-thread-average hash-checking time for the step. | |
| std::atomic< size_t > | _checkHashAverageCumulativeTime |
| Cumulative per-thread-average hash-checking time. | |
| std::atomic< size_t > | _ruleCheckingThreadRawTime |
| Summed per-thread rule-checking time for the step. | |
| std::atomic< size_t > | _ruleCheckingAverageTime |
| Per-thread-average rule-checking time for the step. | |
| std::atomic< size_t > | _ruleCheckingAverageCumulativeTime |
| Cumulative per-thread-average rule-checking time. | |
| std::atomic< size_t > | _getFreeStateThreadRawTime |
| Summed per-thread get-free-state time for the step. | |
| std::atomic< size_t > | _getFreeStateAverageTime |
| Per-thread-average get-free-state time for the step. | |
| std::atomic< size_t > | _getFreeStateAverageCumulativeTime |
| Cumulative per-thread-average get-free-state time. | |
| std::atomic< size_t > | _returnFreeStateThreadRawTime |
| Summed per-thread return-free-state time for the step. | |
| std::atomic< size_t > | _returnFreeStateAverageTime |
| Per-thread-average return-free-state time for the step. | |
| std::atomic< size_t > | _returnFreeStateAverageCumulativeTime |
| Cumulative per-thread-average return-free-state time. | |
| std::atomic< size_t > | _calculateRewardThreadRawTime |
| Summed per-thread reward-calculation time for the step. | |
| std::atomic< size_t > | _calculateRewardAverageTime |
| Per-thread-average reward-calculation time for the step. | |
| std::atomic< size_t > | _calculateRewardAverageCumulativeTime |
| Cumulative per-thread-average reward-calculation time. | |
| std::atomic< size_t > | _getAllowedInputsThreadRawTime |
| Summed per-thread get-allowed-inputs time for the step. | |
| std::atomic< size_t > | _getAllowedInputsAverageTime |
| Per-thread-average get-allowed-inputs time for the step. | |
| std::atomic< size_t > | _getAllowedInputsAverageCumulativeTime |
| Cumulative per-thread-average get-allowed-inputs time. | |
| std::atomic< size_t > | _getCandidateInputsThreadRawTime |
| Summed per-thread get-candidate-inputs time for the step. | |
| std::atomic< size_t > | _getCandidateInputsAverageTime |
| Per-thread-average get-candidate-inputs time for the step. | |
| std::atomic< size_t > | _getCandidateInputsAverageCumulativeTime |
| Cumulative per-thread-average get-candidate-inputs time. | |
| std::atomic< size_t > | _advanceHashDbThreadRawTime |
| Serially-measured hash-DB advance time for the step. | |
| std::atomic< size_t > | _advanceHashDbAverageTime |
| Hash-DB advance time reported for the step. | |
| std::atomic< size_t > | _advanceHashDbAverageCumulativeTime |
| Cumulative hash-DB advance time. | |
| std::atomic< size_t > | _advanceStateDbThreadRawTime |
| Serially-measured state-DB advance time for the step. | |
| std::atomic< size_t > | _advanceStateDbAverageTime |
| State-DB advance time reported for the step. | |
| std::atomic< size_t > | _advanceStateDbAverageCumulativeTime |
| Cumulative state-DB advance time. | |
| std::atomic< size_t > | _popBaseStateDbThreadRawTime |
| Summed per-thread base-state pop time for the step. | |
| std::atomic< size_t > | _popBaseStateDbAverageTime |
| Per-thread-average base-state pop time for the step. | |
| std::atomic< size_t > | _popBaseStateDbAverageCumulativeTime |
| Cumulative per-thread-average base-state pop time. | |
| size_t | _subTotalAverageTime |
| Sum of all per-operation average times for the current step. | |
| size_t | _subTotalAverageCumulativeTime |
| Sum of all per-operation cumulative average times. | |
Static Private Attributes | |
| static constexpr size_t | BASE_STATE_BATCH_MAX = 16 |
| Number of base states a worker pulls from the state-DB queue per lock acquisition (batch size). | |
Parallel state-space search engine.
Owns one Runner per worker thread, a StateDb holding the current and next step's states, and an optional HashDb for detecting repeated states. Each call to runStep expands every base state in the current database by trying its allowed and candidate inputs, evaluating game rules on the resulting states, and pushing the surviving normal states into the next database while recording win states, checkpoints, drop counts, and per-operation timing.
Definition at line 56 of file engine.hpp.
|
private |
Outcome of running a single input on a base state.
Definition at line 701 of file engine.hpp.
|
inline |
Constructs the engine, building one runner per worker thread and the state/hash databases.
| emulatorConfig | Configuration object passed to each runner's emulator. |
| gameConfig | Configuration object passed to each runner's game. |
| runnerConfig | Configuration object passed to each runner. |
| engineConfig | Engine configuration containing the "State Database" and "Hash Database" objects. |
| A | logic error if the configured worker thread count is zero. |
Definition at line 67 of file engine.hpp.
|
inline |
Frees the best-win and manual-save state buffers allocated in initialize.
Definition at line 518 of file engine.hpp.
|
inline |
Full self-contained state size ([hot]+[history]); for standalone snapshots outside the slabs.
Definition at line 677 of file engine.hpp.
|
inline |
Current (approximate) live memory (bytes) of the shared input-history backing; 0 for None/Raw.
Definition at line 541 of file engine.hpp.
|
inline |
Hard memory ceiling (bytes) of the shared input-history backing; 0 for None/Raw (no ceiling).
Definition at line 539 of file engine.hpp.
|
inline |
Returns a copy of the most recent manually saved solution.
Definition at line 532 of file engine.hpp.
|
inline |
Returns the number of states currently held in the state database.
Definition at line 536 of file engine.hpp.
|
inline |
Returns a reference to the owned state database.
Definition at line 528 of file engine.hpp.
|
inline |
Returns the size, in bytes, of a single state as stored in the database.
Definition at line 674 of file engine.hpp.
|
inline |
Returns a copy of the best win state recorded in the current step.
Definition at line 530 of file engine.hpp.
|
inline |
Returns the cumulative number of win states found so far.
Definition at line 534 of file engine.hpp.
|
inline |
Resets execution back to step zero and clears all databases and counters.
Re-initializes all runners, the state database, and (when enabled) the hash database; evaluates rules, determines the state type, and computes the reward for the initial state; pushes that initial state into the database; allocates the best-win and manual-save state buffers; and inserts the initial state's hash into the hash database.
Definition at line 136 of file engine.hpp.
|
inline |
True if the shared input-history backing (the Trie) has hit its hard node-storage ceiling.
Definition at line 543 of file engine.hpp.
|
inline |
Logs engine status: timing breakdown, throughput, state counts, checkpoints, databases, and detected candidate inputs.
Definition at line 548 of file engine.hpp.
|
inlineprivate |
Advances the runner by one input and classifies/stores the resulting state.
Advances the runner with input, computes and (when enabled) checks the resulting hash for repeats, evaluates rules, applies the checkpoint cutoff, and determines the state type. Win states update _stepBestWinState when their reward is higher; normal states are pushed into the state database; failed/repeated/dropped states return the corresponding result. Also updates the manual-save solution when the game requests it and the reward improves.
| r | The runner holding the base state, advanced by this call. |
| input | Index of the input to apply. |
| acc | This thread's accumulator, updated with timing measurements. |
| threadId | Calling thread's id, used for state-database free/allocation operations. |
Definition at line 936 of file engine.hpp.
|
inlineprivate |
Re-loads the base state, runs a single input, updates per-outcome counters and checkpoint tracking.
| r | The runner to load the base state into and advance. |
| baseStateData | Serialized base state to reload before running the input. |
| input | Index of the input to run. |
| acc | This thread's accumulator to update with the outcome counter. |
| threadId | Calling thread's id, used for state-database free/allocation operations. |
Definition at line 885 of file engine.hpp.
|
inline |
Runs a single search step: expands all current base states in parallel and advances the databases.
Resets the per-thread accumulators and step-best/manual-save state, runs workerFunction across all threads, reduces the per-thread timers and counters into the shared totals, advances the hash and state databases, updates the manual-save last-rule-id tracking, and recomputes per-step and cumulative timing, throughput, and state-count statistics before incrementing the current step.
Definition at line 337 of file engine.hpp.
|
inlineprivate |
Worker body executed in parallel by every thread during a step.
Repeatedly pops batches of base states from the state database, loads each into the thread's runner, gathers its allowed and candidate inputs, runs each input via runNewInput, deduplicating candidate inputs per base-state input hash, and returns processed base states to the free queue. Records the thread's total step time into _threadStepTime.
Definition at line 779 of file engine.hpp.
|
private |
Cumulative hash-DB advance time.
Definition at line 1214 of file engine.hpp.
|
private |
Hash-DB advance time reported for the step.
Definition at line 1213 of file engine.hpp.
|
private |
Serially-measured hash-DB advance time for the step.
Definition at line 1212 of file engine.hpp.
|
private |
Cumulative state-DB advance time.
Definition at line 1219 of file engine.hpp.
|
private |
State-DB advance time reported for the step.
Definition at line 1218 of file engine.hpp.
|
private |
Serially-measured state-DB advance time for the step.
Definition at line 1217 of file engine.hpp.
|
private |
Active base-state pull batch size ("Base State Batch Size").
Definition at line 1085 of file engine.hpp.
|
private |
Cumulative per-thread-average hash-calculation time.
Definition at line 1174 of file engine.hpp.
|
private |
Per-thread-average hash-calculation time for the step.
Definition at line 1173 of file engine.hpp.
|
private |
Summed per-thread hash-calculation time for the step.
Definition at line 1172 of file engine.hpp.
|
private |
Cumulative per-thread-average reward-calculation time.
Definition at line 1199 of file engine.hpp.
|
private |
Per-thread-average reward-calculation time for the step.
Definition at line 1198 of file engine.hpp.
|
private |
Summed per-thread reward-calculation time for the step.
Definition at line 1197 of file engine.hpp.
|
private |
Per-base-state-input-hash set of candidate inputs already detected, used to dedup candidate-input probing.
Definition at line 1068 of file engine.hpp.
|
private |
Cumulative per-thread-average hash-checking time.
Definition at line 1179 of file engine.hpp.
|
private |
Per-thread-average hash-checking time for the step.
Definition at line 1178 of file engine.hpp.
|
private |
Summed per-thread hash-checking time for the step.
Definition at line 1177 of file engine.hpp.
|
private |
Step index after which states below _checkpointLevel are dropped.
Definition at line 1110 of file engine.hpp.
|
private |
Highest checkpoint level reached so far.
Definition at line 1108 of file engine.hpp.
|
private |
Tolerance (in steps) associated with the current checkpoint level.
Definition at line 1109 of file engine.hpp.
|
private |
Counter for the current step.
Definition at line 1071 of file engine.hpp.
|
private |
Overall running time of the current step, in microseconds.
Definition at line 1144 of file engine.hpp.
|
private |
Counter for states dropped due to not meeting the checkpoint.
Definition at line 1121 of file engine.hpp.
|
private |
Counter for states dropped due to failed serialization.
Definition at line 1118 of file engine.hpp.
|
private |
Counter for states dropped due to lack of free states.
Definition at line 1115 of file engine.hpp.
|
private |
Counter for failed states (reached a point in the game considered a loss).
Definition at line 1127 of file engine.hpp.
|
private |
Full self-contained serialized state size ([hot]+[history]) for standalone snapshot buffers.
Definition at line 1094 of file engine.hpp.
|
private |
Cumulative per-thread-average get-allowed-inputs time.
Definition at line 1204 of file engine.hpp.
|
private |
Per-thread-average get-allowed-inputs time for the step.
Definition at line 1203 of file engine.hpp.
|
private |
Summed per-thread get-allowed-inputs time for the step.
Definition at line 1202 of file engine.hpp.
|
private |
Cumulative per-thread-average get-candidate-inputs time.
Definition at line 1209 of file engine.hpp.
|
private |
Per-thread-average get-candidate-inputs time for the step.
Definition at line 1208 of file engine.hpp.
|
private |
Summed per-thread get-candidate-inputs time for the step.
Definition at line 1207 of file engine.hpp.
|
private |
Cumulative per-thread-average get-free-state time.
Definition at line 1189 of file engine.hpp.
|
private |
Per-thread-average get-free-state time for the step.
Definition at line 1188 of file engine.hpp.
|
private |
Summed per-thread get-free-state time for the step.
Definition at line 1187 of file engine.hpp.
|
private |
Thread-safe hash database used to detect repeated states.
Definition at line 1088 of file engine.hpp.
|
private |
Whether hashing is enabled. Games that cannot loop skip the hash DB to save memory and computation.
Definition at line 1084 of file engine.hpp.
|
private |
The one shared input-history backing (e.g.
the trie) shared by all worker runners; an opaque handle owned for the whole search. Null for the raw/none strategies, which have no shared structure.
Definition at line 1081 of file engine.hpp.
|
private |
Best manually saved solution for the current step.
Definition at line 1102 of file engine.hpp.
|
private |
Currently active manual-save last-rule id across steps.
Definition at line 1104 of file engine.hpp.
|
private |
Path of the most recently activated manual-save solution.
Definition at line 1105 of file engine.hpp.
|
private |
Guards updates to _manualSaveSolution.
Definition at line 1101 of file engine.hpp.
|
private |
Whether the manual-save last-rule id changed this step.
Definition at line 1103 of file engine.hpp.
|
private |
Maximum per-thread step time for the current step.
Definition at line 1147 of file engine.hpp.
|
private |
Id of the thread with the maximum step time.
Definition at line 1148 of file engine.hpp.
|
private |
Counter for normal states.
Definition at line 1133 of file engine.hpp.
|
private |
Cumulative per-thread-average base-state pop time.
Definition at line 1224 of file engine.hpp.
|
private |
Per-thread-average base-state pop time for the step.
Definition at line 1223 of file engine.hpp.
|
private |
Summed per-thread base-state pop time for the step.
Definition at line 1222 of file engine.hpp.
|
private |
Counter for repeated states (detected via hash collision).
Definition at line 1124 of file engine.hpp.
|
private |
Cumulative per-thread-average return-free-state time.
Definition at line 1194 of file engine.hpp.
|
private |
Per-thread-average return-free-state time for the step.
Definition at line 1193 of file engine.hpp.
|
private |
Summed per-thread return-free-state time for the step.
Definition at line 1192 of file engine.hpp.
|
private |
Cumulative per-thread-average rule-checking time.
Definition at line 1184 of file engine.hpp.
|
private |
Per-thread-average rule-checking time for the step.
Definition at line 1183 of file engine.hpp.
|
private |
Summed per-thread rule-checking time for the step.
Definition at line 1182 of file engine.hpp.
|
private |
Collection of runners for the workers to use (one per thread).
Definition at line 1074 of file engine.hpp.
|
private |
Cumulative per-thread-average runner-advance time.
Definition at line 1159 of file engine.hpp.
|
private |
Per-thread-average runner-advance time for the step.
Definition at line 1158 of file engine.hpp.
|
private |
Summed per-thread runner-advance time for the step.
Definition at line 1157 of file engine.hpp.
|
private |
Cumulative per-thread-average state-load time.
Definition at line 1164 of file engine.hpp.
|
private |
Per-thread-average state-load time for the step.
Definition at line 1163 of file engine.hpp.
|
private |
Summed per-thread state-load time for the step.
Definition at line 1162 of file engine.hpp.
|
private |
Cumulative per-thread-average state-save time.
Definition at line 1169 of file engine.hpp.
|
private |
Per-thread-average state-save time for the step.
Definition at line 1168 of file engine.hpp.
|
private |
Summed per-thread state-save time for the step.
Definition at line 1167 of file engine.hpp.
|
private |
Thread-safe state database holding the current and next step's states.
Definition at line 1077 of file engine.hpp.
|
private |
Size of a single state as stored in the database, in bytes.
Definition at line 1091 of file engine.hpp.
|
private |
Base states processed during the current step.
Definition at line 1135 of file engine.hpp.
|
private |
Best win state (by reward) found during the current step.
Definition at line 1097 of file engine.hpp.
|
private |
Guards updates to _stepBestWinState.
Definition at line 1096 of file engine.hpp.
|
private |
New states processed during the current step.
Definition at line 1138 of file engine.hpp.
|
private |
Sum of all per-operation cumulative average times.
Definition at line 1227 of file engine.hpp.
|
private |
Sum of all per-operation average times for the current step.
Definition at line 1226 of file engine.hpp.
|
private |
Per-thread accumulators for hot-loop timing/counters, reduced once per step.
Definition at line 1151 of file engine.hpp.
|
private |
Per-thread running time of the current step, in microseconds.
Definition at line 1146 of file engine.hpp.
|
private |
Base states processed across all steps so far.
Definition at line 1136 of file engine.hpp.
|
private |
New states processed across all steps so far.
Definition at line 1139 of file engine.hpp.
|
private |
Total running time so far, in microseconds.
Definition at line 1154 of file engine.hpp.
|
private |
Counter for win states.
Definition at line 1130 of file engine.hpp.
|
staticconstexprprivate |
Number of base states a worker pulls from the state-DB queue per lock acquisition (batch size).
Definition at line 698 of file engine.hpp.