dash/src
Wladimir J. van der Laan 47162673c7 Use real number of cores for default -par, ignore virtual cores
To determine the default for `-par`, the number of script verification
threads, use [boost:🧵:physical_concurrency()](http://www.boost.org/doc/libs/1_58_0/doc/html/thread/thread_management.html#thread.thread_management.thread.physical_concurrency)
which counts only physical cores, not virtual cores.

Virtual cores are roughly a set of cached registers to avoid context
switches while threading, they cannot actually perform work, so spawning
a verification thread for them could even reduce efficiency and will put
undue load on the system.

Should fix issue #6358, as well as some other reported system overload
issues, especially on Intel processors.

The function was only introduced in boost 1.56, so provide a utility
function `GetNumCores` to fall back for older Boost versions.
2015-07-01 18:01:16 +02:00
..
compat Add an alternate location of endian.h header 2015-06-07 04:54:20 +03:00
config
consensus Merge pull request #6124 2015-06-26 14:42:45 +02:00
crypto build: Endian compatibility 2015-03-06 15:54:53 +01:00
leveldb Merge src/leveldb changes for LevelDB 1.18. 2014-10-16 12:23:50 -07:00
obj
obj-test
policy Create new BlockPolicyEstimator for fee estimates 2015-05-13 10:36:24 -04:00
primitives Consensus: Create consensus/consensus.h with some constants 2015-04-20 21:27:51 +02:00
qt Use real number of cores for default -par, ignore virtual cores 2015-07-01 18:01:16 +02:00
script Merge pull request #6124 2015-06-26 14:42:45 +02:00
secp256k1 Update libsecp256k1 2015-04-22 14:03:10 -07:00
support Remove assertion from ~LockedPageManager 2015-05-15 11:44:58 +02:00
test Merge pull request #6124 2015-06-26 14:42:45 +02:00
univalue UniValue: don't escape solidus, keep espacing of reverse solidus 2015-06-25 08:10:08 +02:00
wallet Merge pull request #6088 2015-06-23 12:40:00 +02:00
.clang-format
addrman.cpp remove using namespace std from addrman.cpp 2015-06-15 14:45:19 +02:00
addrman.h make CAddrMan::size() return the correct type of size_t 2015-06-15 14:43:31 +02:00
alert.cpp use const references where appropriate 2015-06-04 19:34:18 +02:00
alert.h use const references where appropriate 2015-06-04 19:34:18 +02:00
amount.cpp Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
amount.h Improve comment explaining purpose of MAX_MONEY constant 2015-05-27 21:02:04 -04:00
arith_uint256.cpp src/arith_256.cpp: bigendian compatibility 2015-03-06 17:21:59 +01:00
arith_uint256.h ensure consistent header comment naming conventions 2015-04-20 13:29:22 +02:00
base58.cpp openssl: abstract out OPENSSL_cleanse 2015-02-15 11:34:02 -05:00
base58.h Non-grammatical language improvements 2015-05-02 15:23:59 +00:00
bitcoin-cli-res.rc Update Windows resource files (and add one for bitcoin-tx) 2015-05-22 02:56:55 +00:00
bitcoin-cli.cpp Remove JSON Spirit wrapper, remove JSON Spirit leftovers 2015-06-04 09:16:21 +02:00
bitcoin-tx-res.rc Update Windows resource files (and add one for bitcoin-tx) 2015-05-22 02:56:55 +00:00
bitcoin-tx.cpp UniValue: prefer .size() to .count(), to harmonize w/ existing tree 2015-06-04 09:16:05 +02:00
bitcoind-res.rc Update Windows resource files (and add one for bitcoin-tx) 2015-05-22 02:56:55 +00:00
bitcoind.cpp Create a scheduler thread for lightweight tasks 2015-05-14 12:50:41 -04:00
bloom.cpp Rolling bloom filter class 2015-04-30 07:58:29 -07:00
bloom.h Merge pull request #6085 2015-05-04 08:01:58 +02:00
chain.cpp Reduce checkpoints' effect on consensus. 2015-05-13 12:52:57 -07:00
chain.h Non-grammatical language improvements 2015-05-02 15:23:59 +00:00
chainparams.cpp Explicitly set tx.nVersion for the genesis block and mining tests 2015-06-02 16:39:34 -07:00
chainparams.h Chainparams: Refactor: Decouple main::GetBlockValue() from Params() [renamed GetBlockSubsidy] 2015-05-15 16:12:30 +02:00
chainparamsbase.cpp test: Remove UNITTEST params 2015-03-09 16:06:14 +01:00
chainparamsbase.h Bugfix: Grammar fixes 2015-05-01 11:21:27 +00:00
chainparamsseeds.h Hardcoded seeds update June 2015 2015-06-25 08:05:52 +02:00
checkpoints.cpp Reduce checkpoints' effect on consensus. 2015-05-13 12:52:57 -07:00
checkpoints.h Reduce checkpoints' effect on consensus. 2015-05-13 12:52:57 -07:00
checkqueue.h Bugfix: Grammar fixes 2015-05-01 11:21:27 +00:00
clientversion.cpp Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
clientversion.h bump version in clientversion.h 2015-06-02 17:11:05 +02:00
coincontrol.h Small tweaks to CCoinControl for fundrawtransaction 2015-06-11 01:03:23 -07:00
coins.cpp Keep track of memory usage in CCoinsViewCache 2015-05-11 17:56:48 -07:00
coins.h Keep track of memory usage in CCoinsViewCache 2015-05-11 17:56:48 -07:00
compat.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
compressor.cpp Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
compressor.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
core_io.h use const references where appropriate 2015-06-04 19:34:18 +02:00
core_read.cpp use const references where appropriate 2015-06-04 19:34:18 +02:00
core_write.cpp Replace direct use of 0 with SetNull and IsNull 2015-01-05 15:45:34 +01:00
eccryptoverify.cpp Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
eccryptoverify.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
ecwrapper.cpp Improve robustness of DER recoding code 2015-01-12 08:59:03 +01:00
ecwrapper.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
hash.cpp chaincodes: abstract away more chaincode behavior 2015-05-06 17:22:46 +02:00
hash.h chaincodes: abstract away more chaincode behavior 2015-05-06 17:22:46 +02:00
init.cpp Use real number of cores for default -par, ignore virtual cores 2015-07-01 18:01:16 +02:00
init.h Create a scheduler thread for lightweight tasks 2015-05-14 12:50:41 -04:00
key.cpp Merge pull request #6034 2015-05-06 18:37:49 +02:00
key.h Merge pull request #6034 2015-05-06 18:37:49 +02:00
keystore.cpp wallet: move crypter to wallet 2015-03-22 15:18:55 -04:00
keystore.h c++11: don't forward-declare types used in maps 2015-02-03 23:30:59 -05:00
leveldbwrapper.cpp Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
leveldbwrapper.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
limitedmap.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
main.cpp Merge pull request #6299 2015-06-26 15:40:59 +02:00
main.h Merge pull request #6274 2015-06-15 09:57:33 +02:00
Makefile.am Remove JSON Spirit wrapper, remove JSON Spirit leftovers 2015-06-04 09:16:21 +02:00
Makefile.qt.include [QT] use alert icon with tooltip insted of "(out of sync)" text 2015-05-12 20:46:12 +02:00
Makefile.qttest.include build: make a distinction between static app ldflags and static lib ldflags 2014-11-19 22:08:27 -05:00
Makefile.test.include Merge pull request #5964 2015-05-14 14:27:07 -04:00
memusage.h Add memusage.h 2015-05-11 17:56:48 -07:00
merkleblock.cpp Bugfix: Grammar fixes 2015-05-01 11:21:27 +00:00
merkleblock.h Bugfix: Grammar fixes 2015-05-01 11:21:27 +00:00
miner.cpp Use real number of cores for default -par, ignore virtual cores 2015-07-01 18:01:16 +02:00
miner.h miner.h: fix clang warning because of class/struct mix 2015-04-16 10:32:47 +02:00
mruset.h Use ring buffer of set iterators instead of deque of copies in mruset 2015-04-30 08:16:30 -07:00
net.cpp fix missing lock in CNode::ClearBanned() 2015-06-19 13:31:33 +02:00
net.h setban: rewrite to UniValue, allow absolute bantime 2015-06-17 21:40:55 +02:00
netbase.cpp fix CSubNet comparison operator 2015-06-17 21:40:55 +02:00
netbase.h [RPC] extend setban to allow subnets 2015-06-17 21:40:55 +02:00
noui.cpp Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
noui.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
pow.cpp Use equivalent PoW for non-main-chain requests 2015-04-22 03:53:25 -07:00
pow.h Use equivalent PoW for non-main-chain requests 2015-04-22 03:53:25 -07:00
protocol.cpp nLastTry is only used for addrman entries 2015-04-19 11:10:23 -07:00
protocol.h nLastTry is only used for addrman entries 2015-04-19 11:10:23 -07:00
pubkey.cpp chaincodes: abstract away more chaincode behavior 2015-05-06 17:22:46 +02:00
pubkey.h chaincodes: abstract away more chaincode behavior 2015-05-06 17:22:46 +02:00
random.cpp WIN32 Seed Cleanup: Move nLastPerfmon behind win32 ifdef. 2015-02-25 18:37:06 -05:00
random.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
rest.cpp Remove JSON Spirit wrapper, remove JSON Spirit leftovers 2015-06-04 09:16:21 +02:00
rpcblockchain.cpp rpc: make gettxoutsettinfo run lock-free 2015-06-16 13:50:38 +02:00
rpcclient.cpp Merge pull request #6088 2015-06-23 12:40:00 +02:00
rpcclient.h Simplify RPCclient, adapt json_parse_error test 2015-06-04 13:18:35 +02:00
rpcmining.cpp Merge pull request #6206 2015-06-05 07:11:44 +02:00
rpcmisc.cpp Testing infrastructure: mocktime fixes 2015-06-24 15:18:55 -04:00
rpcnet.cpp fix lock issue for QT node diconnect and RPC disconnectnode 2015-06-19 16:32:22 +02:00
rpcprotocol.cpp build: Remove -DBOOST_SPIRIT_THREADSAFE 2015-06-21 14:09:34 +02:00
rpcprotocol.h setban: add RPCErrorCode 2015-06-17 21:40:56 +02:00
rpcrawtransaction.cpp Remove JSON Spirit wrapper, remove JSON Spirit leftovers 2015-06-04 09:16:21 +02:00
rpcserver.cpp Merge pull request #6088 2015-06-23 12:40:00 +02:00
rpcserver.h Merge pull request #6088 2015-06-23 12:40:00 +02:00
scheduler.cpp Fix scheduler build with some boost versions. 2015-06-15 16:29:57 -04:00
scheduler.h More robust CScheduler unit test 2015-05-16 17:59:23 -04:00
serialize.h fix header include groups 2015-05-14 01:02:01 -04:00
streams.h allocators: split allocators and pagelocker 2015-03-20 12:23:44 +01:00
sync.cpp Remove broken+useless lock/unlock log prints 2015-04-24 02:28:47 -07:00
sync.h [Trivial] format sync.h 2015-04-20 13:29:21 +02:00
threadsafety.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
timedata.cpp Merge pull request #5476 2015-01-02 17:54:21 +01:00
timedata.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
tinyformat.h Move *Version() functions to version.h/cpp 2014-08-26 13:25:21 +02:00
txdb.cpp rpc: make gettxoutsettinfo run lock-free 2015-06-16 13:50:38 +02:00
txdb.h Cache tweak and logging improvements 2015-05-11 17:58:14 -07:00
txmempool.cpp Consensus: MOVEONLY: Move CValidationState from main consensus/validation 2015-05-15 16:05:28 +02:00
txmempool.h Create new BlockPolicyEstimator for fee estimates 2015-05-13 10:36:24 -04:00
ui_interface.h Separate CTranslationInterface from CClientUIInterface 2015-04-16 19:58:48 +02:00
uint256.cpp BUGFIX: Stack around the variable 'rv' was corrupted 2015-03-12 22:17:22 +06:00
uint256.h uint256->arith_uint256 blob256->uint256 2015-01-05 15:45:35 +01:00
undo.h MOVEONLY: CBlockUndo from main.h to undo.h 2014-12-27 16:01:31 +01:00
util.cpp Use real number of cores for default -par, ignore virtual cores 2015-07-01 18:01:16 +02:00
util.h Use real number of cores for default -par, ignore virtual cores 2015-07-01 18:01:16 +02:00
utilmoneystr.cpp Get rid of fPlus argument to FormatMoney 2015-06-06 09:30:41 +02:00
utilmoneystr.h Get rid of fPlus argument to FormatMoney 2015-06-06 09:30:41 +02:00
utilstrencodings.cpp use const references where appropriate 2015-06-04 19:34:18 +02:00
utilstrencodings.h use const references where appropriate 2015-06-04 19:34:18 +02:00
utiltime.cpp Trivial: useless cast (ptime)(I'm ptime) 2015-04-30 23:11:52 +03:00
utiltime.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00
validationinterface.cpp Remove unused code from wallet and validation interface 2015-05-18 17:11:06 +08:00
validationinterface.h Remove unused code from wallet and validation interface 2015-05-18 17:11:06 +08:00
version.h Added "Core" to copyright headers 2014-12-19 19:55:32 +01:00