Analyzing C# Energy Efficiency of Concurrency and Language Construct Combinations
Authors
Lindholt, Rasmus Smit ; Jepsen, Kasper ; Nielsen, Aleksander Øster
Term
4. term
Education
Publication year
2022
Submitted on
2022-06-08
Pages
243
Abstract
This project examines how different C# language constructs affect energy use, with a special focus on constructs for running work at the same time (concurrency)—that is, language mechanisms for managing concurrent tasks. We build small, targeted tests (microbenchmarks) to measure the impact of four groups of language constructs and analyze the results to understand what drives the observed behavior. Using insights from these microbenchmarks and prior research, we design 68 larger tests (macrobenchmarks) that combine constructs in different ways to see how these combinations influence energy consumption. Comparing micro- and macrobenchmarks lets us generalize from small to larger programs and investigate when and why behavior changes as scale increases and multiple constructs are used together.
Dette projekt undersøger, hvordan forskellige C#-sprogkonstruktioner påvirker energiforbrug, med særligt fokus på konstruktioner til samtidig udførelse (concurrency), dvs. mekanismer i sproget til at håndtere arbejde, der kører på samme tid. Vi bygger små, målrettede tests (mikrobenchmarks) for at måle effekten af fire grupper af sprogkonstruktioner og analyserer resultaterne for at forstå, hvad der driver den observerede adfærd. Med afsæt i indsigter fra mikrobenchmarks og tidligere forskning designer vi 68 større tests (makrobenchmarks), der kombinerer sprogkonstruktioner på forskellige måder for at se, hvordan kombinationerne påvirker energiforbruget. Sammenligningen mellem mikro- og makrobenchmarks gør det muligt at generalisere fra små til større programmer og undersøge, om og hvorfor adfærden ændrer sig, når skalaen øges og flere sprogkonstruktioner bruges samtidig.
[This apstract has been rewritten with the help of AI based on the project's original abstract]
Keywords
