Que lenguaje de Programacion genera programas mas rápidos?

difedoca

Lanero Reconocido
27 Feb 2004
287
Un buen lenguaje no solo es determinado por el rendimiento del programa que genere, tambien lo es su portabilidad, sintaxis fácil de escribir y leer, cantidad de librerias de terceros, etc. Pero siempre es bueno saber con que lenguaje tendremos un programa con un ejecutable de rendimiento superior. aqui les dejo un enlace en los que se hacen benchmarks de casi todos los lenguajes de programación con varios compiladores diferentes. http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=all

Para mi sorpresa los ejecutables mas rapidos no son los de el lenguaje C, son los de C++, con compiladores GNU. Me sorprende mucho ver que Java no es tan lento como parece y ver la diferencia abismal que existe entre los lenguajes compilados y los interpretados, por ejemplo Python que es uno de los interpretados mas rapidos (y mi lenguaje favorito) es 16 veces mas lento que C++. Tambien me soprendio ver que Ruby es tremendamente mas lento que Python, del orden de 5x mas lento.

Estaba buscando un lenguaje para programación web, ahora lo mas efectivo son los frameworks, creo que me decido por Python+Django, tambien tenia en cuenra Ruby on Rails, pero ver esta diferencia de rendimiento, sentir Python mas comodo y ver que todo lo que se hace en RoR se puede en Django me hace inclinarme por este ultimo.
 
  • Me gusta
Reacciones: 2 personas
La version de Ruby que esta pronta a salir (2.0) corrige lo que se refiere a velocidad, algunos de estos cambios ya se ven reflejado en la version 1.9.

La velocidad no es tampoco el unico factor que importa, tambien hay que tener en cuenta la memoria, y en esto Ruby si se lleva a muchos lenguajes por delante.
 
bueno pos hablando de velocidad....eso depende mucho del manejo a bajo nivel...es decir de la capacidad que proporcione el lenguaje de comunicarse directamente con la maquina...asi que aun cuando sea algo muy engorroso...y los resultados no sean muy vistosos....el lenguaje a bajo nivel siempre sera el mas rapido...en ese campo un "hola mundo" hecho en c++ es una tortuga comparado con un "hola mundo" hecho en assembler....he me refiero al ensamblador puro sin macros ni cosas de esas....
 
PUES PARA GENERAR programas mas rapidos, pues tanto en java con netbeans o visual studio puedes generar simples aplicaciones superrapido.. sin tirar mucho codigo...
 
El titulo esta bien formulado Yeison no dije para GENERAR PROGRAMAS MAS RADIDO dije GENERAR PROGRAMAS MAS RAPIDOS, osea ejecutables mas veloces. Si va a postear diga algo serio o que aporte algo hombre.
 
El titulo esta bien formulado Yeison no dije para GENERAR PROGRAMAS MAS RADIDO dije GENERAR PROGRAMAS MAS RAPIDOS, osea ejecutables mas veloces. Si va a postear diga algo serio o que aporte algo hombre.

Cuando se habla de generar, es una palabra que implica al compilador de lenguaje de programacion, y el tiempo de geenracion, es el tiempo que toma el compilador en generar una aplicacion... pues si te estas refiriendo a : con que lenguaje de programacion se crean aplicaciones que utilicen menos tiempo de ejecucion? si seria la pregunta bien formulada... asi que dejese de payasadas.
 
Loco volvemos a los mismo, cuando uno dice GENERAR PROGRAMAS MAS RÁPIDOS, no se esta refiriendo al tiempo que tarda el compilador en hacer el ejecutable, estoy hablando de que el programa generado sea rapido o de alto rendimiento. Todos entendieron menos usted. Aprenda a leer.
 
Una critica que si aceptaría, es el hecho de que el lenguaje en si no es lo mas determinante para generar un programa óptimo. Depende del compilador también hay compiladores que generan ejecutables mucho mas óptimos que otros compiladores del mismo lenguaje. Java tiene muchos pero sabemos que el mejor es el de Sun, incluso hay versiones compiladas e interpretadas de un mismo lenguaje, obviamente la version compilada seria del orden de las 10x mas rapida. Tambien Python, tiene varios interpretes, el estandar tambien conocido como Cpython, Python IronPython y Jython. En el listado se pueden apreciar cada detalle y se puede ver claramente que CPython se come a los demas.

Parece ser que el que genera programas mas óptimos es el compilador de intel de C++, le gana por un pelo al de GNU. http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=all

Luego viéndolo así habría que cambiar el titulo del tema.
 
Idealmente si uno maneja el lenguaje ensamblador para una arquitectura dada (x86, x86-64, Sparc32 etc) puede generar ejecutables cuyo rendimiento sea superior a un programa generado con un compilador dado. Pero no es opción para grandes aplicaciones, asi que un compilador bien optimizado puede hacer el trabajo.
 
