nimbus-eth1/nimbus
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
..
beacon Core db remove legacy phrases (#2468) 2024-07-10 12:19:35 +00:00
common Core db remove legacy phrases (#2468) 2024-07-10 12:19:35 +00:00
core odds and ends (#2481) 2024-07-13 20:42:49 +02:00
db Turn payload into value type (#2483) 2024-07-14 12:02:05 +02:00
evm odds and ends (#2481) 2024-07-13 20:42:49 +02:00
graphql Use simpler schema when writing transactions, receipts, and withdrawals (#2420) 2024-06-29 12:43:17 +07:00
rpc Core db remove legacy phrases (#2468) 2024-07-10 12:19:35 +00:00
stateless Cleanup stateless and block witness code. (#2295) 2024-06-08 15:05:00 +07:00
sync Core db remove legacy phrases (#2468) 2024-07-10 12:19:35 +00:00
transaction odds and ends (#2481) 2024-07-13 20:42:49 +02:00
utils Shift era helpers to a different file (#2475) 2024-07-12 03:15:14 +00:00
TODO-TRACER.md Aristo uses pre classified tree types (#2385) 2024-06-18 11:14:02 +00:00
common.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
compile_info.nim Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
config.nim Era support for nimbus import (#2429) 2024-07-09 15:28:01 +02:00
constants.nim Convert GasInt to uint64, bump nim-eth and nimbus-eth2 (#2461) 2024-07-07 06:52:11 +00:00
errors.nim Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
launcher.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
makefile Snap sync fix trie interpolation fringe condition (#1457) 2023-02-01 18:56:06 +00:00
nim.cfg import: read from era files (#2254) 2024-05-31 09:13:56 +02:00
nimbus.nim metrics: enable during import (#2401) 2024-06-20 19:06:58 +02:00
nimbus_desc.nim rm full sync (#2324) 2024-06-08 07:41:44 +07:00
nimbus_import.nim Shift era helpers to a different file (#2475) 2024-07-12 03:15:14 +00:00
no-tracer.nim Core db remove legacy phrases (#2468) 2024-07-10 12:19:35 +00:00
rpc.nim Aristo uses pre classified tree types (#2385) 2024-06-18 11:14:02 +00:00
transaction.nim Convert GasInt to uint64, bump nim-eth and nimbus-eth2 (#2461) 2024-07-07 06:52:11 +00:00
version.nim Add startup banner (#2354) 2024-06-14 10:08:44 +02:00