This is an old revision of the document!
Energy-efficient programming is crucial while we consider the influence of the program execution, computation, and data processing on the amount of energy which is consumed during the process.
During computations, the processor typically consumes the majority of the energy. On average, the CPU consumes almost 90% of the energy, with the remaining energy consumed mainly by memory[1]. This is true regardless of the programming language type. It does not matter if the language is compiled, interpreted, or virtual.
Now, software energy efficiency is going mainstream. It is increasingly common to see smartphone users avoiding CPU-intensive apps just to get a bit more out of the phone battery. Even cloud-based systems are paying attention to software energy efficiency because of its impact on the carbon emissions of data centers[2].
Consumed power by a running code in a digital system is described by the formula: P = ΔT x F x U x I where F is the frequency clocking the digital components, ΔT the code run time and U and I are voltage value and current rating. Minimizing the average F is discussed at point B. Minimizing ΔT means to cut the number of clocks at the average F using programming techniques on the HLL or use Parallel Assembly instructions for integer or float data types [3].