zcashd/src
Pieter Wuille 7d488feb12 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.

(cherry picked from commit 1953c40aa9589a03035fd294f3ba3549374a4826)
2021-04-02 16:04:55 +13:00
..
bench Add a FastRandomContext::randrange and use it 2021-02-17 15:43:43 -07:00
compat Default to defining endian-conversion DECLs in compat w/o config 2020-12-20 22:42:22 +00:00
config
consensus Adding base NU5 declarations and logic 2021-03-06 17:35:54 -08:00
crypto Add a FastRandomContext::randrange and use it 2021-02-17 15:43:43 -07:00
fuzzing
gtest Auto merge of #4913 - str4d:zcashconsensus-fixes, r=nuttycom 2021-01-04 23:52:59 +00:00
leveldb Partial revert of "Update links". See #4904 2020-12-17 01:42:03 +00:00
obj
policy Reduce the default fee for z_* operations, and the "low fee penalty" threshold for mempool limiting, to 1000 zatoshis. 2020-12-18 12:37:03 -07:00
pow/tromp lint: Fix missing or inconsistent include guards 2020-11-09 23:06:21 +00:00
primitives Remove JSDescription::h_sig 2020-12-20 22:42:22 +00:00
rpc Avoid copying CNodeStats to make helgrind OK with buggy std::string 2021-04-01 14:29:40 -06:00
rust rust: Add license header to metrics_ffi::prometheus 2021-03-31 09:19:17 +13:00
script zcash_script: Clarify return values in docs 2021-02-17 23:50:50 +00:00
secp256k1 Partial revert of "Update links". See #4904 2020-12-17 01:42:03 +00:00
support
test More efficient bitsliced rolling Bloom filter 2021-04-02 16:04:55 +13:00
univalue Merge commit '9e26ae1c78fe62e23dcca7b22e1cd1a42b45dd25' into univalue-update 2021-01-25 19:50:54 +00:00
wallet Add missing cs_wallet lock that triggers new lock held assertion 2021-04-02 12:55:48 +13:00
zcash prevector: Terminate without logging on failed allocation 2020-12-20 22:42:22 +00:00
zmq [depends, zmq, doc] avoid deprecated zeromq api functions 2020-10-05 22:54:19 +01:00
.clang-format clang-format: Delete ForEachMacros 2020-11-23 23:07:15 +00:00
Makefile.am Remove mruset as it is no longer used. 2021-02-19 20:16:10 +00:00
Makefile.bench.include build: Add missing LIBUNIVALUE to Makefile.bench.include LDADD 2020-10-13 14:12:41 +01:00
Makefile.gtest.include Rename libzcashconsensus.la -> libzcash_script.la 2021-01-25 22:20:25 +00:00
Makefile.leveldb.include
Makefile.test.include Remove mruset as it is no longer used. 2021-02-19 20:16:10 +00:00
addrdb.cpp net: move CBanDB and CAddrDB out of net.h/cpp 2021-02-16 18:08:57 +00:00
addrdb.h net: move CBanDB and CAddrDB out of net.h/cpp 2021-02-16 18:08:57 +00:00
addressindex.h
addrman.cpp Switch FastRandomContext to ChaCha20 2021-02-17 15:43:43 -07:00
addrman.h Switch FastRandomContext to ChaCha20 2021-02-17 15:43:43 -07:00
alert.cpp scripted-diff: Remove #include <boost/foreach.hpp> 2020-11-23 23:07:15 +00:00
alert.h
alertkeys.h
amount.cpp Always allow transactions paying at least DEFAULT_FEE to be relayed, and do not rate-limit them. 2020-12-18 21:19:23 +00:00
amount.h Always allow transactions paying at least DEFAULT_FEE to be relayed, and do not rate-limit them. 2020-12-18 21:19:23 +00:00
arith_uint256.cpp
arith_uint256.h
asyncrpcoperation.cpp
asyncrpcoperation.h lint: Fix missing or inconsistent include guards 2020-11-09 23:06:21 +00:00
asyncrpcqueue.cpp
asyncrpcqueue.h lint: Fix missing or inconsistent include guards 2020-11-09 23:06:21 +00:00
base58.cpp
base58.h
bech32.cpp
bech32.h
bitcoin-cli-res.rc
bitcoin-cli.cpp Apply suggestions from code review 2021-01-12 17:09:20 +00:00
bitcoin-tx-res.rc
bitcoin-tx.cpp refactor: Drop boost::this_thread::interruption_point and boost::thread_interrupted in main thread 2020-11-23 23:07:15 +00:00
bitcoind-res.rc
bitcoind.cpp util: Replace boost::signals2 with std::function 2020-11-23 23:07:15 +00:00
bloom.cpp More efficient bitsliced rolling Bloom filter 2021-04-02 16:04:55 +13:00
bloom.h More efficient bitsliced rolling Bloom filter 2021-04-02 16:04:55 +13:00
chain.cpp
chain.h scripted-diff: Migrate from boost::optional to std::optional 2020-12-16 22:59:35 +00:00
chainparams.cpp Delete spare mainnet Founders' Reward addresses that will never be used. 2021-04-01 13:03:06 +01:00
chainparams.h test: Re-enable regtest difficulty adjustment for unit tests that use it 2020-11-18 12:17:57 +00:00
chainparamsbase.cpp
chainparamsbase.h
chainparamsseeds.h
checkpoints.cpp scripted-diff: Remove #include <boost/foreach.hpp> 2020-11-23 23:07:15 +00:00
checkpoints.h Remove redundant CheckBlock calls. 2020-10-07 13:07:34 -06:00
checkqueue.h scripted-diff: Remove #include <boost/foreach.hpp> 2020-11-23 23:07:15 +00:00
clientversion.cpp
clientversion.h make-release.py: Versioning changes for 4.3.0. 2021-02-24 20:12:54 +00:00
coincontrol.h
coins.cpp Use C++11 thread-safe static initializers 2021-02-17 08:07:00 -07:00
coins.h Use C++11 thread-safe static initializers 2021-02-17 08:07:00 -07:00
compat.h
compressor.cpp
compressor.h
core_io.h
core_memusage.h
core_read.cpp
core_write.cpp Fix formatting of NOPs for generated script tests 2021-04-02 16:04:55 +13:00
dbwrapper.cpp util: Replace boost::signals2 with std::function 2020-11-23 23:07:15 +00:00
dbwrapper.h Replace uses of boost::filesystem with fs 2020-10-22 01:11:37 +01:00
deprecation.cpp
deprecation.h make-release.py: Versioning changes for 4.3.0. 2021-02-24 20:12:54 +00:00
experimental_features.cpp scripted-diff: Migrate from boost::optional to std::optional 2020-12-16 22:59:35 +00:00
experimental_features.h scripted-diff: Migrate from boost::optional to std::optional 2020-12-16 22:59:35 +00:00
fs.cpp Remove unused Boost includes 2020-10-22 01:11:37 +01:00
fs.h Update links 2020-12-13 11:24:44 +02:00
hash.cpp Support SipHash with arbitrary byte writes 2021-02-16 18:00:22 -07:00
hash.h Support SipHash with arbitrary byte writes 2021-02-16 18:00:22 -07:00
httprpc.cpp scripted-diff: Remove #include <boost/foreach.hpp> 2020-11-23 23:07:15 +00:00
httprpc.h
httpserver.cpp Access WorkQueue::running only within the cs lock. 2021-04-01 14:29:40 -06:00
httpserver.h httpserver: replace boost threads with std 2020-09-30 12:48:35 +01:00
init.cpp Auto merge of #4996 - str4d:2074-net-blocksonly, r=str4d 2021-03-31 11:27:22 +00:00
init.h
key.cpp Update links 2020-12-13 11:24:44 +02:00
key.h Minor additional OpenSSL scouring. 2020-09-30 10:44:42 +01:00
key_constants.h
key_io.cpp scripted-diff: Migrate from boost::variant to std::variant 2020-12-16 22:49:53 +00:00
key_io.h Fix missing or inconsistent include guards 2020-10-27 23:05:02 +00:00
keystore.cpp Fix for incorrect locking in GetPubKey() (keystore.cpp) 2021-02-19 15:11:22 -07:00
keystore.h scripted-diff: Migrate from boost::variant to std::variant 2020-12-16 22:49:53 +00:00
limitedmap.h Disallow unlimited limited maps 2021-02-18 19:03:58 +00:00
logging.cpp prevector: Terminate without logging on failed allocation 2020-12-20 22:42:22 +00:00
logging.h Update links 2020-12-13 11:24:44 +02:00
main.cpp Switch to a more efficient rolling Bloom filter 2021-04-02 16:04:55 +13:00
main.h Add whitelistforcerelay to control forced relaying. 2021-02-22 18:26:40 -07:00
mempool_limit.cpp prevector: Terminate without logging on failed allocation 2020-12-20 22:42:22 +00:00
mempool_limit.h Remove JSDescription::h_sig 2020-12-20 22:42:22 +00:00
memusage.h scripted-diff: Remove #include <boost/foreach.hpp> 2020-11-23 23:07:15 +00:00
merkleblock.cpp
merkleblock.h
metrics.cpp Auto merge of #4892 - str4d:boosted, r=str4d 2020-12-17 02:42:55 +00:00
metrics.h scripted-diff: Migrate from boost::optional to std::optional 2020-12-16 22:59:35 +00:00
miner.cpp Auto merge of #4892 - str4d:boosted, r=str4d 2020-12-17 02:42:55 +00:00
miner.h prevector: Terminate without logging on failed allocation 2020-12-20 22:42:22 +00:00
net.cpp Move CNode::addrLocal access behind locked accessors 2021-04-02 12:55:48 +13:00
net.h Move CNode::addrLocal access behind locked accessors 2021-04-02 12:55:48 +13:00
netbase.cpp net: Fix CIDR notation in ToString() 2021-02-16 18:02:25 +00:00
netbase.h Adding CSubNet constructor over a single CNetAddr 2021-02-16 18:02:24 +00:00
noui.cpp util: Replace boost::signals2 with std::function 2020-11-23 23:07:15 +00:00
noui.h
pow.cpp scripted-diff: Migrate from boost::optional to std::optional 2020-12-16 22:59:35 +00:00
pow.h
prevector.h prevector::swap: fix (unreached) data corruption 2021-02-17 10:56:59 -07:00
proof_verifier.cpp scripted-diff: Migrate from boost::variant to std::variant 2020-12-16 22:49:53 +00:00
proof_verifier.h
protocol.cpp
protocol.h
pubkey.cpp
pubkey.h
random.cpp Switch FastRandomContext to ChaCha20 2021-02-17 15:43:43 -07:00
random.h Add a FastRandomContext::randrange and use it 2021-02-17 15:43:43 -07:00
rest.cpp scripted-diff: Fully remove BOOST_FOREACH 2020-11-23 23:07:15 +00:00
reverse_iterator.h Introduce src/reverse_iterator.hpp and include it... 2020-11-23 23:07:15 +00:00
reverselock.h
scheduler.cpp Notify other serviceQueue thread we are finished to prevent deadlocks. 2021-02-19 15:11:22 -07:00
scheduler.h
sendalert.cpp scripted-diff: Fully remove BOOST_FOREACH 2020-11-23 23:07:15 +00:00
serialize.h scripted-diff: Migrate from boost::optional to std::optional 2020-12-16 22:59:35 +00:00
spentindex.h
streams.h
sync.cpp Clean up lockorder data of destroyed mutexes 2021-02-19 15:11:22 -07:00
sync.h Do not shadow LOCK's criticalblock variable for LOCK inside LOCK 2021-04-01 14:29:40 -06:00
threadsafety.h Update links 2020-12-13 11:24:44 +02:00
timedata.cpp Move time data log print to 'net' category to reduce log noise 2021-02-18 19:34:58 +00:00
timedata.h
timestampindex.h
tinyformat.h Update links 2020-12-13 11:24:44 +02:00
torcontrol.cpp scripted-diff: Remove #include <boost/foreach.hpp> 2020-11-23 23:07:15 +00:00
torcontrol.h
transaction_builder.cpp Use SipHash-2-4 for CCoinsCache index 2021-02-11 11:10:42 -07:00
transaction_builder.h Store inputs and outputs by reference in JSDescriptionInfo 2020-12-21 02:18:35 +00:00
txdb.cpp
txdb.h
txmempool.cpp Use SipHash-2-4 for CCoinsCache index 2021-02-11 11:10:42 -07:00
txmempool.h Switch CTxMempool::mapTx to use a hash index for txids 2021-02-11 11:10:42 -07:00
ui_interface.h [Qt] add ui signal for banlist changes 2021-02-16 18:02:25 +00:00
uint252.h lint: Fix missing or inconsistent include guards 2020-11-09 23:06:21 +00:00
uint256.cpp Use SipHash-2-4 for CCoinsCache index 2021-02-11 11:10:42 -07:00
uint256.h Use SipHash-2-4 for CCoinsCache index 2021-02-11 11:10:42 -07:00
undo.h
util.cpp Lock mapArgs/mapMultiArgs access in util 2021-04-01 14:29:40 -06:00
util.h prevector: Terminate without logging on failed allocation 2020-12-20 22:42:22 +00:00
utilmoneystr.cpp
utilmoneystr.h
utilstrencodings.cpp Update links 2020-12-13 11:24:44 +02:00
utilstrencodings.h Update links 2020-12-13 11:24:44 +02:00
utiltest.cpp Adding base NU5 declarations and logic 2021-03-06 17:35:54 -08:00
utiltest.h Adding base NU5 declarations and logic 2021-03-06 17:35:54 -08:00
utiltime.cpp Fix race when accessing std::locale::classic() 2021-04-01 14:29:40 -06:00
utiltime.h
validationinterface.cpp Auto merge of #4892 - str4d:boosted, r=str4d 2020-12-17 02:42:55 +00:00
validationinterface.h scripted-diff: Migrate from boost::optional to std::optional 2020-12-16 22:59:35 +00:00
version.h
warnings.cpp Update links 2020-12-13 11:24:44 +02:00
warnings.h Update links 2020-12-13 11:24:44 +02:00
zcbenchmarks.cpp Store inputs and outputs by reference in JSDescriptionInfo 2020-12-21 02:18:35 +00:00
zcbenchmarks.h lint: Fix missing or inconsistent include guards 2020-11-09 23:06:21 +00:00