Skip to content

Add stm32f4-0.14.0 benchmark #1241

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

Merged
merged 2 commits into from
Mar 25, 2022
Merged

Add stm32f4-0.14.0 benchmark #1241

merged 2 commits into from
Mar 25, 2022

Conversation

Kobzol
Copy link
Contributor

@Kobzol Kobzol commented Mar 24, 2022

Time for compiling the whole crate did increase, but not by that much:

        stm32f4   stm32f4-0.14.0
check   13.13s     18.63s
debug   14.86s     19.37s
opt     14.13s     20.64s

What's quite interesting for this crate is that check takes almost as much time as debug/opt, so the main overhead is in rustc and not in LLVM here.

Instruction counts have increased, but seem reasonable (and much higher than for hello world):
image

(Don't open the Files changed tab. You have been warned. Better just check the second commit 😆 ).

Copy link
Contributor

@nnethercote nnethercote left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thank you. Please don't merge this until the current site breakage is resolved.

@Kobzol Kobzol merged commit 4525ccb into master Mar 25, 2022
@Kobzol Kobzol deleted the stm32f4-0.14.0 branch March 25, 2022 07:39
@rylev
Copy link
Member

rylev commented Mar 25, 2022

Running this particular benchmark took 10m20s making it the longest running benchmark we have (the second longest cargo-0.60.0 takes 6m21s). It seems like this cost might be worth it, but are we sure?

@nnethercote
Copy link
Contributor

nnethercote commented Mar 25, 2022

Good question. We run with "cargo_opts": "--features=stm32f405", does disabling that help at all?

@Kobzol
Copy link
Contributor Author

Kobzol commented Mar 25, 2022

The crate is basically empty if you don't use one of the features (actually it will not even build, build.rs will error out). At least one of the STM architectures has to be compiled.

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

Successfully merging this pull request may close these issues.

3 participants