Set benchmark controller even if no benchmark run is executed

This commit is contained in:
MoneroOcean 2019-07-28 11:52:13 -07:00
parent c0fec3db63
commit e23d3c431b
3 changed files with 5 additions and 4 deletions

View file

@ -87,9 +87,10 @@ int xmrig::App::exec()
}
m_controller->pre_start();
m_controller->config()->benchmark().set_controller(m_controller);
if (m_controller->config()->benchmark().isNewBenchRun() || m_controller->config()->isRebenchAlgo()) {
m_controller->config()->benchmark().start(m_controller);
m_controller->config()->benchmark().start();
} else {
m_controller->start();
}

View file

@ -30,8 +30,7 @@
namespace xmrig {
// start performance measurements from the first bench_algo
void Benchmark::start(Controller* controller) {
m_controller = controller;
void Benchmark::start() {
JobResults::setListener(this); // register benchmark as job result listener to compute hashrates there
// write text before first benchmark round
LOG_ALERT(">>>>> STARTING ALGO PERFORMANCE CALIBRATION (with %i seconds round)", m_controller->config()->benchAlgoTime());

View file

@ -67,9 +67,10 @@ class Benchmark : public IJobResultListener {
public:
Benchmark() : m_controller(nullptr), m_isNewBenchRun(true) {}
void set_controller(Controller* controller) { m_controller = controller; }
virtual ~Benchmark() {}
void start(Controller* controller); // start benchmarks
void start(); // start benchmarks
bool isNewBenchRun() const { return m_isNewBenchRun; }
float algo_perf[Algorithm::MAX];