Merge pull request #71 from Spudz76/ocean-master-addAlgoMinTime
Add algo-min-time option same as meta-miner
This commit is contained in:
commit
7261d47c0e
8 changed files with 27 additions and 3 deletions
|
@ -48,6 +48,7 @@ namespace xmrig {
|
||||||
|
|
||||||
|
|
||||||
#ifdef XMRIG_FEATURE_MO_BENCHMARK
|
#ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
|
const char *BaseConfig::kAlgoMinTime = "algo-min-time";
|
||||||
const char *BaseConfig::kAlgoPerf = "algo-perf";
|
const char *BaseConfig::kAlgoPerf = "algo-perf";
|
||||||
#endif
|
#endif
|
||||||
const char *BaseConfig::kApi = "api";
|
const char *BaseConfig::kApi = "api";
|
||||||
|
@ -109,6 +110,7 @@ bool xmrig::BaseConfig::read(const IJsonReader &reader, const char *fileName)
|
||||||
Log::setColors(reader.getBool(kColors, Log::isColors()));
|
Log::setColors(reader.getBool(kColors, Log::isColors()));
|
||||||
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
m_benchAlgoTime = reader.getInt(kBenchAlgoTime, m_benchAlgoTime);
|
m_benchAlgoTime = reader.getInt(kBenchAlgoTime, m_benchAlgoTime);
|
||||||
|
m_algoMinTime = reader.getInt(kAlgoMinTime, m_algoMinTime);
|
||||||
# endif
|
# endif
|
||||||
setVerbose(reader.getValue(kVerbose));
|
setVerbose(reader.getValue(kVerbose));
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,7 @@ class BaseConfig : public IConfig
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
|
static const char *kAlgoMinTime;
|
||||||
static const char *kAlgoPerf;
|
static const char *kAlgoPerf;
|
||||||
# endif
|
# endif
|
||||||
static const char *kApi;
|
static const char *kApi;
|
||||||
|
@ -87,6 +88,7 @@ public:
|
||||||
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
inline bool isRebenchAlgo() const { return m_rebenchAlgo; }
|
inline bool isRebenchAlgo() const { return m_rebenchAlgo; }
|
||||||
inline int benchAlgoTime() const { return m_benchAlgoTime; }
|
inline int benchAlgoTime() const { return m_benchAlgoTime; }
|
||||||
|
inline int algoMinTime() const { return m_algoMinTime; }
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_TLS
|
# ifdef XMRIG_FEATURE_TLS
|
||||||
|
@ -122,6 +124,7 @@ protected:
|
||||||
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
bool m_rebenchAlgo = false;
|
bool m_rebenchAlgo = false;
|
||||||
int m_benchAlgoTime = 10;
|
int m_benchAlgoTime = 10;
|
||||||
|
int m_algoMinTime = 0;
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_TLS
|
# ifdef XMRIG_FEATURE_TLS
|
||||||
|
|
|
@ -244,6 +244,7 @@ void xmrig::BaseTransform::transform(rapidjson::Document &doc, int key, const ch
|
||||||
case IConfig::RetriesKey: /* --retries */
|
case IConfig::RetriesKey: /* --retries */
|
||||||
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
|
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
|
||||||
|
case IConfig::AlgoMinTimeKey: /* --algo-min-time */
|
||||||
# endif
|
# endif
|
||||||
case IConfig::RetryPauseKey: /* --retry-pause */
|
case IConfig::RetryPauseKey: /* --retry-pause */
|
||||||
case IConfig::PrintTimeKey: /* --print-time */
|
case IConfig::PrintTimeKey: /* --print-time */
|
||||||
|
@ -383,6 +384,9 @@ void xmrig::BaseTransform::transformUint64(rapidjson::Document &doc, int key, ui
|
||||||
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
|
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
|
||||||
return set(doc, BaseConfig::kBenchAlgoTime, arg);
|
return set(doc, BaseConfig::kBenchAlgoTime, arg);
|
||||||
|
|
||||||
|
case IConfig::AlgoMinTimeKey: /* --algo-min-time */
|
||||||
|
return set(doc, BaseConfig::kAlgoMinTime, arg);
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -96,6 +96,7 @@ public:
|
||||||
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
RebenchAlgoKey = 10001,
|
RebenchAlgoKey = 10001,
|
||||||
BenchAlgoTimeKey = 10002,
|
BenchAlgoTimeKey = 10002,
|
||||||
|
AlgoMinTimeKey = 10003,
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
// xmrig cpu
|
// xmrig cpu
|
||||||
|
|
|
@ -202,7 +202,7 @@ bool xmrig::Config::isShouldSave() const
|
||||||
}
|
}
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
if (m_benchmark.isNewBenchRun()) {
|
if (m_benchmark.isNewBenchRun()) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -245,7 +245,7 @@ bool xmrig::Config::read(const IJsonReader &reader, const char *fileName)
|
||||||
d_ptr->healthPrintTime = reader.getUint(kHealthPrintTime, d_ptr->healthPrintTime);
|
d_ptr->healthPrintTime = reader.getUint(kHealthPrintTime, d_ptr->healthPrintTime);
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
m_benchmark.read(reader.getValue(kAlgoPerf));
|
m_benchmark.read(reader.getValue(kAlgoPerf));
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
@ -314,9 +314,10 @@ void xmrig::Config::getJSON(rapidjson::Document &doc) const
|
||||||
doc.AddMember(StringRef(kVerbose), Log::verbose(), allocator);
|
doc.AddMember(StringRef(kVerbose), Log::verbose(), allocator);
|
||||||
doc.AddMember(StringRef(kWatch), m_watch, allocator);
|
doc.AddMember(StringRef(kWatch), m_watch, allocator);
|
||||||
|
|
||||||
# ifdef XMRIG_FEATURE_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
doc.AddMember(StringRef(kRebenchAlgo), isRebenchAlgo(), allocator);
|
doc.AddMember(StringRef(kRebenchAlgo), isRebenchAlgo(), allocator);
|
||||||
doc.AddMember(StringRef(kBenchAlgoTime), benchAlgoTime(), allocator);
|
doc.AddMember(StringRef(kBenchAlgoTime), benchAlgoTime(), allocator);
|
||||||
|
doc.AddMember(StringRef(kAlgoMinTime), algoMinTime(), allocator);
|
||||||
doc.AddMember(StringRef(kAlgoPerf), m_benchmark.toJSON(doc), allocator);
|
doc.AddMember(StringRef(kAlgoPerf), m_benchmark.toJSON(doc), allocator);
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
|
|
@ -68,6 +68,7 @@ static const option options[] = {
|
||||||
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
{ "rebench-algo", 0, nullptr, IConfig::RebenchAlgoKey },
|
{ "rebench-algo", 0, nullptr, IConfig::RebenchAlgoKey },
|
||||||
{ "bench-algo-time", 1, nullptr, IConfig::BenchAlgoTimeKey },
|
{ "bench-algo-time", 1, nullptr, IConfig::BenchAlgoTimeKey },
|
||||||
|
{ "algo-min-time", 1, nullptr, IConfig::AlgoMinTimeKey },
|
||||||
# endif
|
# endif
|
||||||
{ "no-color", 0, nullptr, IConfig::ColorKey },
|
{ "no-color", 0, nullptr, IConfig::ColorKey },
|
||||||
{ "no-huge-pages", 0, nullptr, IConfig::HugePagesKey },
|
{ "no-huge-pages", 0, nullptr, IConfig::HugePagesKey },
|
||||||
|
|
|
@ -204,6 +204,13 @@ static inline const std::string &usage()
|
||||||
u += " --no-dmi disable DMI/SMBIOS reader\n";
|
u += " --no-dmi disable DMI/SMBIOS reader\n";
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# ifdef XMRIG_FEATURE_MO_BENCHMARK
|
||||||
|
u += "\nMoneroOcean Benchmark (algo-perf):\n";
|
||||||
|
u += " --rebench-algo run algo-perf benchmark (default if config contains no algo-perf)\n";
|
||||||
|
u += " --bench-algo-time=N run algo-perf benchmark this many seconds per algo (default: 10)\n";
|
||||||
|
u += " --algo-min-time=N when mining, avoid switching more often than every N seconds (default: 0/disabled)\n";
|
||||||
|
# endif
|
||||||
|
|
||||||
return u;
|
return u;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -214,6 +214,11 @@ void xmrig::Network::onLogin(IStrategy *, IClient *client, rapidjson::Document &
|
||||||
}
|
}
|
||||||
|
|
||||||
params.AddMember("algo-perf", algo_perf, allocator);
|
params.AddMember("algo-perf", algo_perf, allocator);
|
||||||
|
|
||||||
|
int algo_min_time = m_controller->config()->algoMinTime();
|
||||||
|
if (algo_min_time > 0) {
|
||||||
|
params.AddMember("algo-min-time", algo_min_time, allocator);
|
||||||
|
}
|
||||||
# endif
|
# endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue