Add equihash solving benchmarks
This commit is contained in:
@@ -2397,9 +2397,9 @@ Value zc_benchmark(const json_spirit::Array& params, bool fHelp)
|
||||
sample_times.push_back(benchmark_create_joinsplit());
|
||||
} else if (benchmarktype == "verifyjoinsplit") {
|
||||
throw JSONRPCError(RPC_TYPE_ERROR, "Unimplemented");
|
||||
} else if (benchmarktype == "equihashsolve") {
|
||||
throw JSONRPCError(RPC_TYPE_ERROR, "Unimplemented");
|
||||
} else if (benchmarktype == "equihashverify") {
|
||||
} else if (benchmarktype == "solveequihash") {
|
||||
sample_times.push_back(benchmark_solve_equihash());
|
||||
} else if (benchmarktype == "verifyequihash") {
|
||||
throw JSONRPCError(RPC_TYPE_ERROR, "Unimplemented");
|
||||
} else {
|
||||
throw JSONRPCError(RPC_TYPE_ERROR, "Invalid benchmarktype");
|
||||
|
||||
@@ -5,6 +5,8 @@
|
||||
#include "util.h"
|
||||
#include "init.h"
|
||||
#include "primitives/transaction.h"
|
||||
#include "crypto/equihash.h"
|
||||
#include "chainparams.h"
|
||||
|
||||
#include "zcbenchmarks.h"
|
||||
|
||||
@@ -88,3 +90,15 @@ double benchmark_create_joinsplit()
|
||||
assert(pourtx.Verify(*pzerocashParams));
|
||||
return ret;
|
||||
}
|
||||
|
||||
double benchmark_solve_equihash()
|
||||
{
|
||||
const char *testing = "testing";
|
||||
Equihash eh {Params(CBaseChainParams::MAIN).EquihashN(), Params(CBaseChainParams::MAIN).EquihashK()};
|
||||
crypto_generichash_blake2b_state eh_state;
|
||||
eh.InitialiseState(eh_state);
|
||||
crypto_generichash_blake2b_update(&eh_state, (const unsigned char*)testing, strlen(testing));
|
||||
timer_start();
|
||||
eh.BasicSolve(eh_state);
|
||||
return timer_stop();
|
||||
}
|
||||
|
||||
@@ -7,5 +7,6 @@
|
||||
extern double benchmark_sleep();
|
||||
extern double benchmark_parameter_loading();
|
||||
extern double benchmark_create_joinsplit();
|
||||
extern double benchmark_solve_equihash();
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user