Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restacktrie with pruning #13

Merged
merged 3 commits into from
Mar 25, 2020
Merged

Conversation

gballet
Copy link

@gballet gballet commented Mar 25, 2020

This includes the changes that I made yesterday to keep memory usage low.

@gballet gballet requested a review from holiman as a code owner March 25, 2020 07:20
@gballet
Copy link
Author

gballet commented Mar 25, 2020

These are the benchmarking results btw:

ench Generation 
goos: linux
goarch: amd64
pkg: github.com/ethereum/go-ethereum/core/state/snapshot
BenchmarkTrieGeneration/4K/standard-8         	      73	  16872518 ns/op	 7563910 B/op	   97844 allocs/op
BenchmarkTrieGeneration/4K/pruning-8          	      48	  24518136 ns/op	 8001162 B/op	   94880 allocs/op
BenchmarkTrieGeneration/4K/stack-8            	      55	  20868011 ns/op	 7157821 B/op	  177513 allocs/op
BenchmarkTrieGeneration/10K/standard-8        	      30	  42971496 ns/op	20723174 B/op	  250570 allocs/op
BenchmarkTrieGeneration/10K/pruning-8         	      16	  71834673 ns/op	19991784 B/op	  237108 allocs/op
BenchmarkTrieGeneration/10K/stack-8           	      24	  52136639 ns/op	17890084 B/op	  443703 allocs/op
PASS

Allocs and execution times can still be optimized, they are not as good at the standard version but they already beat the standard pruning code.

@holiman holiman merged commit 62d322a into holiman:trie_gen Mar 25, 2020
holiman pushed a commit that referenced this pull request Nov 26, 2022
rebase eip-4844 branch with latest geth master
holiman pushed a commit that referenced this pull request Mar 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants