nimbus-eth1/nimbus/db/aristo/aristo_init/rocks_db
Jacek Sieka 7b88bb3b30
Add branch cache (#2923)
Now that branches are small, we can add a branch cache that fits more
verticies in memory by only storing the branch portion (16 bytes) of the
VertexRef (136 bytes).

Where the original vertex cache hovers around a hit rate of ~60:ish,
this branch cache reaches >90% hit rate instead around block 20M which
gives a nice boost to processing.

A downside of this approach is that a new VertexRef must be allocated
for every cache hit instead of reusing an existing instance - this
causes some GC overhead that needs to be addressed.

Nice 15% improvement nonetheless, can't complain!

```
blocks: 19630784, baseline: 161h18m38s, contender: 136h23m23s
Time (total): -24h55m14s, -15.45%
```
2024-12-11 11:53:26 +01:00
..
rdb_desc.nim Add branch cache (#2923) 2024-12-11 11:53:26 +01:00
rdb_get.nim Add branch cache (#2923) 2024-12-11 11:53:26 +01:00
rdb_init.nim Add branch cache (#2923) 2024-12-11 11:53:26 +01:00
rdb_put.nim Add branch cache (#2923) 2024-12-11 11:53:26 +01:00
rdb_walk.nim Store keys together with node data (#2849) 2024-11-20 09:56:27 +01:00