-
Notifications
You must be signed in to change notification settings - Fork 164
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
perf: cache decoded instructions #944
Conversation
Benchmark Results for unmodified programs 🚀
|
Codecov Report
@@ Coverage Diff @@
## main #944 +/- ##
=======================================
Coverage 98.15% 98.15%
=======================================
Files 85 85
Lines 34534 34549 +15
=======================================
+ Hits 33897 33912 +15
Misses 637 637
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
Decoding instructions (including fetching from memory, converting them to `u64` and later on parsing them) takes up a significant portion of time spent executing the main loop. Caching them as they get decoded alleviates it, reducing runtime in proof mode benchmarks up to 9%.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice one!
I don't get why codecov fails in the |
Yes, it's annoying. It boils down to the code generated apparently not being covered. Maybe I sprinkled it in a few more places than needed. |
Decoding instructions (including fetching from memory, converting them to `u64` and later on parsing them) takes up a significant portion of time spent executing the main loop. Caching them as they get decoded alleviates it, reducing runtime in proof mode benchmarks up to 9%.
Checklist