Revert "Cache transaction validation successes"

This reverts commit 17b11428c1.
This commit is contained in:
Pieter Wuille
2015-07-28 20:14:43 +02:00
parent 1369d699b6
commit eddaba7b56
3 changed files with 0 additions and 150 deletions

View File

@@ -1277,9 +1277,6 @@ int GetSpendHeight(const CCoinsViewCache& inputs)
return pindexPrev->nHeight + 1;
}
static mrumap<uint256, unsigned int> cacheCheck(2 * MAX_BLOCK_SIZE / CTransaction().GetSerializeSize(SER_NETWORK, PROTOCOL_VERSION));
static boost::mutex cs_cacheCheck;
namespace Consensus {
bool CheckTxInputs(const CTransaction& tx, CValidationState& state, const CCoinsViewCache& inputs, int nSpendHeight)
{
@@ -1334,17 +1331,6 @@ bool CheckInputs(const CTransaction& tx, CValidationState &state, const CCoinsVi
{
if (!tx.IsCoinBase())
{
if (fScriptChecks) {
boost::unique_lock<boost::mutex> lock(cs_cacheCheck);
mrumap<uint256, unsigned int>::const_iterator iter = cacheCheck.find(tx.GetHash());
if (iter != cacheCheck.end()) {
// The following test relies on the fact that all script validation flags are softforks (i.e. an extra bit set cannot cause a false result to become true).
if ((iter->second & flags) == flags) {
return true;
}
}
}
if (!Consensus::CheckTxInputs(tx, state, inputs, GetSpendHeight(inputs)))
return false;
@@ -1395,11 +1381,6 @@ bool CheckInputs(const CTransaction& tx, CValidationState &state, const CCoinsVi
}
}
if (cacheStore && fScriptChecks && pvChecks == NULL) {
boost::unique_lock<boost::mutex> lock(cs_cacheCheck);
cacheCheck.insert(tx.GetHash(), flags);
}
return true;
}
@@ -2120,13 +2101,6 @@ bool static ConnectTip(CValidationState &state, CBlockIndex *pindexNew, CBlock *
BOOST_FOREACH(const CTransaction &tx, pblock->vtx) {
SyncWithWallets(tx, pblock);
}
// Erase block's transactions from the validation cache
{
boost::unique_lock<boost::mutex> lock(cs_cacheCheck);
BOOST_FOREACH(const CTransaction &tx, pblock->vtx) {
cacheCheck.erase(tx.GetHash());
}
}
int64_t nTime6 = GetTimeMicros(); nTimePostConnect += nTime6 - nTime5; nTimeTotal += nTime6 - nTime1;
LogPrint("bench", " - Connect postprocess: %.2fms [%.2fs]\n", (nTime6 - nTime5) * 0.001, nTimePostConnect * 0.000001);