[ML-DSA] Measure stack frame size on CI #680
Closed
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.
This PR contains a script for obtaining stack frame measurements in ML-DSA and checking they don't exceed a given limit.
It also introduces a new job on the ML-DSA CI for running the script and
From the script docs:
This script runs
cargo stack-sizes
to obtain stack frame sizes forfunctions in the crate. It
stack-sizes (installs a minimal Rust nightly toolchain and sets a
bogus
version
in Cargo.toml),The script will then print all stack frame sizes it collects in
increasing order and will exit normally if the
FRAME_SIZE_LIMIT
isnot exceeded by any of them. If the limit is exceeded the script
will error and print the name of the offending function.
Before exiting, the script will restore the previous state of the
crate and uninstall the stack-sizes tool.
Usage:
where
<example>
is an example program as you would run it withcargo run --example <example>
.