-
-
Notifications
You must be signed in to change notification settings - Fork 17
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
Only complie ARMv6 for Raspberry Pi boards #635
Comments
Jep that is all correct: The only supported ARMv6 boards are RPi 1 (all variants) and Zero, which all use the same SoC/CPU. Not sure if it will make much or any difference, at least hard-float is defined already with the target tuple, but it does not hurt. |
Just from my testing, it increases binary size slightly, so my guess is that it's using some more specialized and faster instructions only supported by that CPU. |
Larger binary means more RAM usage. However, I guess we should trust the compiler to do the best thing when knowing the exact CPU. |
Checking conditionals in RUSTFLAGS := if {{target}} == "arm-unknown-linux-musleabihf" { "-C target-cpu=arm1176jzf-s" } else { "" } Or in the workflow: env:
RUSTFLAGS: ${{ matrix.job.target == 'arm-unknown-linux-musleabihf' && '-C target-cpu=arm1176jzf-s' || '' }} But not sure whether this is passed through to |
@MichaIng, just wanted to ask your opinion on this.
Rust/LLVM has an option to compile for a specific target CPU. This lets it take better advantage of the unique features of that CPU, generally increasing performance. From my look at the survey page, the only ARMv6 boards currently used with DietPi are the RPi A, B, and 0 (and varieties of those). All those SBCs have an ARM1176JZF-S processor. Therefore, we could compile the ARMv6 version of dashboard for that CPU specifically to take advantage of it.
The text was updated successfully, but these errors were encountered: