Quantcast
Channel: Active questions tagged gcc - Stack Overflow
Viewing all articles
Browse latest Browse all 22137

ARM cortex-a8: GCC 8.3 vs 6.3: performance drop

$
0
0

After the upgrade of my linux distribution on my BeagleBoneBlack board, I've found that the newer GCC 8.3 gives significantly slower code than former GCC 6.3.

With the (unchanging) compile options string like this: FLAGS = -flto -marm -march=native -mtune=native -fPIC -Wall -std=c99 -g -Ofast the performance drop was about 10%. My code heavily uses custom-built (i.e. it is not in OS distribution) https://github.com/ggambetta/libz80 library and right after I recompiled it with newer GCC, performance dropped by ~10%.

Another quirk was that while in GCC 6.3, changing -marm to -mthumb invariably led to slower code, with newer GCC there is negligible improvement.

Why do fresher GCC versions, presumably with more sophisticated optimizations, give worse results?

ps: actually my code is NOT (real-time) emulator, it only emulates the Z80 CPU, not the environment, and is more like of plain Z80-only virtual machine, running full-speed for many seconds and minutes. Also, besides libz80.so, there is a main executable file that was kept the same between measurement, but yet it could scale down the performance drop that is seen in percents. So the true performance drop might be even bigger.


Viewing all articles
Browse latest Browse all 22137

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>