Profiling the carbon footprint of performance bugs
Iztok Fister, Dušan Fister, Vili Podgorelec, Iztok Fister
TL;DR
This paper addresses the carbon footprint implications of software performance bugs by simulating four iterative algorithms in C++ and measuring their energy use across a laptop, a Raspberry Pi 3, and an iPad. It compares software-based measurements using powertop and hardware-based measurements with the AVHzY CT-3 power-meter, showing hardware measurements yield higher fidelity. The main finding is that the double linked list implementation consistently minimizes energy consumption and carbon footprint, while the Raw vector-reallocation variant performs worst. The work highlights the importance of integrating energy-aware metrics into software engineering and suggests broader evaluation across more bugs and measurement setups.
Abstract
Much debate nowadays is devoted to the impacts of modern information and communication technology on global carbon emissions. Green information and communication technology is a paradigm creating a sustainable and environmentally friendly computing field that tries to minimize the adverse effects on the environment. Green information and communication technology are under constant development nowadays. Thus, in this paper, we undertake the problem of performance bugs that, until recently, have never been studied so profoundly. We assume that inappropriate software implementations can have a crucial influence on global carbon emissions. Here, we classify those performance bugs and develop inappropriate implementations of four programs written in C++. To mitigate these simulated performance bugs, measuring software and hardware methods that can estimate the increased carbon footprint properly were proposed.
