lbrycrd/src/bench
MarcoFalke 82ffd4d918
Merge #14963: mempool, validation: Explain cs_main locking semantics
fa5e373365 validation: Add cs_main locking annotations (MarcoFalke)
fa5c346c5a doc: Add comment to cs_main and mempool::cs (MarcoFalke)
fafe941bdd test: Add missing validation locks (MarcoFalke)
fac4558462 sync: Add RecursiveMutex type alias (MarcoFalke)

Pull request description:

  Both the chain state and the transaction pool are validation specific, but access to them is protected by two locks. The two locks have the following semantics:

  * Writing to the chain state or adding transactions to the transaction pool -> Take both `cs_main` and `mempool::cs`
  * Reading either or removing transactions from the the transaction pool -> Take only the appropriate lock

Tree-SHA512: 6f6e612ffc391904c6434a79a4f3f8de1b928bf0a3e3434b73561037b395e2b40a70a5a4bd8472dd230e9eacc8e5d5374c904a3c509910cf3971dd7ff59a626c
2019-01-15 13:42:05 -05:00
..
data Add deserialize + CheckBlock benchmarks, and a full block hex 2016-11-09 11:27:59 -08:00
.gitignore Ignore bench_bitcoin binary. 2015-10-06 17:46:12 +02:00
base58.cpp tests: Explicitly ignore the return value of DecodeBase58(...) 2018-11-05 16:52:59 +01:00
bech32.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
bench.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
bench.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
bench_bitcoin.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
block_assemble.cpp Merge #13743: refactor: Replace boost::bind with std::bind 2018-12-29 14:14:26 +01:00
ccoins_caching.cpp Removed implicit CTransaction conversion from benchmaks 2018-12-11 19:43:35 -08:00
checkblock.cpp Don't access out of bounds array entry array[sizeof(array)] 2018-10-05 16:48:16 +09:00
checkqueue.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
coin_selection.cpp bench: Destroy wallet txs instead of leaking their memory 2018-11-27 16:52:56 -05:00
crypto_hash.cpp Extract CSipHasher to it's own file in crypto/ directory. 2018-11-05 09:25:15 -08:00
duplicate_inputs.cpp Add Benchmark to test input de-duplication worst case 2018-11-25 10:53:20 +09:00
examples.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
gcs_filter.cpp blockfilter: Refactor GCS params into struct. 2018-11-06 09:12:54 -08:00
lockedpool.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
mempool_eviction.cpp test: Add missing validation locks 2018-12-17 14:27:29 -05:00
merkle_root.cpp Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
prevector.cpp Drop defunct IS_TRIVIALLY_CONSTRUCTIBLE handling from prevector.h 2018-11-14 12:19:04 -05:00
rollingbloom.cpp Merge #13767: Remove redundant assignments (dead stores) 2018-08-27 13:39:46 -04:00
verify_script.cpp Merge #13666: Always create signatures with Low R values 2018-08-13 12:07:20 +02:00