The Hidden Cost of Autosave: Measuring Energy Usage in Text Editors

Laen...
Pisipilt

Kuupäev

Ajakirja pealkiri

Ajakirja ISSN

Köite pealkiri

Kirjastaja

Tartu Ülikool

Abstrakt

Software energy consumption is an increasingly important but underexplored aspect of global energy usage. With the increasing usage of portable devices, ICT solutions are expected to become a significant contributor to global energy consumption. However, developers currently have limited guidance on how to mitigate this impact. Background processes in software are easy to overlook, and developers may unknowingly choose energy-inefficient implementations of such features. This thesis looks into one such process: Autosaving in the case of desktop text editors. An empirical investigation was carried out to explore the real-world impact of overlooked energy inefficiencies. Common autosave operations (such as basic write, change tracking, and logging) were extracted and implemented from three open source text editing applications written in Python (novelWriter, Mu, and Leo). Using the Linux tool Perf, 900 measurements were carried out across 30 test scenarios, tested under different file sizes (Empty, 5KB, 50KB). Statistical analysis revealed that certain implementations produce a considerable energy overhead. Specific built-in features and write methods increase energy usage marginally. However, the most substantial energy savings were observed in the case of reducing save frequency, with one application showing potential to reduce its energy consumption by 83%. Based on these insights, four practical guidelines were proposed to help developers reduce the environmental impact of their software. The results highlight how small design choices can yield meaningful improvements in energy efficiency, supporting the broader goals of green software development.
Tarkvara energiatarbimine on kiiresti kasvava olulisusega, kuid vähe uuritud osa ülemaailmsest energiakasutusest. Kuna kaasaskantavate seadmete kasutamine on kasvamas, siis prognoositakse, et tarkvara lahendused hakkavad tulevikus mängima märkimisväärset rolli maailma energiatarbimises. Arendajatel on praegu vähe juhiseid, kuidas seda mõju vähendada. Taustaprotsesside energiamõju tarkvaras on lihtne tähelepanuta jätta ja arendajad võivad teadmatult valida energiamahukamad lahendused enda programmidesse. Käesolev magistritöö keskendub ühele sellisele protsessile: automaatsalvestamine lauaarvuti tekstiredaktorites. Töö eesmärk oli uurida, milline mõju on energiatõhususel sellel protsessil reaalsetes kasutusstsenaariumites. Levinud automaatsalvestuse toiminguid (nagu faili kirjutamine, muudatuste jälgimine ja logimine) eraldati ja rakendati ümber kolmest avatud lähtekoodiga Püütonis kirjutatud tekstiredaktori rakendusest (novelWriter, Mu ja Leo). Linuxi tööriista Perf abil viidi 30 teststsenaariumis läbi 900 kontrollitud katset ja seda erinevate failisuuruste põhjal (tühi, 5KB, 50KB). Katsete statistiline analüüs näitas, et teatud lahendused lisasid programmidele märkimisväärse energiakulu. Leiti mõnedel juhtudel, et sisseehitatud funktsioonid ja faili-kirjutamise meetodid suurendavad energiatarbimist mõõdukalt. Kõige suurem potentsiaal energiasäästmisele eksisteerib aga salvestussageduste vähendamisel, näiteks sai ainult sagedust muutes vähendada rakenduse Mu puhul energiatarbimist 83%. Nende tulemuste põhjal pakuti töös välja neli praktilist soovitust, mille eesmärk on aidata arendajatel vähendada tarkvara keskkonamõju. Kokkuvõttes, käesolev töö tõestab et väikesed rakendulikud otsused võivad mõjutada energiakulutust märkimisväärselt, ning läbi nende saab liikuda rohelisema tarkvaraarenduse poole.

Kirjeldus

Märksõnad

Energy Profiling, Software Energy Consumption, Background Processes, Autosave, Green Software

Viide