Helping developers write energy efficient Haskell through a data-structure evaluation – Gilberto Melfe, Alcides Fonseca, João Paulo Fernandes
How a program is written has implications in the energy consump- tion of the running system, with economical and environmental consequences.
In this context, understanding the energy consumption of opera- tions on data-structures is crucial when optimizing software to exe- cute under power constricted environments. Existing studies have not focused on the di erent components of energy consumption that processors expose, rather considering the global consumption.
To understand the relationship between CPU and memory energy consumptions with execution time, we instrument a microbench- mark suite to collect such values, and we analyze the results.
Our benchmark suite is comprised of 16 implementations of functional sequences, collections and associative collections while measuring detailed energy and time metrics. We further investi- gate the energy consumption impact of using di erent compilation optimizations.
We have concluded that energy consumption is directly proportional to execution time. Additionally, DRAM and Package energy consumptions are directly proportional, with the DRAM representing between 15 and 31% of the total energy consumption. Finally, we also conclude that optimizations can have both a positive or a negative impact on energy consumption.