bench: Simplify CoinSelection

This commit is contained in:
João Barbosa 2018-06-28 11:48:27 +01:00
parent d96bdd7830
commit c2e4fc84ec

View file

@ -34,31 +34,25 @@ static void addCoin(const CAmount& nValue, const CWallet& wallet, std::vector<CO
static void CoinSelection(benchmark::State& state) static void CoinSelection(benchmark::State& state)
{ {
const CWallet wallet("dummy", WalletDatabase::CreateDummy()); const CWallet wallet("dummy", WalletDatabase::CreateDummy());
std::vector<COutput> vCoins;
LOCK(wallet.cs_wallet); LOCK(wallet.cs_wallet);
while (state.KeepRunning()) { // Add coins.
// Add coins. std::vector<COutput> vCoins;
for (int i = 0; i < 1000; i++) for (int i = 0; i < 1000; ++i) {
addCoin(1000 * COIN, wallet, vCoins); addCoin(1000 * COIN, wallet, vCoins);
addCoin(3 * COIN, wallet, vCoins); }
addCoin(3 * COIN, wallet, vCoins);
const CoinEligibilityFilter filter_standard(1, 6, 0);
const CoinSelectionParams coin_selection_params(true, 34, 148, CFeeRate(0), 0);
while (state.KeepRunning()) {
std::set<CInputCoin> setCoinsRet; std::set<CInputCoin> setCoinsRet;
CAmount nValueRet; CAmount nValueRet;
bool bnb_used; bool bnb_used;
CoinEligibilityFilter filter_standard(1, 6, 0); bool success = wallet.SelectCoinsMinConf(1003 * COIN, filter_standard, vCoins, setCoinsRet, nValueRet, coin_selection_params, bnb_used);
CoinSelectionParams coin_selection_params(false, 34, 148, CFeeRate(0), 0);
bool success = wallet.SelectCoinsMinConf(1003 * COIN, filter_standard, vCoins, setCoinsRet, nValueRet, coin_selection_params, bnb_used)
|| wallet.SelectCoinsMinConf(1003 * COIN, filter_standard, vCoins, setCoinsRet, nValueRet, coin_selection_params, bnb_used);
assert(success); assert(success);
assert(nValueRet == 1003 * COIN); assert(nValueRet == 1003 * COIN);
assert(setCoinsRet.size() == 2); assert(setCoinsRet.size() == 2);
// Empty wallet.
for (COutput& output : vCoins) {
delete output.tx;
}
vCoins.clear();
} }
} }