aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-06-06Optimization: use usec in expiration and reuse nNowPieter Wuille
2016-06-06Optimization: don't check the mempool at all if no mempool req everPieter Wuille
2016-06-06Optimize the relay map to use shared_ptr'sPieter Wuille
* Switch mapRelay to use shared_ptr<CTransaction> * Switch the relay code to copy mempool shared_ptr's, rather than copying the transaction itself. * Change vRelayExpiration to store mapRelay iterators rather than hashes (smaller and faster).
2016-06-04IsInitialBlockDownload: usually avoid lockingKaz Wesley
Optimistically test the latch bool before taking the lock. For all IsInitialBlockDownload calls after the first to return false, this avoids the need to lock cs_main.
2016-06-05Switch CTransaction storage in mempool to std::shared_ptrPieter Wuille
2016-06-05Add support for unique_ptr and shared_ptr to memusagePieter Wuille
2016-06-04Merge #8143: comment nit: miners don't voteJonas Schnelli
e39dc69 comment nit: miners don't vote (instagibbs)
2016-06-03comment nit: miners don't voteinstagibbs
2016-06-03Merge #7967: [RPC] add feerate option to fundrawtransactionWladimir J. van der Laan
04eaa90 Add more clear interface for CoinControl.h regarding individual feerate (Jonas Schnelli) 3b35e48 [RPC] add feerate option to fundrawtransaction (Jonas Schnelli)
2016-06-03Merge #7942: locking for Misbehave() and other cs_main locking fixesWladimir J. van der Laan
719de56 lock cs_main for chainActive (Kaz Wesley) efb54ba lock cs_main for State/Misbehaving (Kaz Wesley)
2016-06-03Merge #8139: Fix interrupted HTTP RPC connection workaround for Python 3.5+MarcoFalke
f45f51e Fix interrupted HTTP RPC connection workaround for Python 3.5+ (Pieter Wuille)
2016-06-03Merge #7997: replace mapNextTx with slimmer setSpendsPieter Wuille
9805f4a mapNextTx: use pointer as key, simplify value (Kaz Wesley)
2016-06-03Merge #7825: Prevent multiple calls to ExtractDestinationPieter Wuille
0bf6f30 Prevent multiple calls to ExtractDestination (Pedro Branco)
2016-06-02mapNextTx: use pointer as key, simplify valueKaz Wesley
Saves about 10% of application memory usage once the mempool warms up. Since the mempool is DynamicUsage-regulated, this will translate to a larger mempool in the same amount of space. Map value type: eliminate the vin index; no users of the map need to know which input of the transaction is spending the prevout. Map key type: replace the COutPoint with a pointer to a COutPoint. A COutPoint is 36 bytes, but each COutPoint is accessible from the same map entry's value. A trivial DereferencingComparator functor allows indirect map keys, but the resulting syntax is misleading: `map.find(&outpoint)`. Implement an indirectmap that acts as a wrapper to a map that uses a DereferencingComparator, supporting a syntax that accurately reflect the container's semantics: inserts and iterators use pointers since they store pointers and need them to remain constant and dereferenceable, but lookup functions take const references.
2016-06-02Fix interrupted HTTP RPC connection workaround for Python 3.5+Pieter Wuille
2016-06-02Merge #7992: Extend #7956 with one more test.Pieter Wuille
269a440 Add test for dbwrapper iterators with same-prefix keys. (Matt Corallo) 6030625 test: Add more thorough test for dbwrapper iterators (Wladimir J. van der Laan) 84c13e7 chain: Add assertion in case of missing records in index db (Wladimir J. van der Laan)
2016-06-02Improve CWallet API with new AccountMove function.Patrick Strateman
2016-06-02Merge #8129: Fix RPC console auto completerJonas Schnelli
16698cb PR #7772 is not enough to fix the issue with QCompleter, use event filter instead of `connect` (UdjinM6)
2016-06-02Merge #8029: [Doc] Simplify OS X build notesJonas Schnelli
2692e1b [Doc] Simplify OS X build notes (fanquake)
2016-06-02[depends] expat 2.1.1fanquake
2016-06-02[depends] miniupnpc 2.0fanquake
2016-06-02[depends] Latest config.guess & config.subfanquake
2016-06-02[depends] ZeroMQ 4.1.4fanquake
2016-06-02[depends] ccache 3.2.5fanquake
2016-06-02[depends] Freetype 2.6.3fanquake
Update FreeType, and change the download location to gnu.org. This is the other official download location listed on freetype.org
2016-06-01Merge #8077: Consensus: Decouple from chainparams.o and timedata.oPieter Wuille
ee9f4a5 Consensus: Decouple from chainparams.o and timedata.o (Jorge Timón)
2016-06-01Merge #8123: Use std::atomic for fRequestShutdown and fReopenDebugLogPieter Wuille
a886dbf Use std::atomic for fRequestShutdown and fReopenDebugLog (Pieter Wuille) 16cf85f Revert "Include signal.h for sig_atomic_t in WIN32" (Pieter Wuille)
2016-06-01Use std::atomic for fRequestShutdown and fReopenDebugLogPieter Wuille
2016-06-01Revert "Include signal.h for sig_atomic_t in WIN32"Pieter Wuille
This reverts commit 88f14b999cb70f6c556633f2889e698a05305158.
2016-06-01Merge #8112: Include signal.h for sig_atomic_t in WIN32Pieter Wuille
88f14b9 Include signal.h for sig_atomic_t in WIN32 (Pieter Wuille)
2016-06-01Merge #7960: Only use AddInventoryKnown for transactionsPieter Wuille
383fc10 Only use AddInventoryKnown for transactions (Suhas Daftuar)
2016-06-01Merge #7689: Replace OpenSSL AES with ctaes-based versionPieter Wuille
723779c build: Enumerate ctaes rather than globbing (Cory Fields) 34ed64a crypter: add tests for crypter (Cory Fields) 0a36b9a crypter: shuffle Makefile so that crypto can be used by the wallet (Cory Fields) 976f9ec crypter: add a BytesToKey clone to replace the use of openssl (Cory Fields) 9049cde crypter: hook up the new aes cbc classes (Cory Fields) fb96831 crypter: constify encrypt/decrypt (Cory Fields) 1c391a5 crypter: fix the stored initialization vector size (Cory Fields) daa3841 crypto: add aes cbc tests (Cory Fields) 27a212d crypto: add AES 128/256 CBC classes (Cory Fields) 6bec172 Add ctaes-based constant time AES implementation (Pieter Wuille) a545127 Squashed 'src/crypto/ctaes/' content from commit cd3c3ac (Pieter Wuille)
2016-06-01Merge #8082: Defer inserting into maprelay until just before relaying.Pieter Wuille
4d8993b Defer inserting into maprelay until just before relaying. (Gregory Maxwell)
2016-06-01Merge #8121: [Doc] Update implemented BIPs listPieter Wuille
e4f73c7 [Doc] Update implemented BIPs list (fanquake)
2016-05-31Defer inserting into maprelay until just before relaying.Gregory Maxwell
This reduces the rate of not founds by better matching the far end expectations, it also improves privacy by removing the ability to use getdata to probe for a node having a txn before it has been relayed.
2016-05-31Merge #8080: Do not use mempool for GETDATA for tx accepted after the last ↵Wladimir J. van der Laan
mempool req. 7e908c7 Do not use mempool for GETDATA for tx accepted after the last mempool req. (Gregory Maxwell)
2016-05-31Merge #8090: Adding P2SH(p2pkh) script test caseWladimir J. van der Laan
b682960 Adding P2SH(p2pkh) script test case (Chris Stewart)
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-31PR #7772 is not enough to fix the issue with QCompleter, use event filter ↵UdjinM6
instead of `connect`
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-30Adding P2SH(p2pkh) script test caseChris Stewart
Fixing formatting Adding test case into automatically generated test case set Clean up commits removing extra whitespace from eol Removing extra whitespace on macro line
2016-05-30[Doc] Update implemented BIPs listfanquake
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-30Reduce unnecessary hashing in signrawtransactionJonas Nick
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