performance_tests: measure ge_frombytes_vartime only

not an extra dynamic cast, which might be heavy
This commit is contained in:
moneromooo-monero 2018-10-26 17:01:05 +00:00
parent 1e74586ee9
commit 30f728e362
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3

View file

@ -49,22 +49,29 @@ public:
if (!base_class::init()) if (!base_class::init())
return false; return false;
cryptonote::account_base m_alice;
cryptonote::transaction m_tx;
m_alice.generate(); m_alice.generate();
std::vector<tx_destination_entry> destinations; std::vector<tx_destination_entry> destinations;
destinations.push_back(tx_destination_entry(1, m_alice.get_keys().m_account_address, false)); destinations.push_back(tx_destination_entry(1, m_alice.get_keys().m_account_address, false));
return construct_tx(this->m_miners[this->real_source_idx].get_keys(), this->m_sources, destinations, boost::none, std::vector<uint8_t>(), m_tx, 0); if (!construct_tx(this->m_miners[this->real_source_idx].get_keys(), this->m_sources, destinations, boost::none, std::vector<uint8_t>(), m_tx, 0))
return false;
const cryptonote::txin_to_key& txin = boost::get<cryptonote::txin_to_key>(m_tx.vin[0]);
m_key = rct::ki2rct(txin.k_image);
return true;
} }
bool test() bool test()
{ {
ge_p3 unp; ge_p3 unp;
const cryptonote::txin_to_key& txin = boost::get<cryptonote::txin_to_key>(m_tx.vin[0]); return ge_frombytes_vartime(&unp, (const unsigned char*) &m_key) == 0;
return ge_frombytes_vartime(&unp, (const unsigned char*) &txin.k_image) == 0;
} }
private: private:
cryptonote::account_base m_alice; rct::key m_key;
cryptonote::transaction m_tx;
}; };