Re: rendimiento de scripts
Iñigo Tejedor Arrondo wrote:
>
> ¿es realmente C más rápido que bash? ¿o depende de las circunstancias?
>
En un lenguaje interpretado, como en los scripts de Bash, hay que
interpretar primero cada instrucción. La conversión a código máquina o
el enlace (link) a librerías se hacen a posteriori y por eso es más
lento en programas grandes.
<<-
Los lenguajes compilados son lenguajes de alto nivel en los que las
instrucciones se traducen del lenguaje utilizado a código máquina para
una ejecución rápida. Por el contrario un lenguaje interpretado es aquel
en el que las instrucciones se traducen o interpretan una a una siendo
típicamente unas 10 veces más lentos que los programas compilados.
->>
Fuente: http://es.wikipedia.org/wiki/Lenguaje_compilado
Además, en la mayoría de los scripts de bash se acaban ejecutando
programas externos, como /bin/grep, /usr/bin/sort, /usr/bin/find,
/bin/cat, ... lo cual sobrecarga bastante.
También, naturalmente, depende del tipo y tamaño de los datos con los
que vayas a trabajar. Yo no me pondría a procesar un archivo de 1Gbyte
en un script de Bash, ni lo usaría para cálculos científicos (aunque
prefiero no jurarlo, que luego me vienen recordando que la NASA usa Python).
Aparte de eso, para acabar de rizar el rizo, resulta que ¡Bash está
escrito en C! Igual que muchos intérpretes y módulos de otros lenguajes
de script conocidos (Perl, Python, ...)
(Perdón, se me escapó no enviarlo a la lista nada más, inicialmente)
Saludos
--
--
Gabriel Núñez~
-
gabriel.nnl(at)estudiante.uam.es -- gabriel.nunez(at)hispalinux.es
//May The Source Be With You//
--//--
--//-- Infórmese sobre las patentes de software: /-
http://proinnova.hispalinux.es/
http://eupat.ffii.org/
Reply to: