Create perf-helpers subproject to help in running code profiling #93
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The goal of this PR is to streamline the process of getting obtaining a flamegraph to focus optimisation efforts (as described on #91 (comment))
The
cargo-flamegraph
crate allows to run a binary withperf
/dtrace
(depending on the platform) and producing a SVG file containing the flamegraph.In order to obtain it we need to have debug symbols in the release build (and the subproject takes care of that).
In order to make the tool easier to use I've ensured that
perf-helpers/src/main.rs
retrieves the schema and instance JSON representation at compile time, such that testing different combinations requires to modify the command to run instead of the file to compile.The way of using it is
The output file will be available on the directory from where you've run the script