uavobjectmanager: Pack UAVObjEvent, saves 4% CPU for whatever the hell.#2211
uavobjectmanager: Pack UAVObjEvent, saves 4% CPU for whatever the hell.#2211glowtape wants to merge 1 commit intod-ronin:nextfrom
Conversation
|
Seems like a secondary effect? Unaligned access is slower (otherwise why wouldn't the compiler pack everything?).
|
|
@tracernz -- one possible explanation is that it uses core-coupled memory more efficiently (and more stuff ends up in CCM as a result). Sometimes on modern stuff packing is advantageous because it uses caches better, but that's not really a factor on M4. |
I didn't think we used all the CCM on any targets? Maybe that's changed in the last few months.
Yes, but we don't need to worry about fitting into cache lines when there's no cache. 😛 |
|
I don't think it's CCM related. Yea, on the SPRF3e, we run out, but when I allocate everything in normal RAM, the CPU savings don't disappear. I'm not sure what else would slip into CCM that'd make up for it. On F4, we have plenty of CCM free after boot, and the packing still has an effect there, too. |
This and #2210 brings CPU on F3 back to old levels of a few weeks back.
It works. Why? I have no idea.