Program energy efficiency: The impact of language, compiler and implementation choices

S Abdulsalam, D Lakomski, Q Gu… - International Green …, 2014 - ieeexplore.ieee.org
S Abdulsalam, D Lakomski, Q Gu, T Jin, Z Zong
International Green Computing Conference, 2014ieeexplore.ieee.org
Today reducing the energy usage of computing systems becomes a paramount task, no
matter they are lightweight mobile devices, complex cloud computing platforms or large-
scale supercomputers. Many existing studies in green computing focus on making the
hardware more energy efficient. This is understandable because software running on low-
power hardware will automatically consume less energy. Little work has been done to
explore how software developers can play a more proactive role in saving energy by writing …
Today reducing the energy usage of computing systems becomes a paramount task, no matter they are lightweight mobile devices, complex cloud computing platforms or large-scale supercomputers. Many existing studies in green computing focus on making the hardware more energy efficient. This is understandable because software running on low-power hardware will automatically consume less energy. Little work has been done to explore how software developers can play a more proactive role in saving energy by writing greener code. In fact, very few programmers consider energy-efficiency when writing code and even fewer know how to evaluate and improve the energy-efficiency of their code. In this paper, we quantitatively study the impact of languages (C/C++/Java/Python), compiler optimization (GNU C/C++ compiler with O1, O2, and O3 flags) and implementation choices (e.g. using malloc instead of new to create dynamic arrays and using vector vs. array for Quicksort) on the energy-efficiency of three well-known programs: Fast Fourier Transform, Linked List Insertion/Deletion and Quicksort. Our experiments show that by carefully selecting an appropriate language, optimization flag and data structure, significant energy can be conserved for solving the same problem with identical input size.
ieeexplore.ieee.org
以上显示的是最相近的搜索结果。 查看全部搜索结果