bulletproofs: reserve vector memory when known in advance

This commit is contained in:
moneromooo-monero 2018-11-05 14:31:49 +00:00
parent 7e2483e1d5
commit 6a1062f560
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

View File

@ -112,6 +112,7 @@ static void init_exponents()
if (init_done) if (init_done)
return; return;
std::vector<MultiexpData> data; std::vector<MultiexpData> data;
data.reserve(maxN*maxM*2);
for (size_t i = 0; i < maxN*maxM; ++i) for (size_t i = 0; i < maxN*maxM; ++i)
{ {
Hi[i] = get_exponent(rct::H, i * 2); Hi[i] = get_exponent(rct::H, i * 2);
@ -1056,6 +1057,7 @@ bool bulletproof_VERIFY(const std::vector<const Bulletproof*> &proofs)
bool bulletproof_VERIFY(const std::vector<Bulletproof> &proofs) bool bulletproof_VERIFY(const std::vector<Bulletproof> &proofs)
{ {
std::vector<const Bulletproof*> proof_pointers; std::vector<const Bulletproof*> proof_pointers;
proof_pointers.reserve(proofs.size());
for (const Bulletproof &proof: proofs) for (const Bulletproof &proof: proofs)
proof_pointers.push_back(&proof); proof_pointers.push_back(&proof);
return bulletproof_VERIFY(proof_pointers); return bulletproof_VERIFY(proof_pointers);