-
Notifications
You must be signed in to change notification settings - Fork 1
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
Performance Profiling #97
Comments
If using flamegraph, avoid resolving inline functions, it calls the addr2line process for every sample, which takes hours on large code bases like OpenEthereum. This is a performance issue in "perf" itself, and is fixed in version 5.16. Ubuntu up to version 22.04 installs 5.15 still, meaning this type of analysis is not available to us at this point. Alternatives would be of course to get 5.16 compiled and working with Ubuntu 22.04, but that should be attempted only in case we absolutely need this type of analysis. The issue is tracked on GitHub: |
The easiest way to get performance analysis is to use the "flamegraph" cargo plugin as described in the Rust Performance Book: https://nnethercote.github.io/perf-book/profiling.html Use it with the -no-inline option until we have a "perf" version >= 5.16 available. |
There is a “flamegraph” plugin for cargo, install it with:
To attach it to a running process (using “--root” option for elevated sampling rights):
Note: |
Do not forget to use:
It greatly improves performance on the tested machines so far. |
great, thanks |
We need profiling data of a running process as part of the validator set.
The text was updated successfully, but these errors were encountered: