[PrivateSend] Performance tweak: faster shuffling of Masternodes vector (#1063)

This commit is contained in:
crowning- 2016-10-09 13:46:46 +02:00 committed by UdjinM6
parent 6795de7f1a
commit e32e28afb9
3 changed files with 12 additions and 2 deletions

View File

@ -1151,7 +1151,10 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
fEnableReplacement = (std::find(vstrReplacementModes.begin(), vstrReplacementModes.end(), "fee") != vstrReplacementModes.end());
}
// ********************************************************* Step 4: application initialization: dir lock, daemonize, pidfile, debug log
// ********************************************************* Step 4: application initialization: dir lock, daemonize, pidfile, debug log, seed insecure_rand()
// Initialize fast PRNG
seed_insecure_rand(false);
// Initialize elliptic curve code
ECC_Start();

View File

@ -373,7 +373,7 @@ CMasternode *CMasternodeMan::FindRandomNotInVec(std::vector<CTxIn> &vecToExclude
}
// shuffle pointers
std::random_shuffle(vpMasternodesShuffled.begin(), vpMasternodesShuffled.end(), GetRandInt);
std::random_shuffle(vpMasternodesShuffled.begin(), vpMasternodesShuffled.end(), GetInsecureRand);
bool fExclude;
// loop through

View File

@ -46,4 +46,11 @@ static inline uint32_t insecure_rand(void)
return (insecure_rand_Rw << 16) + insecure_rand_Rz;
}
/**
* Function for std::random_shuffle
*/
static inline uint32_t GetInsecureRand(uint32_t i){
return insecure_rand() % i;
}
#endif // BITCOIN_RANDOM_H