nimbus-eth1/nimbus/db/core_db/backend
Jacek Sieka f3a56002ca
Turn payload into value type (#2483)
The Vertex type unifies branches, extensions and leaves into a single
memory area where the larges member is the branch (128 bytes + overhead) -
the payloads we have are all smaller than 128 thus wrapping them in an
extra layer of `ref` is wasteful from a memory usage perspective.

Further, the ref:s must be visited during the M&S phase of garbage
collection - since we keep millions of these, many of them
short-lived, this takes up significant CPU time.

```
Function	CPU Time: Total	CPU Time: Self	Module	Function (Full)	Source File	Start Address
system::markStackAndRegisters	10.0%	4.922s	nimbus	system::markStackAndRegisters(var<system::GcHeap>).constprop.0	gc.nim	0x701230`
```
2024-07-14 12:02:05 +02:00
..
todo Turn payload into value type (#2483) 2024-07-14 12:02:05 +02:00
aristo_db.nim Separate constructor helpers for core db and ledger (#2480) 2024-07-12 19:32:31 +00:00
aristo_replicate.nim Core db remove legacy phrases (#2468) 2024-07-10 12:19:35 +00:00
aristo_rocksdb.nim Separate config for core db and ledger (#2479) 2024-07-12 13:12:25 +00:00