teneis mucha razon en cuanto a que el compilador y el interprete influyen bastante en que el ejecutable generado sea mas o menos eficiente (en cuanto a tiempo de reaccion se refiere), y esto es presizamente por lo que he dicho antes...la comunicacion a bajo nivel...puestodo lo que hace un compilador es llevar nuestro codigo llamese como se llame...a lenguaje maquina....asi que la puresa del Bytecode generado naturalmente ha de influir en el rsultado final....en cuanto a que el assembler no es util para grandes aplicaciones...es absolutamente cierto....la verdad espero que algun dia se cree un lenguje con capacidades de bajo nivel iguales alas de ensamblador pero con una potensia y sintaxis mas practica y util....para las necesidades de hoy....
 
Realmente yo creo que uno de los compiladores mas rapidos del mundo son los que trae CODE WARRIOR, despues de esos, los de Visual Studio estan bien, sin embargo todo depende del lenguaje y de la innovacion que use la Compañia del Kit de desarrollo.

Sin embargo, nadie puede negar que lo mas rapido aun en dia es el ASSEMBLER rajao con algun compilador rajao al estilo Turbo ASM o algo parecido:calma:.
 
...Sin embargo, nadie puede negar que lo mas rapido aun en dia es el ASSEMBLER rajao con algun compilador rajao al estilo Turbo ASM o algo parecido:calma:.

pos la verdad el turbo ASM y MMASM generan ejecutables considerablemente mas lentos que el DMASM o el EMU....eso devido al uso de macros....pero aun asi son volidos comparados con los ejecutbles de lenguajes 3GL o 4GL....
 
y doblando un poco el tema.

la verdad que ahora el reto no es un ejecutable rapido, si no ahora que sea multihilo y rapido....

pues es lo mejor, pues aqui en el trabajo habia una aplicacion sin hilos ni nada y hacia conexiones para enviar peticiones a webservice internet y eran como 10000 transacciones y se demorabaa como 8 horas, ahora con multiprocesos no se demora ni 4 horas porque se estan enviando muchas transacciones al mismo tiempo
 
si, el compilador y el interprete...
pero generalmente todo lenguaje basado en scripting jala mas rapido...

De donde sacas eso?
es una TOTAL y ABERRANTE mentira.


De plano si se va a hablar de performance cualquier lenguaje de scripting interpretado linea a linea queda descartado.

Una critica que si aceptaría, es el hecho de que el lenguaje en si no es lo mas determinante para generar un programa óptimo. Depende del compilador también hay compiladores que generan ejecutables mucho mas óptimos que otros compiladores del mismo lenguaje.

Bien!, alguien que sabe del tema. Tienes un karma de mi parte.

ahora mi opinion:

hay tres grupos de lenguajes: que al compilarlo generan código nativo (ej. c++, pascal, ensamblar los de asm), que al compilarlos generan codigo intermedio (C#, java), y los de script interpretados linea a linea.

Los de script de una vez: loosers... nada que hacer son muy MUY lentos.

asm genera código muy rápido pero es mayoritariamente inutil para el +95% de las tareas hechas hoy día- Hoy en día casi no vale la pena trabajar en asm porque incluso es tremendamente complicado que un desarrollador asm experimentado logre superar la calidad de código generado por compiladores como el de visual studio.

C++ genera código muy rapido, pero no depende del lenguaje sino del compilador,

Java... antes de la 1.5 looser... ya despues puede haber mejorado pero no oo he testeado lo suficiente.

C# y en general lenguajes basados en CLR son muy rápidos...
De nuevo depende del compilador, tanto del VS para generar IL como del JIT para generar el codigo 'nativizado'...

no se con mono , pero con el compilador de visual studio y el jit de .net framework vuela...

Incluso en pruebas que hemos hecho en msdn hemos logrado programas de C# corriendo más rápido que su versión de programa en C++... quien lo creyera...

si no ahora que sea multihilo y rapido....
y seguro... pero no tiene nada que ver, eso no depende de los lenguajes, ni de los compiladores, usualmente depende mas del hardware y de la arquitectura del sistema operativo.
 
y en general lenguajes basados en CLR son muy rápidos...
si, seguramente... como basic...
Algunas vez has usado Python?
o no los dan el los cursos de Microsoft?.
Pero no viene al Tema, la verdad que se habla del Lenguaje de Programacion, y esos los mas rapidos son ASM y C(++)...
Aunque repito, que el pararigma actual es programar Multihilo, si no puedes ir descartando la potencia total de tu Core 2 DUO, o tu Optacore...
 

Los últimos temas