Pensando en el uso de energía y los sitios web

Gerry McGovern me preguntó si tenía alguna idea sobre el consumo de energía y los sitios web. Al fin y al cabo, tiene un libro sobre los costes digitales en el planeta. Se preguntaba acerca de los detalles de la tecnología web, como…

Si haces esto en HTML consumirá 3× de energía pero si lo haces en JavaScript consumirá 10 × .

Creo que si realmente miraras y supieras exactamente cómo medirlo, podrías encontrar ejemplos como ese. Digamos que quería mover un elemento por la pantalla. Si escribí un setIntervalbucle en JavaScript que incrementó la leftposición del elemento en posición relativa en un milisegundo, estoy 99% seguro de que requiere más electricidad literal que si hicieras una @keyframesanimación CSS durante el mismo tiempo en el que cambiaste. el transform: translateX()valor. En ese ejemplo, normalmente pensamos más en el rendimiento que en el consumo de energía, pero eso es interesante de inmediato: ¿un buen rendimiento se relaciona con un menor uso de energía? Probablemente.

Las investigaciones han investigado esto.

Descubrimos una correlación negativa estadísticamente significativa entre las puntuaciones de rendimiento y el consumo de energía de las aplicaciones web móviles (con tamaños de efecto de medianos a grandes), lo que implica que un aumento en la puntuación de rendimiento tiende a conducir a una disminución del consumo de energía.

Estaban probando aplicaciones web móviles en Android utilizando puntuaciones de Lighthouse. Puedo suponer que eso se corresponde bastante bien con otras plataformas y otras métricas de rendimiento.

Me alegra que la investigación hasta ahora se corresponda con lo que lógicamente esperaría que fuera cierto. Las cosas que conducen a un rendimiento deficiente son cosas que requieren energía. Imagina imágenes. Se le penalizarán las puntuaciones de rendimiento por mostrar imágenes demasiado grandes o no optimizadas. Imagínese las implicaciones de rendimiento de eso. Hay dos imágenes en un servidor, una grande y otra pequeña. ¿Cuál requiere más electricidad para viajar hasta la computadora de algún usuario? El grande. ¿Cuál requiere más potencia de procesamiento para analizar y mostrar? El grande. ¿Cuál ocupa más memoria (que usa electricidad) durante su vida en la pantalla? El grande.

Cuanto menos haya en la red, menos electricidad.

Cuanto menos tenga que hacer su navegador, menos electricidad.

¿Algún anuncio que se actualiza automáticamente cada pocos segundos? No sólo es molesto, sino que desperdicia ancho de banda y, por lo tanto, desperdicia electricidad. ¿Siempre que tiene que recurrir al sondeo (es decir, realizar una solicitud de red una y otra vez) en lugar de algo basado en eventos como los sockets web? Eso es usar electricidad que quizás no hayas necesitado usar.

Sabemos que las CDN también son buenas para el rendimiento. En lugar de que un archivo (como una imagen) tenga que viajar por todo el mundo, proviene de un servidor mucho más cercano geográficamente en un servidor diseñado para ese trabajo. Aquí es donde las cosas se ponen un poco más turbias para mí.

Con el rendimiento como meta: objetivo cumplido. Con el bajo consumo de energía como nuestro objetivo, ¿lo logramos?

Se ha estudiado, pero desafortunadamente no puedo decir cuál es la conclusión sólo a partir del resumen. En mi opinión, las cosas se complican por el hecho de que los servidores de todo el mundo almacenan copias de estos activos, y cuando los activos cambian, no es solo un servidor el que se actualiza, sino también servidores de todo el mundo. Tiene que haber un equilibrio entre la propagación y el almacenamiento duplicado en cuanto a los ahorros que se obtendrían gracias a la eficiencia de las solicitudes de ahorro.

Hablando de eficiencia del almacenamiento, estoy seguro de que el almacenamiento simplemente en el disco consume mucha menos electricidad que los archivos que se envían a través de las redes, pero aún así tiene un costo. Digamos que guardaste una copia de cada archivo cada vez que lo cambiaste. Supongamos que guarda una copia completa de su sitio web cada vez que lo implementa. ¿Útil? Seguro. ¿Eso cuesta electricidad? Debería. Debe haber algún equilibrio que lograr allí.

Sin embargo, Gerry me estaba preguntando sobre tecnologías particulares. Se me ocurre otra cosa importante en CSS: ¡ el modo oscuro ! Una vez más, ha sido estudiado . El modo oscuro ahorra energía.

De hecho, el modo oscuro puede reducir el consumo de energía de la pantalla hasta en un 58,5% con el brillo máximo para el conjunto de aplicaciones populares de Android que probamos. En términos de reducción total del consumo de batería del teléfono, eso se traduce en un ahorro de entre el 5,6% y el 44,7% con brillo máximo y entre el 1,8% y el 23,5% de ahorro con un brillo del 38%.

¿Y qué hay de comparar tecnologías? Sospecho que se trata mucho más de lo que hace esa tecnología (o lenguaje) que el lenguaje mismo. Por ejemplo, puedo construir una pequeña área que se abre y se cierra en HTML con un detailselemento. ¿Es eso más eficiente energéticamente que crear esa área adjuntando un controlador de clic en un botón que alterna la clase de un elemento que lo abre y cierra visualmente? Lo dudo un poco. Apuesto a que la electricidad que se utiliza en los pasos de volver a pintar/renderizar que realiza el navegador y los idiomas detrás de esto son menos relevantes. ¡Y todavía! Si hice que el navegador descargara una biblioteca de JavaScript de 50 KB solo para implementar mi pequeño elemento de apertura/cierre, entonces sí, importa y la versión de JavaScript es menos eficiente.

De esa manera, así como un buen rendimiento generalmente se traduce en un menor consumo de energía, apuesto a que cumplir con la regla de menor consumo generalmente también se traduce en un menor consumo de energía.

¿Estás harto de que adivine cosas? Me parece bien.

El artículo de Jack Lenox “Cómo mejorar el rendimiento del sitio web puede ayudar a salvar el planeta” sobre Smashing es una inmersión más profunda. Señala sitios web que probarán su sitio. Website Carbon Calculator es un ejemplo y dice :

Calcular las emisiones de carbono de un sitio web es todo un desafío, pero utilizando cinco datos clave podemos hacer una estimación bastante buena:

1. Transferencia de datos por cable
2. Intensidad energética de los datos web
3. Fuente de energía utilizada por el centro de datos
4. Intensidad de carbono de la electricidad
5. Tráfico del sitio web

El código de prueba es de código abierto .

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion