[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Per risparmiare energia elettrica



Il discorso, fatto così, è un po' semplicistico...

On 23/02/22 10:37, Leonardo Boselli wrote:
Riguardo al consumo elettrico occorrerebbe anche fare un distinguo, del dove è dissipato. Per intendersi: in questo momento, a casa mia, nella stanza dove ho il computer, accesso 24/24 e il monitor, la energia che dissipano è tale che se "lavorano sodo" non mi serve accendere il riscaldamanto, quindi non è energia perduta. Se sei in estate, o all'aperto o in un data center che devi raffreddare allora sì che è uno spreco.

Quindi il consumo nel leggere gli headers e effettuare la compilazione nella stanza del programmatore in inverno non sono spreco, mentre è molto più importante il ridurre il consumo al run time. Riduzione di consumi che peraltro porta sempre anche a una velocizzazione delle esecuzione, quindi magari meno processori che girano.

Se parliamo di consumi energetici su scala globale, il fatto che il programmatore si scaldi la stanzetta d'inverno o meno è una goccia nell'oceano. Non ha neppure senso considerarla.

La formazione dei programmatori negli ultimi tempi (io ci lavoro dal 1979) è stata sempre mirata alla logica, alla gestibilità, insomma a qualcosa di bello da vedersi e spiegarsi, ma tralasciando completamante la efficienza del processo al run time. Questo è vero quando il programma non deve girare troppo spesso e quindi conta il tempo di sviluppo, ma si vedono applicazioni interpretate che girano pressoché di continuo quando una versione ottimizzata per il processore consumerebbe un centesimo delle risorse.

La tendenza è stata quella di astrarre ogni strato, ma facendo così si perdono tutte le ottimizzazioni. I loinguaggi a oggetti sono belli d avedere dal punto di vista logico, per qualcuno sono pure facili da gestire, ma usano un quantitativo abnorme di risorse (specie di memoria) rispetto alla versione procedurale.

Questo, ovviamente, dipende dal linguaggio. In generale le astrazioni hanno un overhead di CPU e di memoria, è vero, ma è un overhead _ottimizzato_. Non è detto che un programmatore "medio" ottenga per forza un programma più efficiente lavorando con un linguaggio di basso livello: utilizzare astrazioni ottimizzate potrebbe essere più efficiente che non scriversi tutto (male) da zero.

Oltre a questo esistono anche linguaggi di alto livello con un costo delle astrazioni praticamente nullo; un esempio per tutti: Rust.

Un altra fonte di spereco energetico sono i browser e tutte gli script che ci giranao. Dobrebbe ess4erci su ogni browser un bottone, facilmente raggiungibile, e attivo (magari con una combinazione di tasti) che renda la pagina statica, fermando tutti gli script, il reload, le animazioni e il resto, abilitando solo i link e le scrollbar, se rimosse.

Gli script sono essenziali per applicazioni web molto interattive. Possiamo discutere dell'utilità di queste applicazioni, ma se accettiamo che esistano e che le persone le usino non possiamo lamentarci degli strumenti utilizzati per svilupparle. A me va benissimo il concetto di ipertesto anni '90 ma credo che il resto del mondo preferisca Facebook.

Vogliamo discutere di spreco energetico? Parliamo di quella gran m***a che è il proof-of-work utilizzato da BitCoin e tutte le altre cosiddette crypto-valute.

federico

--
Federico Di Gregorio                         federico.digregorio@dndg.it
DNDG srl                                                  http://dndg.it
                      The number of the beast: vi vi vi. -- Delexa Jones


Reply to: