17 abril 2024 1053 palabras, 5 min. read

Software energéticamente eficiente: una fuente de competitividad

Por Pierre-Nicolas Schwab Doctor en marketing, director de IntoTheMinds
La eficiencia energética es un concepto que también se aplica a la informática. En este artículo desarrollo la idea de que elegir una solución de software en función de su lenguaje de programación puede reportar beneficios económicos y de productividad.

La computación en la nube está de moda. Empresas de todos los tamaños ejecutan hoy en día su software en infraestructuras (AWS, Azure, Google Cloud) a las que alquilan capacidad de computación. Ninguna de dichas empresas tiene interés económico alguno en ahorrarte tiempo de computación, ya que perderían dinero en el proceso. En este artículo examino el software energéticamente eficiente y explico por qué la ecoprogramación también es buena para tu cartera.

Contacta con la agencia de investigación IntoTheMinds

Si tienes software operando en la nube, puede que un día te encuentres con una desagradable sorpresa. No eres inmune a una explosión de los costes debido al uso, legal o no, de CPUs (ver vídeo más abajo).

Por eso debes examinar de cerca los lenguajes de programación que utilizas, ya que influyen en la velocidad de procesamiento de tus operaciones.

El lenguaje de programación influye en el consumo de energía

Una investigación establece la referencia de la eficiencia energética de los lenguajes de programación. Su metodología compara el uso de memoria y la velocidad de ejecución de 10 lenguajes de programación (Perl, Python, Ruby, PHP, C, C++, Lua, Tcl, JavaScript y Java). Este enfoque tiene sentido a la hora de comparar el consumo de energía, ya que una ejecución más rápida y una menor huella de memoria suelen conllevar un menor consumo de energía de la CPU.

eficiencia energética Tiempo de ejecución

Comparación de distintos lenguajes de programación basada en las investigaciones citadas en este artículo.

Para que te hagas una idea de las escalas de magnitud, he utilizado este estudio para calcular algunos órdenes de magnitud.

Tiempo de ejecución

    • C es 100 veces más rápido que Python
    • C++ es 6,7 veces más rápido que Java
    • Perl es 10 veces más rápido que Java

Esto te da una idea de qué lenguajes elegir si quieres centrarte en la ecoprogramación (no sé si existe el término, pero me parece perfectamente apropiado).

Uso de memoria

El uso de la memoria no es un proceso que consuma energía directamente; sin embargo, puede tener un impacto en el medio ambiente a dos niveles. En primer lugar, hacer un uso eficaz de la memoria significa no tener que añadir RAM a las máquinas (lo cual es caro, y fabricar un componente electrónico requiere mucha agua). En segundo lugar, el uso de la memoria acelera los cálculos en comparación con la lectura desde un disco duro.

    • C usa un 1,5% de la memoria consumida por Python.
    • C++ consume un 2% de la memoria utilizada por Python.
    • Python y Perl utilizan un 3% de la memoria exigida por Java.

C es el lenguaje más eficiente a nivel energético

Entre los lenguajes analizados, C ocupó el primer lugar. ¿Y eso por qué? Es un lenguaje de bajo nivel que permite un mejor control de los recursos de hardware cuando se domina y se implementa correctamente. Esta eficacia se traduce en una mayor velocidad de ejecución y un uso mínimo de la memoria, que es exactamente a lo que deberíamos aspirar en la situación actual, salvo que hoy en día se desarrolla muy poco software en lenguajes de bajo nivel.


En algunos casos, ejecutar las operaciones que consumen más recursos en la infraestructura local tiene más sentido que en la nube.


¿Cuáles son las implicaciones prácticas para las empresas?

A la empresa le interesa utilizar programas informáticos bien programados y que consuman pocos recursos ya que, en primer lugar, ahorra tiempo. Pero, siempre que sea posible, deben ejecutar los cálculos que más más recursos consumen in situ en lugar de en la nube.

Ahorro de tiempo

Hablemos primero del ahorro de tiempo. En 2023, encuestamos a 400 responsables de IT de empresas que practican la ciencia de datos. Para el 47 % de los encuestados, la velocidad de computación era una de sus prioridades a la hora de implantar futuras soluciones en su empresa.

eficiencia energética Beneficios financieros

La agencia de estudios de mercado IntoTheMinds encuestó a 400 responsables de IT de 4 países (Francia, Alemania, Reino Unido y EE.UU.) sobre las futuras mejoras previstas en soluciones de datos.

Si eres un fiel lector de este blog, recordarás mis benchmarks entre soluciones ETL. Una de ellas, Anatella, destacaba por su extraordinario rendimiento. Mis pruebas mostraron ganancias de rendimiento de hasta x20Anatella se programó utilizando lenguajes de bajo nivel (C, C++ y ensamblador), mientras que sus competidores utilizaban tecnologías basadas sobre todo en Java y, por tanto, eran incapaces de seguirle el ritmo. Todo responsable informático debería aprender los lenguajes utilizados para programar las soluciones informáticas comerciales que adquiere.

Consúltanos para tus estudios de mercado informáticos

Beneficios financieros

Sea cual sea el tipo de software, es importante recordar que ejecutarlo en la nube puede ser una mala decisión financiera. Dado que el modelo de negocio de los proveedores de la nube es venderte minutos de computación, ¿qué interés tendrían en acelerar el procesamiento de tus operaciones?

eficiencia energética Beneficios financieros

IntoTheMinds preguntó a 400 responsables de IT por su modelo de pago preferido para soluciones de datos.

En cuanto a la computación paralela en particular, la Ley de Amdahl demuestra que la ganancia marginal de velocidad disminuye con el número de procesadores. Movilizar cada vez más procesadores (y, por tanto, gastar más dinero) no será, en última instancia, una solución económicamente atractiva para tus operaciones más pesadas.

Por eso es buena idea considerar la posibilidad de ejecutar las operaciones más intensivas cuanto a en recursos en la infraestructura local en lugar de en la nube. No solo evitarás las facturas recurrentes de tu proveedor de la nube, sino también el estrés de no saber cuánto tendrás que pagar a final de mes. Digo esto porque ya he tenido que lidiar con este problema en nombre de un cliente.



Posted in Data y IT, estrategia.

Publique su opinión

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