Less is More: Exploiting the Standard Compiler Optimization Levels for Better Performance and Energy Consumption
Kyriakos Georgiou, Craig Blackmore, Samuel Xavier-de-Souza, Kerstin, Eder

TL;DR
This paper shows that selectively reducing compiler optimizations in -O2 can significantly improve performance and energy efficiency on embedded processors, with less testing effort than advanced techniques.
Contribution
It introduces a simple method to improve performance and energy savings by performing fewer optimizations in standard compiler levels, validated on ARM embedded processors.
Findings
Average execution time reduction of 2.4% and 5.3% on Cortex-M0 and M3
Performance improvements up to 90% over -O2
Achieves similar savings to advanced iterative and machine learning approaches
Abstract
This paper presents the interesting observation that by performing fewer of the optimizations available in a standard compiler optimization level such as -O2, while preserving their original ordering, significant savings can be achieved in both execution time and energy consumption. This observation has been validated on two embedded processors, namely the ARM Cortex-M0 and the ARM Cortex-M3, using two different versions of the LLVM compilation framework; v3.8 and v5.0. Experimental evaluation with 71 embedded benchmarks demonstrated performance gains for at least half of the benchmarks for both processors. An average execution time reduction of 2.4% and 5.3% was achieved across all the benchmarks for the Cortex-M0 and Cortex-M3 processors, respectively, with execution time improvements ranging from 1% up to 90% over the -O2. The savings that can be achieved are in the same range as…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
