Hay muchos estudios comparativos y disponibles en línea cuando se trata del rendimiento en tiempo de ejecución de las aplicaciones creadas con un idioma u otro. Algunos impulsados por corporaciones, algunos académicos, algunos solo informes de experimentos personales.
También obtenemos una buena cantidad de estudios comparativos sobre los efectos secundarios de un lenguaje de programación y sus herramientas, como:
- tiempos de construcción,
- probabilidad de detección de errores de postproducción,
- poder expresivo,
- etc ...
Sin embargo, recientemente he estado cada vez más desanimado por el consumo de memoria de mis programas más que cualquier otra cosa. Esto puede deberse al hecho de que, si bien la Ley de Moore está de nuestro lado para un rendimiento bruto, nos hemos dado cuenta de que otros cuellos de botella importan más. Eso, y no tiendo a actualizar mi hardware de vez en cuando, y tengo algunos "viejos" (lea 2005-2006 3.6GHz Pentium 4 con 4GB de RAM) que hoy en día son difíciles de usar para aplicaciones grandes sin lo que me obliga a pasar por grandes problemas para exprimirles todo el jugo (elección de sistema operativo, interfaz de usuario, ajustes de servicios y demonios, elección de aplicaciones para usar en una tarea u otra ...). Honestamente, a veces enciendo topo procexplloro al ver la memoria utilizada por los programas más inocentes.
Puedo abordar esto presionando en la dirección mencionada anteriormente, y esencialmente tratando de limitarme a mí mismo y a los programas que uso (supongo que me encantan los programas cli por esa razón), pero tampoco puedo evitar pensar que tal vez lo estamos haciendo mal.
Herramientas modernas para necesidades modernas
Por supuesto, los idiomas de nivel superior son posiblemente mejores y justifican su valor de peso muerto. Algunas elecciones de diseño se hicieron por buenas (o supuestamente bien intencionadas) razones en ese momento, en muchas cadenas de herramientas. Bibliotecas compartidas, modelos de memoria, preprocesadores, sistemas de tipos, etc. Pero algunos podrían ser más viables que otros con nuestro hardware moderno, y me gustaría leer algunos estudios serios sobre el tema.
Entonces, mi pregunta es, ¿hay un pendiente para el Juego de Benchmarks y otros que se centren en una comparación del consumo de memoria de tiempo de ejecución base de los idiomas?
Y aún más, ¿hay algunos estudios que hagan referencias cruzadas de esto con otros parámetros (similar a lo que hizo este artículo , por ejemplo, para otros criterios, también basados en el Juego de puntos de referencia )?
How much memory consumption makes you weep?30 MB para una pestaña de Chrome inactiva sin extensiones, 100 MB para el CCC de ATI, incluso 11 MB para un complemento inactivo de googletalk o 23 MB para un controlador de impresora inactivo. Estas cosas y muchas más. El ejemplo de Chrome está un poco fuera del parque, ya que es un ejemplo más complejo, pero los otros ya me sorprenden bastante.