erigon-pulse/cmd/erigon-cl/core/state
Victor Shyba 158fb2b606
Optimize memory buffer, simplify set32, use sha256-simd (#7060)
Hi,

I'm syncing Gnosis on a Celeron N5100 to get familiar with the codebase.
In the process I managed to optimize some things from profiling.
Since I'm not yet on the project Discord, I decided to open this PR as a
suggestion. This pass all tests here and gave me a nice boost for that
platform, although I didn't have time to benchmark it yet.

* reuse VM Memory objects with sync.Pool. It starts with 4k as `evmone`
[code
suggested](0897edb001/lib/evmone/execution_state.hpp (L49))
as a good value.
* set32 simplification: mostly cosmetic
* sha256-simd: Celeron has SHA instructions. We should probably do the
same for torrent later, but this already helped as it is very CPU bound
on such a low end processor. Maybe that helps ARM as well.
2023-03-14 07:17:04 +00:00
..
state_encoding Added SSZ support for Phase0 state. (#7065) 2023-03-09 17:34:49 +00:00
tests Added SSZ support for Phase0 state. (#7065) 2023-03-09 17:34:49 +00:00
accessors_test.go Added Epoch processing Ethereum consensus tests (#6878) 2023-02-15 16:53:28 +00:00
accessors.go Added hard fork transition support to Erigon-CL. (#7088) 2023-03-13 12:10:36 +00:00
getters.go Added phase0 support to Erigon-CL. (#7066) 2023-03-11 19:27:21 +00:00
mutators_test.go Added Capella specs support to Erigon-CL (#7051) 2023-03-07 21:57:18 +00:00
mutators.go Fixed sanity consensus tests for slots processing (#6949) 2023-02-24 21:07:32 +00:00
params.go Added beacon state capella support (#6673) 2023-01-23 14:26:57 +01:00
root_test.go optimized state roots cache for erigon-cl (#7020) 2023-03-04 16:28:20 +00:00
root.go Added SSZ support for Phase0 state. (#7065) 2023-03-09 17:34:49 +00:00
setters.go Added hard fork transition support to Erigon-CL. (#7088) 2023-03-13 12:10:36 +00:00
ssz_test.go Added phase0 support to Erigon-CL. (#7066) 2023-03-11 19:27:21 +00:00
ssz.go Added partial SSZ library (#7083) 2023-03-12 14:41:53 +00:00
state_bench_test.go Cleaned up and optimized proposer index retriaval. (#6799) 2023-02-07 20:14:04 +01:00
state.go Optimize memory buffer, simplify set32, use sha256-simd (#7060) 2023-03-14 07:17:04 +00:00
test_util.go Added Capella specs support to Erigon-CL (#7051) 2023-03-07 21:57:18 +00:00
upgrade.go Added hard fork transition support to Erigon-CL. (#7088) 2023-03-13 12:10:36 +00:00