Aupa Gorka, Ostirala 28 Urtarrila 2011(e)an, Gorka Prieto(e)k idatzi zuen: > No sabía si poner el off-topic en el subject, así que lo pongo aquí ;P > > Buscando pruebas de tiempos de ejecución de diferentes lenguajes y runtimes > he dado con estas gráficas que seguro que a alguien más de la lista le > interesan.
Sobre benchmarks siempre suelo mirar The Computer Language Benchmarks Game[1], aunque no salen las versiones privativas, pero sí salen otras VMs interesantes como la de SBCL, V8, LuaJit, etc. (aunque falten otras interesantes como parrot y la VM de Factor). > Me llama la atención la "poca" diferencia de tiempos entre C++ y Java/.NET > y también me ha sorprendido el mejor rendimiento de las plataformas libres > :) > > Yo hace unos años hice mis pruebas con algoritmos de procesamiento de señal > y los resultados eran mucho más favorecedores para C/C++ y especialmente > malos para Java frente a .NET, pero estas gráficas rompen un poco mis > esquemas. Alguien en la lista que pueda aportar un poco más de luz sobre > el tema? Con respecto a lo de 'poca' diferencia, yo diría que: a) es un término relativo, y b) si miras la gráfica en el enlace, verás que hay bastante varianza en el rendimiento. Esto quiere decir que dependiendo del tipo de problema, el rendimiento puede ser mejor, y en otros casos, bastante peor. O, como suelen decir, los benchmarks no sirven para nada. Hay que tener en cuenta además que se trata de microbenchmarks, con lo que dejan de tener sentido cuando queremos hacer un programa más grande en los que ya cambia la forma de construirlo en función del lenguaje. En mi limitada experiencia, me he encontrado con situaciones como la que comentas, casos en los que las pruebas no corresponden con el 'teórico' rendimiento del lenguaje, aunque como norma general sirve como orientación. En cualquier caso, creo que lo que vienen a indicar estas gráficas se que la tecnología de máquinas virtuales es lo suficientemente buena como para poder hacer uso generalizado de este tipo de lenguajes, aún en aplicaciones en las que el rendimiento sea importante. Y esto es así no sólo con lenguajes como Java o C#, sino con lenguajes de más alto nivel como Ocaml, Haskell, Common Lisp, etc. Por qué su uso no se populariza frente a lenguajes como Python o Ruby, que ofrecen una expresividad similar o menor con un rendimiento inferior es algo que no acabo de entender. Con respecto a por qué las implementaciones libres son más eficientes que las privativas, ni idea. [1] http://shootout.alioth.debian.org/u32/which-programming-languages-are- fastest.php -- Alfredo Beaumont Sainz http://alfredobeaumont.org/
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ ITSAS mailing list [email protected] http://list.ehu.es/mailman/listinfo/itsas
