Um estudo sobre consumo de energia em aplicações JavaScript: Identificação dos custos energéticos para a etapa de integração continua
Abstract
Given the climate context that the world finds itself in, controlling the energy consumption that humans perform on a daily basis is indispensable for the well-being of the planet and sustainability. For software this is no different. This work aimed to analyze the energy consumption in the Continuous Integration process of JavaScript applications. In particular, each step of the process was studied, identifying how energy consumption is distributed, tracing a relationship between the execution time of the steps and energy consumption, in addition to making parallels between these consumptions in the software world and the energy consumption of everyday life.
First the energy consumption capture tool perf was selected. Next, JavaScript projects were selected for analysis following some specific criteria, such as the existence of different tests and CI, as well as standardizing all existing nomenclatures in these projects. Finally, the chosen tool was combined with scripts to obtain the raw data and the analysis was performed using spreadsheets.
It was possible to verify that the testing stages were the most costly among the stages evaluated. For the relationship between time and energy consumption, it was observed that the energy consumption tends to be linear with time for direct processing, and the non-direct processing tends to present a logarithmic pattern of behavior. Furthermore, it was seen that a project can have, on average, the same energy consumption as a hair dryer and can consume more than a router or an Internet modem.
Finally, it was identified that at large scales, these energy consumptions can be significant and attention should be paid to the number of times IC pipelines are run throughout a project development. It can also be observed that the higher the complexity of a test type, the higher its cost in terms of energy, going according to the testing pyramid.
Collections
The following license files are associated with this item: