Green Coding: Energy consumption in different programming languages and algorithms
2024 (English)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesis
Abstract [sv]
Detta arbete undersöker effekten av green coding på mjukvaruutveckling med syfte att minska dess miljöpåverkan. Huvudmålen var att analysera algoritmisk komplexitet, exekveringstid och energiförbrukning i olika programmeringsspråk. Resultaten indikerar att energiförbrukning av en algoritm växer i samma takt som den algoritmiska komplexiteten. Exekveringstid och energianvändning är direkt relaterade vilket betyder att prestandaoptimering är i sin del en optimering av energiförbrukning. Olika programmeringsspråk har olika värden på energiförbrukning och varje språk presterar olika med Go och Java liknande prestanda men Java var lite effektivare och C# var alldeles för energikonsumerande jämfört med de två språken. Därmed bör programmeringsspråk väljas med omsorg. Det vetenskapliga bidraget från detta arbete ligger i dess empiriska analys av energiförbrukning över olika algoritmer och språk, vilket ger en värdefull resurs för utvecklare som vill anta grönare kodningsmetoder. Genom att visa de miljömässiga fördelarna med energieffektiv programmeringsspråk och algoritmer önskar detta arbete mjukvaruindustrin att prioritera hållbarhet.
Abstract [en]
This project investigates the impact of Green Coding on software development with the aim of reducing its environmental impact. The main objectives were to analyze algorithmic complexity, execution time and energy consumption in different programming languages. The results indicate that the energy consumption of an algorithm increases in conjunction with its algorithmic complexity. Execution time and energy usage are directly related, meaning performance optimization is in part an optimization of energy consumption. Different programming languages have different energy consumption values and each language performs differently. Go and Java showed similar performance with Java being slightly more efficient while C# was significantly more energy-consuming to the other two languages. Therefore, programming languages should be chosen carefully. The scientific contribution of this work lies in its empirical analysis of energy consumption across various algorithms and languages, providing valuable resource for developers who wish to adopt greener coding practices. By demonstrating the environmental benefits of energy-efficient programming languages and algorithms, this work hopefully encourages the software industry to prioritize sustainability.
Place, publisher, year, edition, pages
2024. , p. 43
Keywords [en]
Energy Consumption, Algorithms, Programming languages, C#, Java, Go
Keywords [sv]
Energikonsumtion, algoritmer, programmeringsspråk, C#, Java, Go
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:miun:diva-52227Local ID: DT-V24-G3-009OAI: oai:DiVA.org:miun-52227DiVA, id: diva2:1892385
Subject / course
Computer Engineering DT1
Educational program
Master of Science in Engineering - Computer Engineering TDTEA 300 higher education credits
Supervisors
Examiners
2024-08-262024-08-262024-08-26Bibliographically approved