Google publica un benchmark rendimiento de C++, Go, Java y Scala
Google ha publicado un artículo que presentaron en la conferencia Scala Days 2011 la pasada semana haciendo un benchmark rendimiento comparando C++, Go, Java y Scala. El benchmark consiste de un único algoritmo con un número de líneas relativamente bajo, pero que toma ventaja de múltiples características de los lenguajes de programación, como estructuras de datos de alto nivel, algoritmos que están implementados en las librerías estándar del lenguaje, reservar de memoria...
La primera comparación fue respecto al número de líneas de código necesarias para implementar el algoritmo en cada lenguaje:
Los resultados de los lenguajes "no Pro" son los programas que escribieron originalmente los autores del artículo. Antes de hacer público el artículo, los autores lo distribuyeron internamente en Google. Entonces otros empleados de Google hicieron optimizaciones en algunos códigos fuente. Los resultados "Pro" son los obtenidos tras incorporar estas optimizaciones.
Otras cosas medidas fue el tiempo de compilación para cada programa:
El tamaño del binario:
El uso de memoria:
Y, por supuesto, el tiempo de ejecución:
Como conclusiones del artículo, C++ proporciona el mejor rendimiento, pero requiere más conocimientos específicos del lenguaje para conseguir exprimir todo este rendimiento. Scala proporciona la notación más concisa. Java fue el lenguaje en el cual el algoritmo fue más fácil de implementar. Go, el lenguaje del propio Google, permitió escribir un código bastante conciso. Pero en todas las demás métricas tuvo un rendimiento muy pobre. Parece que todavía está bastante inmaduro.
Reader Comments