pumpkin_core/engine/
solver_statistics.rs1use crate::basic_types::time::Duration;
2use crate::statistics::StatisticLogger;
3use crate::statistics::log_statistic;
4
5#[derive(Debug, Default)]
7pub struct SolverStatistics {
8 pub(crate) engine_statistics: EngineStatistics,
10}
11
12impl SolverStatistics {
13 pub(crate) fn log(&self, _statistic_logger: StatisticLogger, _verbose: bool) {
14 log_statistic("nodes", self.engine_statistics.num_decisions);
15 log_statistic("restarts", self.engine_statistics.num_restarts);
16 log_statistic("peakDepth", self.engine_statistics.peak_depth);
17 log_statistic(
18 "solveTime",
19 self.engine_statistics.time_spent_in_solver.as_secs_f64(),
20 );
21 }
22}
23
24#[derive(Debug, Default)]
26pub(crate) struct EngineStatistics {
27 pub(crate) num_decisions: u64,
29 pub(crate) num_restarts: u64,
31 pub(crate) time_spent_in_solver: Duration,
33 pub(crate) peak_depth: u64,
35}