No, because the point is that the branch version does not touch "total" when the branch is taken, but the non-branch version will always multiply "total" by something.
it's not that bad. At 120MHz, the PSRAM still gets only around 90-100ns per word in the worst case. If you use some SRAM for caching and do bulk transfers, you can get that down quite a bit. Also you can easily overclock the PSRAM to 133MHt (10 decrease in latency) with no problem, maybe even (much?) more.
normal dynamic RAM back then was at 60-70 ns so it's really not that bad. And YT videos show that it also works fine in practice
Definitely not only C compilers. Any optimizing compiler can remove code from your program which you might deem important but that the compiler thinks is irrelevant.
reply