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
1 changed files with 12 additions and 5 deletions

View File

@ -49,22 +49,29 @@ public:
if (!base_class::init())
return false;
cryptonote::account_base m_alice;
cryptonote::transaction m_tx;
m_alice.generate();
std::vector<tx_destination_entry> destinations;
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()
{
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*) &txin.k_image) == 0;
return ge_frombytes_vartime(&unp, (const unsigned char*) &m_key) == 0;
}
private:
cryptonote::account_base m_alice;
cryptonote::transaction m_tx;
rct::key m_key;
};