From 8eb1d9a196d85182e7105b03c7515594a97a6e04 Mon Sep 17 00:00:00 2001 From: Tony Butler Date: Thu, 5 Nov 2020 18:07:38 -0700 Subject: [PATCH] Cleanup useless code, rearrange --- CMakeLists.txt | 2 +- src/backend/common/Tags.h | 4 ---- src/base/io/log/Tags.h | 8 ++++---- src/base/kernel/config/BaseConfig.cpp | 12 +++++------- src/base/kernel/config/BaseTransform.cpp | 8 ++++---- src/config.json | 8 ++++---- src/core/Controller.cpp | 2 +- src/core/MoBenchmark.cpp | 5 ----- src/core/MoBenchmark.h | 24 ++++++++++++------------ src/core/config/Config.cpp | 9 ++++----- src/core/config/Config.h | 2 +- 11 files changed, 36 insertions(+), 48 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 527d05dba7..9e59498853 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,10 +24,10 @@ option(WITH_NVML "Enable NVML (NVIDIA Management Library) support (on option(WITH_ADL "Enable ADL (AMD Display Library) or sysfs support (only if OpenCL backend enabled)" ON) option(WITH_STRICT_CACHE "Enable strict checks for OpenCL cache" ON) option(WITH_INTERLEAVE_DEBUG_LOG "Enable debug log for threads interleave" OFF) -option(WITH_MO_BENCHMARK "Enable Benchmark module and algo-perf feature (for MoneroOcean)" ON) option(WITH_PROFILING "Enable profiling for developers" OFF) option(WITH_SSE4_1 "Enable SSE 4.1 for Blake2" ON) option(WITH_BENCHMARK "Enable builtin RandomX benchmark and stress test" ON) +option(WITH_MO_BENCHMARK "Enable Benchmark module and algo-perf feature (for MoneroOcean)" ON) option(BUILD_STATIC "Build static binary" OFF) option(ARM_TARGET "Force use specific ARM target 8 or 7" 0) diff --git a/src/backend/common/Tags.h b/src/backend/common/Tags.h index b77891791a..0e29827595 100644 --- a/src/backend/common/Tags.h +++ b/src/backend/common/Tags.h @@ -46,10 +46,6 @@ const char *ocl_tag(); const char *cuda_tag(); #endif -#ifdef XMRIG_FEATURE_MO_BENCHMARK -const char *bm_tag(); -#endif - } // namespace xmrig diff --git a/src/base/io/log/Tags.h b/src/base/io/log/Tags.h index 0238f4de14..c884ff3038 100644 --- a/src/base/io/log/Tags.h +++ b/src/base/io/log/Tags.h @@ -57,13 +57,13 @@ class Tags static const char *opencl(); # endif -# ifdef XMRIG_FEATURE_MO_BENCHMARK - static const char *benchmark(); -# endif - # ifdef XMRIG_FEATURE_PROFILING static const char* profiler(); # endif + +# ifdef XMRIG_FEATURE_MO_BENCHMARK + static const char *benchmark(); +# endif }; diff --git a/src/base/kernel/config/BaseConfig.cpp b/src/base/kernel/config/BaseConfig.cpp index db74aed1ca..d56d3d948b 100644 --- a/src/base/kernel/config/BaseConfig.cpp +++ b/src/base/kernel/config/BaseConfig.cpp @@ -98,12 +98,13 @@ bool xmrig::BaseConfig::read(const IJsonReader &reader, const char *fileName) m_autoSave = reader.getBool(kAutosave, m_autoSave); m_background = reader.getBool(kBackground, m_background); m_dryRun = reader.getBool(kDryRun, m_dryRun); -# ifdef XMRIG_FEATURE_MO_BENCHMARK - m_rebenchAlgo = reader.getBool(kRebenchAlgo, m_rebenchAlgo); -# endif + m_pauseOnBattery = reader.getBool(kPauseOnBattery, m_pauseOnBattery); m_syslog = reader.getBool(kSyslog, m_syslog); m_watch = reader.getBool(kWatch, m_watch); - m_pauseOnBattery = reader.getBool(kPauseOnBattery, m_pauseOnBattery); +# ifdef XMRIG_FEATURE_MO_BENCHMARK + m_rebenchAlgo = reader.getBool(kRebenchAlgo, m_rebenchAlgo); + m_benchAlgoTime = reader.getInt(kBenchAlgoTime, m_benchAlgoTime); +# endif m_logFile = reader.getString(kLogFile); m_userAgent = reader.getString(kUserAgent); m_printTime = std::min(reader.getUint(kPrintTime, m_printTime), 3600U); @@ -114,9 +115,6 @@ bool xmrig::BaseConfig::read(const IJsonReader &reader, const char *fileName) # endif Log::setColors(reader.getBool(kColors, Log::isColors())); -# ifdef XMRIG_FEATURE_MO_BENCHMARK - m_benchAlgoTime = reader.getInt(kBenchAlgoTime, m_benchAlgoTime); -# endif setVerbose(reader.getValue(kVerbose)); const auto &api = reader.getObject(kApi); diff --git a/src/base/kernel/config/BaseTransform.cpp b/src/base/kernel/config/BaseTransform.cpp index f953cceb69..0248f03b79 100644 --- a/src/base/kernel/config/BaseTransform.cpp +++ b/src/base/kernel/config/BaseTransform.cpp @@ -270,10 +270,10 @@ void xmrig::BaseTransform::transform(rapidjson::Document &doc, int key, const ch case IConfig::DaemonKey: /* --daemon */ # endif case IConfig::VerboseKey: /* --verbose */ + case IConfig::PauseOnBatteryKey: /* --pause-on-battery */ # ifdef XMRIG_FEATURE_MO_BENCHMARK case IConfig::RebenchAlgoKey: /* --rebench-algo */ # endif - case IConfig::PauseOnBatteryKey: /* --pause-on-battery */ return transformBoolean(doc, key, true); case IConfig::ColorKey: /* --no-color */ @@ -332,14 +332,14 @@ void xmrig::BaseTransform::transformBoolean(rapidjson::Document &doc, int key, b case IConfig::NoTitleKey: /* --no-title */ return set(doc, BaseConfig::kTitle, enable); + case IConfig::PauseOnBatteryKey: /* --pause-on-battery */ + return set(doc, BaseConfig::kPauseOnBattery, enable); + # ifdef XMRIG_FEATURE_MO_BENCHMARK case IConfig::RebenchAlgoKey: /* --rebench-algo */ return set(doc, BaseConfig::kRebenchAlgo, enable); # endif - case IConfig::PauseOnBatteryKey: /* --pause-on-battery */ - return set(doc, BaseConfig::kPauseOnBattery, enable); - default: break; } diff --git a/src/config.json b/src/config.json index 9f844997a7..993c7c4c56 100644 --- a/src/config.json +++ b/src/config.json @@ -56,8 +56,8 @@ "nvml": true, "cn/0": false, "cn-lite/0": false, - "panthera": false, - "astrobwt": false + "astrobwt": false, + "panthera": false }, "donate-level": 1, "donate-over-proxy": 1, @@ -97,7 +97,7 @@ "user-agent": null, "verbose": 0, "watch": true, + "pause-on-battery": false, "rebench-algo": false, - "bench-algo-time": 20, - "pause-on-battery": false + "bench-algo-time": 20 } diff --git a/src/core/Controller.cpp b/src/core/Controller.cpp index 475c3eb2a4..65f9e1a7b8 100644 --- a/src/core/Controller.cpp +++ b/src/core/Controller.cpp @@ -70,7 +70,7 @@ void xmrig::Controller::pre_start() void xmrig::Controller::start() { Base::start(); -#ifndef XMRIG_FEATURE_BENCHMARK +#ifndef XMRIG_FEATURE_MO_BENCHMARK m_miner = new Miner(this); #endif network()->connect(); diff --git a/src/core/MoBenchmark.cpp b/src/core/MoBenchmark.cpp index 46978f098b..9a35f56315 100644 --- a/src/core/MoBenchmark.cpp +++ b/src/core/MoBenchmark.cpp @@ -231,8 +231,3 @@ uint64_t MoBenchmark::get_now() const { // get current time in ms } } // namespace xmrig - -const char *xmrig::bm_tag() -{ - return Tags::benchmark(); -} diff --git a/src/core/MoBenchmark.h b/src/core/MoBenchmark.h index 3a49512225..7b9c40ce23 100644 --- a/src/core/MoBenchmark.h +++ b/src/core/MoBenchmark.h @@ -70,21 +70,21 @@ class MoBenchmark : public IJobResultListener { Job* m_bench_job[BenchAlgo::MAX]; double m_bench_algo_perf[BenchAlgo::MAX]; - Controller* m_controller; // to get access to config and network - bool m_isNewBenchRun; // true if benchmark is need to be executed or was executed - MoBenchmark::BenchAlgo m_bench_algo; // 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 the first resultt for current perf algo (in ms) - uint64_t m_bench_start; // time of measurements start for current perf algo (in ms) after all backends are started - unsigned m_enabled_backend_count; // number of active miner backends + Controller* m_controller; // to get access to config and network + bool m_isNewBenchRun; // true if benchmark is need to be executed or was executed + MoBenchmark::BenchAlgo m_bench_algo; // 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 the first resultt for current perf algo (in ms) + uint64_t m_bench_start; // time of measurements start for current perf algo (in ms) after all backends are started + unsigned m_enabled_backend_count; // number of active miner backends std::set m_backends_started; // id of backend started for benchmark - uint64_t get_now() const; // get current time in ms + uint64_t get_now() const; // get current time in ms double get_algo_perf(Algorithm::Id algo) const; // get algo perf based on m_bench_algo_perf - void start(const MoBenchmark::BenchAlgo); // start benchmark for specified perf algo - void finish(); // end of benchmarks, switch to jobs from the pool (network), fill algo_perf - void onJobResult(const JobResult&) override; // onJobResult is called after each computed benchmark hash - void run_next_bench_algo(BenchAlgo); // run next bench algo or finish benchmark for the last one + void start(const MoBenchmark::BenchAlgo); // start benchmark for specified perf algo + void finish(); // end of benchmarks, switch to jobs from the pool (network), fill algo_perf + void onJobResult(const JobResult&) override; // onJobResult is called after each computed benchmark hash + void run_next_bench_algo(BenchAlgo); // run next bench algo or finish benchmark for the last one public: MoBenchmark(); diff --git a/src/core/config/Config.cpp b/src/core/config/Config.cpp index b92af5519f..c829aa1931 100644 --- a/src/core/config/Config.cpp +++ b/src/core/config/Config.cpp @@ -161,7 +161,7 @@ bool xmrig::Config::isShouldSave() const } # endif -# ifdef XMRIG_FEATURE_BENCHMARK +# ifdef XMRIG_FEATURE_MO_BENCHMARK if (m_benchmark.isNewBenchRun()) { return true; } @@ -197,7 +197,7 @@ bool xmrig::Config::read(const IJsonReader &reader, const char *fileName) d_ptr->healthPrintTime = reader.getUint(kHealthPrintTime, d_ptr->healthPrintTime); # endif -# ifdef XMRIG_FEATURE_BENCHMARK +# ifdef XMRIG_FEATURE_MO_BENCHMARK m_benchmark.read(reader.getValue(kAlgoPerf)); # endif @@ -257,12 +257,11 @@ void xmrig::Config::getJSON(rapidjson::Document &doc) const doc.AddMember(StringRef(kUserAgent), m_userAgent.toJSON(), allocator); doc.AddMember(StringRef(kVerbose), Log::verbose(), allocator); doc.AddMember(StringRef(kWatch), m_watch, allocator); + doc.AddMember(StringRef(kPauseOnBattery), isPauseOnBattery(), allocator); -# ifdef XMRIG_FEATURE_BENCHMARK +# ifdef XMRIG_FEATURE_MO_BENCHMARK doc.AddMember(StringRef(kRebenchAlgo), isRebenchAlgo(), allocator); doc.AddMember(StringRef(kBenchAlgoTime), benchAlgoTime(), allocator); doc.AddMember(StringRef(kAlgoPerf), m_benchmark.toJSON(doc), allocator); # endif - - doc.AddMember(StringRef(kPauseOnBattery), isPauseOnBattery(), allocator); } diff --git a/src/core/config/Config.h b/src/core/config/Config.h index d173513657..4985bee910 100644 --- a/src/core/config/Config.h +++ b/src/core/config/Config.h @@ -81,7 +81,7 @@ class Config : public BaseConfig void getJSON(rapidjson::Document &doc) const override; # ifdef XMRIG_FEATURE_MO_BENCHMARK - inline MoBenchmark &benchmark() { return m_benchmark; } + inline MoBenchmark &benchmark() { return m_benchmark; } # endif private: