lbcwallet/chain
Wilmer Paulino d7d2f14d61
build+chain: reuse buffers when reading ZMQ messages from bitcoind
`bitcoind` notifies transactions once they're accepted into the mempool
and once they're confirmed in a block. Previously, reading a message
from ZMQ would allocate a buffer with the size of the message. This can
cause nodes to perform a large number of allocations within a small
amount periodically (3000 300B allocations every 10 mins on average),
which can cause a lot of GC pressure on lower resourced nodes. To remedy
this, we introduce two static buffers, one for blocks and another for
transactions, that will be reused for every message read. Each is
constrained by its maximum expected size.
2019-11-12 18:18:59 -08:00
..
bitcoind_client.go chain: notify block when not filtered for BitcoindClient 2019-09-09 17:10:38 +03:00
bitcoind_conn.go build+chain: reuse buffers when reading ZMQ messages from bitcoind 2019-11-12 18:18:59 -08:00
block_filterer.go chain: update block filterer to map outpoints to addrs 2018-07-16 19:47:17 -07:00
block_filterer_test.go chain: fix Fatalf format verb error 2019-05-11 13:05:17 -07:00
interface.go chain: add IsCurrent method to chain.Interface 2019-06-13 18:08:59 -07:00
log.go Use LICENSE file and short license headers. 2016-02-28 22:22:34 -05:00
neutrino.go build: pin against latest neutrino version 2019-09-05 18:31:03 -07:00
queue.go chain: add concurrent unbounded queue implementation 2018-07-26 16:38:54 -07:00
rpc.go chain: add IsCurrent method to chain.Interface 2019-06-13 18:08:59 -07:00