Energy Matters: Evaluating JavaScript Asynchronous Patterns for Green Development

Laen...
Pisipilt

Kuupäev

Ajakirja pealkiri

Ajakirja ISSN

Köite pealkiri

Kirjastaja

Tartu Ülikool

Abstrakt

IKT-sektori suurenev energiatarbimine koormab keskkonda ja majandust. Veebiarenduses domineeriv JavaScript ei kuulu teiste programmeerimiskeeltega võrreldes kõige energiasäästlikumate hulka. Ehkki tarkvara optimeerimisel pööratakse enamasti tähelepanu tehnoloogia valikule või algoritmide täiustamisele, on ühe ja sama funktsionaalsuse saavutamiseks kasutatavate programmeerimismustrite energiamõju ühe keele piires seni vähe käsitlust leidnud. Käesolevas lõputöös võrreldakse JavaScripti asünkroonsete mustrite callback, promise ning async/await energiakulu. Uurimus põhineb Node.js käituskeskkonnas ja Perfi mõõtmistööriistaga tehtud katsetel milles jäljendati HTTPpäringuid ja faili kirjutamist. Statistilise andmeanalüüsi käigus leidsime, et fikseeritud viitajaga HTTP-päringute korral tarbis callback muster vähem energiat (ligikaudu 6–7%) kui async/await lahendus. Failidesse kirjutamise puhul aga mustrite vahel märkimisväärset erinevust energiatarbimises ei täheldatud. Need tulemused viitavad sellele, et callback muster võib teatud olukordades olla energiatõhusam valik. Sellegipoolest tuleb arvestada promise ja async/await mustrite eelistega koodi loetavuses, hooldatavuses ning veakäsitluses. Enamasti kaaluvad need eelised üles väikese energiasäästu, mistõttu on promise ja async/await mustrid paljudes olukordades tõenäoliselt parem valik. Lõplik otsus sõltub siiski konkreetsest olukorrast ning sobiva tasakaalu leidmisest mõningase energiasäästu ja arendaja töö mugavuse ning tõhususe vahel.

Kirjeldus

Märksõnad

JavaScript, Energy Efficiency, Asynchronous Programming, Green Software Development, Web Development, Energiatõhusus, Asünkroonne Programmeerimine, Roheline Tarkvaraarendus, Veebiarendus

Viide