nimbus-eth1/nimbus/db/aristo/aristo_init
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
..
rocks_db Add branch cache (#2923) 2024-12-11 11:53:26 +01:00
init_common.nim Triggered write event for kvt (#2351) 2024-06-13 18:15:11 +00:00
memory_db.nim Pre-allocate vids for branches (#2882) 2024-12-04 11:42:04 +01:00
memory_only.nim Added portal proof nodes generation functionality (#2539) 2024-08-06 11:29:26 +00:00
persistent.nim Db folder sources and related remove compiler warnings (#2673) 2024-10-01 21:03:10 +00:00
rocks_db.nim Pre-allocate vids for branches (#2882) 2024-12-04 11:42:04 +01:00