TY - GEN
T1 - Paint Your Programs Green
T2 - 8th Central European Functional Programming School, CEFP 2019
AU - Pereira, Rui
AU - Couto, Marco
AU - Cunha, Jácome
AU - Melfe, Gilberto
AU - Saraiva, João
AU - Fernandes, João Paulo
N1 - Publisher Copyright:
© 2023, The Author(s), under exclusive license to Springer Nature Switzerland AG.
PY - 2023
Y1 - 2023
N2 - This tutorial aims to provide knowledge on a different facet of efficiency in data structures: energy efficiency. As many recent studies have shown, the main roadblock in regards to energy efficient software development are the misconceptions and heavy lack of support and knowledge, for energy-aware development, that programmers have. Thus, this tutorial aims at helping provide programmers more knowledge pertaining to the energy efficiency of data structures. We conducted two in-depth studies to analyze the performance and energy efficiency of various data structures from popular programming languages: Haskell and Java. The results show that within the Haskell programming language, the correlation between performance and energy consumption is statistically almost identical, while there are cases with more variation within the Java language. We have presented which data structures are more efficient for common operations, such as inserting and removing elements or iterating over the data structure. The results from our studies can help support developers in better understanding such differences within data structures, allowing them to carefully choose the most adequate implementation based on their requirements and goals. We believe that such results will help further close the gap when discussing the lack of knowledge in energy efficient software development.
AB - This tutorial aims to provide knowledge on a different facet of efficiency in data structures: energy efficiency. As many recent studies have shown, the main roadblock in regards to energy efficient software development are the misconceptions and heavy lack of support and knowledge, for energy-aware development, that programmers have. Thus, this tutorial aims at helping provide programmers more knowledge pertaining to the energy efficiency of data structures. We conducted two in-depth studies to analyze the performance and energy efficiency of various data structures from popular programming languages: Haskell and Java. The results show that within the Haskell programming language, the correlation between performance and energy consumption is statistically almost identical, while there are cases with more variation within the Java language. We have presented which data structures are more efficient for common operations, such as inserting and removing elements or iterating over the data structure. The results from our studies can help support developers in better understanding such differences within data structures, allowing them to carefully choose the most adequate implementation based on their requirements and goals. We believe that such results will help further close the gap when discussing the lack of knowledge in energy efficient software development.
KW - Data Structures
KW - Energy Efficient Programming
KW - Green Software
UR - http://www.scopus.com/inward/record.url?scp=85175980278&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85175980278&partnerID=8YFLogxK
U2 - 10.1007/978-3-031-42833-3_2
DO - 10.1007/978-3-031-42833-3_2
M3 - Conference contribution
AN - SCOPUS:85175980278
SN - 9783031428326
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 53
EP - 76
BT - Composability, Comprehensibility and Correctness of Working Software - 8th Summer School, CEFP 2019, Revised Selected Papers
A2 - Porkoláb, Zoltán
A2 - Zsók, Viktória
PB - Springer Science and Business Media Deutschland GmbH
Y2 - 17 June 2019 through 21 June 2019
ER -