Skip to content

Conversation

@mark9064
Copy link
Member

@mark9064 mark9064 commented Nov 23, 2024

Based off #867, a compiler upgrade isn't needed anymore and I also simplified the changeset to the minimal needed.

I'm testing it locally now and all seems good so far, but I've only been running it for a few hours.

The original in discussion in #867 regarding why the memory usage has changed is still to be answered - I haven't looked into this yet

@github-actions
Copy link

github-actions bot commented Nov 23, 2024

Build size and comparison to main:

Section Size Difference
text 354472B -25612B
data 920B -24B
bss 22560B 16B

Run in InfiniEmu

@mark9064 mark9064 added the maintenance Background work label Nov 25, 2024
@mark9064 mark9064 marked this pull request as draft January 26, 2025 00:21
@mark9064
Copy link
Member Author

mark9064 commented Jan 26, 2025

Since more functions get inlined, the stack has to accommodate more local variables at once. Given the increased stack usage of LTO, I think this is may be not such a good idea, as InfiniTime is very RAM limited - moreso than it is flash limited.

This PR works perfectly fine though, so keeping it around as a draft

Edit: Need to collect some actual numbers for memory usage LTO off/on

@mark9064
Copy link
Member Author

With #2331 systemtask stack pressure is reduced now. Still, it needs some extra compared to before. I'm using GCC 14 locally, but I've never seen it go below 48 minimum with 400 size so that should be sufficient

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Background work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant