Moved benchmark config save flag to the benchmark class

This commit is contained in:
MoneroOcean 2018-08-06 10:58:35 +02:00
parent 67ed81f1ec
commit feeb226507
5 changed files with 10 additions and 11 deletions

View file

@ -139,7 +139,9 @@ int App::exec()
: " >>>>> STARTING ALGO PERFORMANCE CALIBRATION (with %i seconds round)",
m_controller->config()->calibrateAlgoTime()
);
benchmark.start_perf_bench(xmrig::PerfAlgo::PA_CN); // start benchmarking from first PerfAlgo in the list
// start benchmarking from first PerfAlgo in the list
if (m_controller->config()->get_algo_perf(xmrig::PA_CN) == 0.0f) benchmark.shoud_save_config();
benchmark.start_perf_bench(xmrig::PerfAlgo::PA_CN);
} else {
m_controller->network()->connect();
}

View file

@ -46,7 +46,6 @@ static char affinity_tmp[20] = { 0 };
xmrig::Config::Config() : xmrig::CommonConfig(),
m_shouldSave(false),
m_aesMode(AES_AUTO),
m_algoVariant(AV_AUTO),
m_hugePages(true),
@ -350,8 +349,6 @@ void xmrig::Config::parseJSON(const rapidjson::Document &doc)
}
}
}
if (m_algo_perf[xmrig::PA_CN] == 0.0f) m_shouldSave = true;
}

View file

@ -76,7 +76,6 @@ public:
void getJSON(rapidjson::Document &doc) const override;
inline bool isShouldSave() const { return m_shouldSave; }
inline AesMode aesMode() const { return m_aesMode; }
inline AlgoVariant algoVariant() const { return m_algoVariant; }
inline bool isHugePages() const { return m_hugePages; }
@ -132,7 +131,6 @@ private:
};
bool m_shouldSave;
AesMode m_aesMode;
AlgoVariant m_algoVariant;
bool m_hugePages;

View file

@ -80,7 +80,7 @@ void Benchmark::onJobResult(const JobResult& result) {
start_perf_bench(next_pa);
} else { // end of benchmarks and switching to jobs from the pool (network)
m_pa = xmrig::PA_INVALID;
if (m_controller->config()->isShouldSave()) m_controller->config()->save(); // save config with measured algo-perf
if (m_shouldSaveConfig) m_controller->config()->save(); // save config with measured algo-perf
Workers::pause(); // do not compute anything before job from the pool
m_controller->network()->connect();
}

View file

@ -31,9 +31,10 @@
#include "core/Controller.h"
class Benchmark : public IJobResultListener {
xmrig::PerfAlgo m_pa; // current perf algo we benchmark
uint64_t m_hash_count; // number of hashes calculated for current perf algo
uint64_t m_time_start; // time of measurements start for current perf algo (in ms)
bool m_shouldSaveConfig; // should save config after all benchmark rounds
xmrig::PerfAlgo m_pa; // current perf algo we benchmark
uint64_t m_hash_count; // number of hashes calculated for current perf algo
uint64_t m_time_start; // time of measurements start for current perf algo (in ms)
xmrig::Controller* m_controller; // to get access to config and network
uint64_t get_now() const; // get current time in ms
@ -41,9 +42,10 @@ class Benchmark : public IJobResultListener {
void onJobResult(const JobResult&) override; // onJobResult is called after each computed benchmark hash
public:
Benchmark() {}
Benchmark() : m_shouldSaveConfig(false) {}
virtual ~Benchmark() {}
void set_controller(xmrig::Controller* controller) { m_controller = controller; }
void shoud_save_config() { m_shouldSaveConfig = true; }
void start_perf_bench(const xmrig::PerfAlgo); // start benchmark for specified perf algo
};