Replaces the slow modulo operation with a much faster 32bit multiplication & shift. This works
because the hash should be uniformly distributed between 0 and 2^32-1. This speeds up the benchmark
by a factor of about 1.3:
Be aware that this changes the position of the bits that are toggled, so this should probably
not be used for CBloomFilter which is serialized.
50d06a2...
by
Pieter Wuille <email address hidden>
More efficient bitsliced rolling Bloom filter
This patch changes the implementation from one that stores 16 2-bit integers
in one uint32_t's, to one that stores the first bit of 64 2-bit integers in
one uint64_t and the second bit in another. This allows for 450x faster
refreshing and 2.2x faster average speed.
5d13bf2...
by
Pieter Wuille <email address hidden>
Merge #2721: [GUI] Decouple legacy MNs code from the GUI elements
18e270de1741f6e83aae55b201c392b0397752e8 GUI: Move start legacy Masternodes functions to MNModel. (furszy)
7ce5b0299a1c1affe202649f0fbd02a8a9eabfcb Move-only: Move MN collateral min conf value to chainparams (furszy)
fb39016d88ce8588696e597fd081ec3b65cfb37e [GUI] Encapsulate legacy Masternode remove process inside MNModel. (furszy)
2f5a64d3d7707a0fc85137c365dfecc31b1fa41d [GUI] fix clang warnings in masternodewizarddialog.h/cpp (furszy)
3be68e4437c0cff0a1cf2e2027764bdbfb86145e [GUI] Decouple legacy masternodes creation into its own createLegacyMN inside MNModel. (furszy)
07a2a6f08060d3be46c24c565e1900a6e52929cd [GUI] Decouple collateral tx creation into its own function inside the model. (furszy)
e2af4c92b016165caaf3ff92820eb4895a004adc [GUI] move getMNCollateralRequiredAmount from clientModel to mnModel (furszy)
Pull request description:
Encapsulating the legacy Masternodes code that is spread over the GUI widgets inside the MN module.
Plus, as is a value shared between legacy and deterministic Masternodes, moved the collateral min conf field to `chainparams`. Which allowed to remove the following circular dependency: `"evo/deterministicmns -> masternode -> wallet/wallet -> evo/deterministicmns"`
Part of the building blocks for adding visual support for the new deterministic Masternodes features.
ACKs for top commit:
random-zebra:
ACK 18e270de1741f6e83aae55b201c392b0397752e8
Fuzzbawls:
re-ACK 18e270de1741f6e83aae55b201c392b0397752e8