Make GetAvailableCredit run GetHash() only once per transaction.

This makes the first getbalance/getinfo 63x faster on my wallet.
This commit is contained in:
Gregory Maxwell 2014-03-28 09:58:40 -07:00
parent 1294cdc43f
commit a60ab0ba89

View File

@ -620,9 +620,10 @@ public:
return nAvailableCreditCached; return nAvailableCreditCached;
int64_t nCredit = 0; int64_t nCredit = 0;
uint256 hashTx = GetHash();
for (unsigned int i = 0; i < vout.size(); i++) for (unsigned int i = 0; i < vout.size(); i++)
{ {
if (!pwallet->IsSpent(GetHash(), i)) if (!pwallet->IsSpent(hashTx, i))
{ {
const CTxOut &txout = vout[i]; const CTxOut &txout = vout[i];
nCredit += pwallet->GetCredit(txout); nCredit += pwallet->GetCredit(txout);