View in context in the libbitcoin Slack #general mirror.
point + ins. Later I'll rename the puts table, which is not just output associations, to outs and we'll have three association tables with consistent naming (also txs).
The change used a new tactic, where I keep the tables 1:1 and keep the indexes in sync. I had to add a new allocation method from the map to memory manager to memory map, but it was simple due to similar code. This allows the tables to be independent from a threading standpoint, as required by the whole store, but to also ensure that entries with the same array offset are paired across the tables. This saves a lot of space and preserves the value of splitting the tables - by not linking them, which would require a read of both.