diff options
| author | Kaz Wesley <[email protected]> | 2016-04-30 21:45:26 -0700 |
|---|---|---|
| committer | Kaz Wesley <[email protected]> | 2016-06-02 12:31:51 -0700 |
| commit | 9805f4af7ecb6becf8a146bd845fb131ffa625c9 (patch) | |
| tree | 4be823065e49b4bd5bbe50e19b7c1d7a1b4bf929 /src/Makefile.am | |
| parent | Merge #7959: fix race that could fail to persist a ban (diff) | |
| download | discoin-9805f4af7ecb6becf8a146bd845fb131ffa625c9.tar.xz discoin-9805f4af7ecb6becf8a146bd845fb131ffa625c9.zip | |
mapNextTx: use pointer as key, simplify value
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.
Diffstat (limited to 'src/Makefile.am')
| -rw-r--r-- | src/Makefile.am | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 3c056386f..ad61e4f10 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -94,6 +94,7 @@ BITCOIN_CORE_H = \ core_memusage.h \ httprpc.h \ httpserver.h \ + indirectmap.h \ init.h \ key.h \ keystore.h \ |