d7d2f14d61
`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. |
||
---|---|---|
.. | ||
bitcoind_client.go | ||
bitcoind_conn.go | ||
block_filterer.go | ||
block_filterer_test.go | ||
interface.go | ||
log.go | ||
neutrino.go | ||
queue.go | ||
rpc.go |