Bitcoin full node and query server

Jun 19, 2024

View in context in the libbitcoin Slack #general mirror.

evoskuil20:26
The right section of the flame graph is the spent_prevout query, most of which is consumed by a search of the spend hash table for the 7 byte input point (composite key of 4 bytes for the tx pk and 3 for the input index). This is a much smaller key, but because the table correlates to inputs, it is much larger than the tx table and therefore results in a similar search cost. Spend conflicts are also 1.5 with the following real (observed) distribution:
spend: 0 frequency: 130555225
spend: 1 frequency: 860714907
spend: 2 frequency: 542083651
spend: 3 frequency: 167287129
spend: 4 frequency: 33528526
spend: 5 frequency: 4944542
spend: 6 frequency: 576384
spend: 7 frequency: 54768
spend: 8 frequency: 4321
spend: 9 frequency: 276
spend: 10 frequency: 18
spend: 11 frequency: 1