aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-05-31Merge #8110: [Doc] Add benchmarking notesWladimir J. van der Laan
1a8c4d5 [Doc] Add benchmarking notes (fanquake)
2016-05-31Merge #8115: Avoid integer division in the benchmark inner-most loop.Wladimir J. van der Laan
63ff57d Avoid integer division in the benchmark inner-most loop. (Gregory Maxwell)
2016-05-30Avoid integer division in the benchmark inner-most loop.Gregory Maxwell
Previously the benchmark code used an integer division (%) with a non-constant in the inner-loop. This is quite slow on many processors, especially ones like ARM that lack a hardware divide. Even on fairly recent x86_64 like haswell an integer division can take something like 100 cycles-- making it comparable to the runtime of siphash. This change avoids the division by using bitmasking instead. This was especially easy since the count was only increased by doubling. This change also restarts the timing when the execution time was very low this avoids mintimes of zero in cases where one execution ends up below the timer resolution. It also reduces the impact of the overhead on the final result. The formatting of the prints is changed to not use scientific notation make it more machine readable (in particular, gnuplot croaks on the non-fixedpoint, and it doesn't sort correctly). This also hoists out all the floating point divisions out of the semi-hot path because it was easy to do so. It might be prudent to break out the critical test into a macro just to guarantee that it gets inlined. It might also make sense to just save out the intermediate counts and times and get the floating point completely out of the timing loop (because e.g. on hardware without a fast hardware FPU like some ARM it will still be slow enough to distort the results). I haven't done either of these in this commit.
2016-05-30Merge #7891: Always require OS randomness when generating secret keysPieter Wuille
628cf14 Don't use assert for catching randomness failures (Pieter Wuille) fa2637a Always require OS randomness when generating secret keys (Pieter Wuille)
2016-05-30Merge #8107: bench: Added base58 encoding/decoding benchmarksWladimir J. van der Laan
5fac1f3 bench: Added base58 encoding/decoding benchmarks (Yuri Zhykin)
2016-05-30Merge #7896: fix typo in help textWladimir J. van der Laan
fc95f6e fix typo in help text (Chris Moore)
2016-05-30Merge #8111: Benchmark SipHashWladimir J. van der Laan
619d569 Benchmark SipHash (Pieter Wuille)
2016-05-29Merge #8104: Tests: add timeout to sync_blocks() and sync_mempools()MarcoFalke
e871f83 Tests: add timeout to sync_blocks() and sync_mempools() (Suhas Daftuar)
2016-05-29[Doc] Add benchmarking notesfanquake
2016-05-29Don't use assert for catching randomness failuresPieter Wuille
2016-05-29Always require OS randomness when generating secret keysPieter Wuille
2016-05-28Benchmark SipHashPieter Wuille
2016-05-27Merge #8108: Trivial: Remove unused local variable shadowing upper localMarcoFalke
13c4558 Remove unused local variable shadowing upper local (Pavel Janík)
2016-05-27Merge #8098: [qa] test_framework: Append portseed to tmpdirMarcoFalke
fa57b0c [qa] test_framework: Append portseed to tmpdir (MarcoFalke)
2016-05-27Remove unused local variable shadowing upper localPavel Janík
2016-05-27bench: Added base58 encoding/decoding benchmarksYuri Zhykin
2016-05-26Tests: add timeout to sync_blocks() and sync_mempools()Suhas Daftuar
Previously these functions would infinitely loop if sync failed; now they have a default timeout of 60 seconds, after which an AssertionError is raised. sync_blocks() has also been improved and now compares the tip hash of each node, rather than just using block count.
2016-05-26Merge #8102: Bugfix: use global ::fRelayTxes instead of CNode in version sendPieter Wuille
52b02ec Use global ::fRelayTxes instead of CNode one (Pieter Wuille)
2016-05-26Use global ::fRelayTxes instead of CNode onePieter Wuille
2016-05-26Merge #8049: Expose information on whether transaction relay is enabled in ↵Pieter Wuille
`getnetwork` 1ab1dc3 rpc: Add `relaytxes` flag to `getnetworkinfo` (Wladimir J. van der Laan) 581ddff net: Add fRelayTxes flag (Wladimir J. van der Laan)
2016-05-26Merge #8015: CCoinsViewErrorCatcher raison-d-etreWladimir J. van der Laan
a4d5855 CCoinsViewErrorCatcher raison-d-etre (21E14)
2016-05-26Merge #8034: [doc][trivial] Add basic git squash workflow [skip ci]Wladimir J. van der Laan
90963e5 [doc] Add basic git squash example (fanquake)
2016-05-26Merge #8073: qt: askpassphrasedialog: Clear pass fields on acceptWladimir J. van der Laan
02ce2a3 qt: askpassphrasedialog: Clear pass fields on accept (Pavel Vasin)
2016-05-25Merge #7795: UpdateTip: log only one line at most per blockPieter Wuille
f20d42e UpdateTip: log only one line at most per block (Wladimir J. van der Laan)
2016-05-25Merge #8061: [Wallet] Improve Wallet encapsulationPieter Wuille
380498a Move BackupWallet to CWallet::BackupWallet (Patrick Strateman) ecb9741 Move GetAccountBalance from rpcwallet.cpp into CWallet::GetAccountBalance (Patrick Strateman)
2016-05-25Merge #8076: VerifyDB: don't check blocks that have been prunedPieter Wuille
bd477f4 VerifyDB: don't check blocks that have been pruned (Suhas Daftuar)
2016-05-25Merge #8063: Acquire lock to check for genesis block.Pieter Wuille
46b0c3b Acquire lock to check for genesis block. (Patrick Strateman)
2016-05-25Merge #8092: Correct small typo in extract_strings_qt.pyPieter Wuille
678513c Correct small typo in extract_strings_qt.py (Mitchell Cash)
2016-05-25Merge #8095: Test framework: only cleanup on successful test runsMarcoFalke
1ad9339 Test framework: only cleanup on successful test runs (Suhas Daftuar)
2016-05-25Test framework: only cleanup on successful test runsSuhas Daftuar
2016-05-24Correct small typo in extract_strings_qt.pyMitchell Cash
2016-05-23Merge #8014: Qt: Sort transactions by dateJonas Schnelli
2d5603c Qt: Sort transactions by date (Tyler Hardin)
2016-05-23Merge #8042: [Qt] Don't allow to open the debug window during splashscreen & ↵Jonas Schnelli
verification state 276ce84 [Qt] Disable some menu items during splashscreen/verification state (Jonas Schnelli)
2016-05-22VerifyDB: don't check blocks that have been prunedSuhas Daftuar
2016-05-20Merge #8047: [qa] test_framework: Set wait-timeout for bitcoind procsMarcoFalke
fab5233 [qa] test_framework: Set wait-timeout for bitcoind procs (MarcoFalke)
2016-05-20Merge #8056: [qa] Remove hardcoded "4 nodes" from test_frameworkMarcoFalke
fad68f7 [qa] Reduce node count for some tests (MarcoFalke) fac9349 [qa] Remove hardcoded "4 nodes" from test_framework (MarcoFalke)
2016-05-20Merge #8072: travis: 'make check' in parallel and verboseMarcoFalke
401ae65 travis: 'make check' in parallel and verbose (Cory Fields)
2016-05-20[qa] test_framework: Append portseed to tmpdirMarcoFalke
This makes it possible to specify a tmpdir while running tests in parallel
2016-05-19qt: askpassphrasedialog: Clear pass fields on acceptPavel Vasin
This is usability improvement in a case if user gets re-asked passphrase. (e.g. made a typo)
2016-05-19travis: 'make check' in parallel and verboseCory Fields
- 'make check' in parallel, since the log will take care of clean output - 'make check' verbose, so that test failure causes aren't hidden
2016-05-19Merge #8070: Remove non-determinism which is breaking net_tests #8069Wladimir J. van der Laan
2a8b358 Fix typo adddrman to addrman as requested in #8070 (Ethan Heilman) f4119c6 Remove non-determinism which is breaking net_tests #8069 (EthanHeilman)
2016-05-19Merge #8033: Fix Socks5() connect failures to be less noisy and less ↵Wladimir J. van der Laan
unnecessarily scary bf9266e Use Socks5ErrorString() to decode error responses from socks proxy. (Warren Togami) 94fd1d8 Make Socks5() InterruptibleRecv() timeout/failures informative. (Warren Togami) 0d9af79 SOCKS5 connecting and connected messages with -debug=net. (Warren Togami) 00678bd Make failures to connect via Socks5() more informative and less unnecessarily scary. (Warren Togami)
2016-05-19Use Socks5ErrorString() to decode error responses from socks proxy.Warren Togami
2016-05-18Fix typo adddrman to addrman as requested in #8070Ethan Heilman
2016-05-18Remove non-determinism which is breaking net_tests #8069EthanHeilman
2016-05-18Merge #7917: Optimize reindexWladimir J. van der Laan
b4d24e1 Report reindexing progress in GUI (Pieter Wuille) d3d7547 Add -reindex-chainstate that does not rebuild block index (Pieter Wuille) fb8fad1 Optimize ActivateBestChain for long chains (Pieter Wuille) 316623f Switch reindexing to AcceptBlock in-loop and ActivateBestChain afterwards (Pieter Wuille) d253ec4 Make ProcessNewBlock dbp const and update comment (Pieter Wuille)
2016-05-18Merge #8054: net: Avoid duplicate getheaders requests.Wladimir J. van der Laan
f93c2a1 net: Avoid duplicate getheaders requests. (Daniel Kraft)
2016-05-18Merge #8048: doc: Remove outdated qt4 install information from README.mdWladimir J. van der Laan
6075bc4 doc: 32 and 64 bit packages are seperate (Wladimir J. van der Laan) e5764e6 doc: Remove outdated qt4 install information from README.md (Wladimir J. van der Laan)
2016-05-18Merge #7906: net: prerequisites for p2p encapsulation changesWladimir J. van der Laan
5d5e7a0 net: No need to export ConnectNode (Cory Fields) e9ed620 net: No need to export DumpBanlist (Cory Fields) 8b8f877 net: make Ban/Unban/ClearBan functionality consistent (Cory Fields) cca221f net: Drop CNodeRef for AttemptToEvictConnection (Cory Fields) 563f375 net: use the exposed GetNodeSignals() rather than g_signals directly (Cory Fields) 9faa490 net: remove unused set (Cory Fields) 52cbce2 net: don't import std namespace (Cory Fields)
2016-05-18Merge #7932: CAddrMan::Deserialize handle corrupt serializations better.Wladimir J. van der Laan
fb26bf0 CAddrMan::Deserialize handle corrupt serializations better. (Patrick Strateman)