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

revme performance regression #160

Open
holiman opened this issue Jun 5, 2024 · 4 comments
Open

revme performance regression #160

holiman opened this issue Jun 5, 2024 · 4 comments

Comments

@holiman
Copy link
Owner

holiman commented Jun 5, 2024

For some reason, revm is super slow now, 10x slower than it used to be.

INFO [06-05|11:19:12.946] Stats gethbatch-0                        execSpeed=32.7ms  longest=440.665257ms count=935
INFO [06-05|11:19:12.946] Stats eelsbatch-0                        execSpeed=950.5ms longest=6.400992834s count=35
INFO [06-05|11:19:12.946] Stats nethbatch-0                        execSpeed=36.8ms  longest=2.215896613s count=815
INFO [06-05|11:19:12.946] Stats besubatch-0                        execSpeed=26.8ms  longest=2.438839096s count=909
INFO [06-05|11:19:12.946] Stats erigonbatch-0                      execSpeed=64.8ms  longest=3.793626718s count=402
INFO [06-05|11:19:12.946] Stats nimbus-0                           execSpeed=336.4ms longest=2.510137747s count=108
INFO [06-05|11:19:12.946] Stats evmone-0                           execSpeed=48.6ms  longest=1.495841309s count=872
INFO [06-05|11:19:12.946] Stats revm-0                             execSpeed=587.7ms longest=3.731686224s count=67

cc @rakita

@rakita
Copy link

rakita commented Jun 5, 2024

Did you build it in release? We are checking with valgrind for perf degredations: bluealloy/revm#1467 (comment)

@rakita
Copy link

rakita commented Jun 11, 2024

@holiman did you have time to test this?

@namiloh
Copy link
Contributor

namiloh commented Jun 11, 2024

This is how I build it: https://github.com/holiman/goevmlab/blob/master/docker/Dockerfile#L96

The regression might not be "evm gas per second", might just be an added few milliseconds during startup

@holiman
Copy link
Owner Author

holiman commented Jul 10, 2024

This is still happening, even after #164. Case in point, during 20hours of fuzzing revme executed 150K tests, neth, geth and besu did 1.5M each.

INFO [07-10|08:18:23.774] Executing                                tests=3,037,180 time=20h0m40.006s    test/s=42.2 "avg steps"=2362.3  globa
l=3,037,180
INFO [07-10|08:18:23.774] Stats gethbatch-0                        execSpeed=27.4ms  longest=13.62003604s    count=1,512,544
INFO [07-10|08:18:23.774] Stats nethbatch-0                        execSpeed=42.4ms  longest=15.049601233s   count=1,501,076
INFO [07-10|08:18:23.774] Stats besubatch-0                        execSpeed=36.3ms  longest=14.283025827s   count=1,580,720
INFO [07-10|08:18:23.774] Stats erigonbatch-0                      execSpeed=92.4ms  longest=16.435428931s   count=874,354                   
INFO [07-10|08:18:23.774] Stats nimbus-0                           execSpeed=144.2ms longest=1m40.614011541s count=454,912
INFO [07-10|08:18:23.774] Stats revm-0                             execSpeed=266.5ms longest=1m29.401637475s count=150,756

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

No branches or pull requests

3 participants