nimbus-eth1/nimbus
Jacek Sieka d39c589ec3
lru cache updates (#2590)
* replace rocksdb row cache with larger rdb lru caches - these serve the
same purpose but are more efficient because they skips serialization,
locking and rocksdb layering
* don't append fresh items to cache - this has the effect of evicting
the existing items and replacing them with low-value entries that might
never be read - during write-heavy periods of processing, the
newly-added entries were evicted during the store loop
* allow tuning rdb lru size at runtime
* add (hidden) option to print lru stats at exit (replacing the
compile-time flag)

pre:
```
INF 2024-09-03 15:07:01.136+02:00 Imported blocks
blockNumber=20012001 blocks=12000 importedSlot=9216851 txs=1837042
mgas=181911.265 bps=11.675 tps=1870.397 mgps=176.819 avgBps=10.288
avgTps=1574.889 avgMGps=155.952 elapsed=19m26s458ms
```

post:
```
INF 2024-09-03 13:54:26.730+02:00 Imported blocks
blockNumber=20012001 blocks=12000 importedSlot=9216851 txs=1837042
mgas=181911.265 bps=11.637 tps=1864.384 mgps=176.250 avgBps=11.202
avgTps=1714.920 avgMGps=169.818 elapsed=17m51s211ms
```

9%:ish import perf improvement on similar mem usage :)
2024-09-05 11:18:32 +02:00
..
beacon Wiring ForkedChainRef to other components (#2423) 2024-09-04 09:54:54 +00:00
common Wiring ForkedChainRef to other components (#2423) 2024-09-04 09:54:54 +00:00
core Wiring ForkedChainRef to other components (#2423) 2024-09-04 09:54:54 +00:00
db lru cache updates (#2590) 2024-09-05 11:18:32 +02:00
evm create per-fork opcode dispatcher (#2579) 2024-08-28 10:20:36 +02:00
graphql Use simpler schema when writing transactions, receipts, and withdrawals (#2420) 2024-06-29 12:43:17 +07:00
rpc Wiring ForkedChainRef to other components (#2423) 2024-09-04 09:54:54 +00:00
stateless Cleanup stateless and block witness code. (#2295) 2024-06-08 15:05:00 +07:00
sync Wiring ForkedChainRef to other components (#2423) 2024-09-04 09:54:54 +00:00
transaction avoid exceptions, tx copy (#2569) 2024-08-19 09:42:07 +02:00
utils avoid digest when loading era block (#2572) 2024-08-20 15:23:14 +02:00
common.nim implement better hardfork management 2022-12-02 13:51:42 +07:00
compile_info.nim Small updates and fixes for rlpx suite (#2571) 2024-08-19 14:00:10 +00:00
config.nim lru cache updates (#2590) 2024-09-05 11:18:32 +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 lru cache updates (#2590) 2024-09-05 11:18:32 +02:00
nimbus_desc.nim Wiring ForkedChainRef to other components (#2423) 2024-09-04 09:54:54 +00:00
nimbus_import.nim Wiring ForkedChainRef to other components (#2423) 2024-09-04 09:54:54 +00:00
rpc.nim Wiring ForkedChainRef to other components (#2423) 2024-09-04 09:54:54 +00:00
tracer.nim Don't write slot hashes on import (#2564) 2024-08-16 08:22:51 +02:00
transaction.nim avoid exceptions, tx copy (#2569) 2024-08-19 09:42:07 +02:00
version.nim Add startup banner (#2354) 2024-06-14 10:08:44 +02:00