intelhex: Increase optimisation level to O3. #1014
Merged
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.
Optimisation only applied to the
intelhex.c
file.In my tests with micro:bit V2, when build with GCC v10.3, this can improve flashing time (rsync a .hex file with 512Kbs of flash data) by around 0.7-0.8 seconds.
For additional info, building the entire project with
-O3
shaved another second-ish of flashing time, but that might be too much of a change/risk (it's likely it can also increase binary size, but I didn't really checked those numbers). I couldn't easily find another single file in the USB or vfs layer that significantly improved times on their own, just a tiny bit here and there, but theintelhex.c
file is significant enough where this might be worth doing.The specific compiler incantations have been copy/pasted from the
SW_DP.c
file:DAPLink/source/daplink/cmsis-dap/SW_DP.c
Lines 31 to 38 in 9e32454