Added benchmark support

This commit is contained in:
MoneroOcean 2019-07-21 22:31:52 -07:00
parent 9660dfc7b3
commit e6f199e4f4
18 changed files with 309 additions and 22 deletions

View file

@ -131,6 +131,9 @@ bool xmrig::BaseConfig::read(const IJsonReader &reader, const char *fileName)
m_logFile = reader.getString("log-file");
m_userAgent = reader.getString("user-agent");
m_rebenchAlgo = reader.getBool("rebench-algo", m_rebenchAlgo);
m_benchAlgoTime = reader.getInt("bench-algo-time", m_benchAlgoTime);
setPrintTime(reader.getUint("print-time", 60));
const rapidjson::Value &api = reader.getObject("api");

View file

@ -57,6 +57,9 @@ public:
inline const String &apiWorkerId() const { return m_apiWorkerId; }
inline uint32_t printTime() const { return m_printTime; }
inline bool isRebenchAlgo() const { return m_rebenchAlgo; }
inline int benchAlgoTime() const { return m_benchAlgoTime; }
inline bool isWatch() const override { return m_watch && !m_fileName.isNull(); }
inline const String &fileName() const override { return m_fileName; }
inline void setFileName(const char *fileName) override { m_fileName = fileName; }
@ -82,6 +85,9 @@ protected:
String m_userAgent;
uint32_t m_printTime;
bool m_rebenchAlgo = false;
int m_benchAlgoTime = 10;
private:
inline void setPrintTime(uint32_t printTime) { if (printTime <= 3600) { m_printTime = printTime; } }
};

View file

@ -176,6 +176,7 @@ void xmrig::BaseTransform::transform(rapidjson::Document &doc, int key, const ch
case IConfig::HttpPort: /* --http-port */
case IConfig::DonateLevelKey: /* --donate-level */
case IConfig::DaemonPollKey: /* --daemon-poll-interval */
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
return transformUint64(doc, key, static_cast<uint64_t>(strtol(arg, nullptr, 10)));
case IConfig::BackgroundKey: /* --background */
@ -186,6 +187,7 @@ void xmrig::BaseTransform::transform(rapidjson::Document &doc, int key, const ch
case IConfig::DryRunKey: /* --dry-run */
case IConfig::HttpEnabledKey: /* --http-enabled */
case IConfig::DaemonKey: /* --daemon */
case IConfig::RebenchAlgoKey: /* --rebench-algo */
return transformBoolean(doc, key, true);
case IConfig::ColorKey: /* --no-color */
@ -233,6 +235,9 @@ void xmrig::BaseTransform::transformBoolean(rapidjson::Document &doc, int key, b
case IConfig::DryRunKey: /* --dry-run */
return set(doc, "dry-run", enable);
case IConfig::RebenchAlgoKey: /* --rebench-algo */
return set(doc, "rebench-algo", enable);
default:
break;
}
@ -263,6 +268,9 @@ void xmrig::BaseTransform::transformUint64(rapidjson::Document &doc, int key, ui
case IConfig::DaemonPollKey: /* --daemon-poll-interval */
return add(doc, kPools, "daemon-poll-interval", arg);
case IConfig::BenchAlgoTimeKey: /* --bench-algo-time */
return set(doc, "bench-algo-time", arg);
default:
break;
}

View file

@ -77,6 +77,9 @@ public:
NicehashKey = 1006,
PrintTimeKey = 1007,
RebenchAlgoKey = 10001,
BenchAlgoTimeKey = 10002,
// xmrig cpu
AVKey = 'v',
CPUAffinityKey = 1020,