[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

rendimiento de scripts



Hola,

Al hilo de obtener la carga de cpu, me ha surgido una duda de la que
siempre he odido hablar. Siempre se ha dicho que un programa en C, es
más rápido que un script grande... Incluso en gentoo había un proyecto
para migrar los scripts de arranque a programas en C con ficheros de
configuración, percisamente para optimizar el tiempo de arranque...

El caso es que si nos ponemos manos a la obra:

[inigo][imac]:~/work/c/holamundo $ time ./holamundo
Hola mundo.

real    0m0.001s
user    0m0.000s
sys     0m0.000s
[inigo][imac]:~/work/c/holamundo $ time echo "Hola mundo."
Hola mundo.

real    0m0.000s
user    0m0.000s
sys     0m0.000s

Con un built-in, el resultado es más rápido. Claro que en el momento que
nos salimso de un built-in:

[inigo][imac]:~/work/c/holamundo $ time cat <<EOT
> Hola mundo.
> EOT
Hola mundo.

real    0m0.001s
user    0m0.000s
sys     0m0.000s

No es más rápido. Imagino que porque cat, depende de las mismas tres
librerias que dependía holamundo. He probado el holamundo compilado de
manera estática y también con optimización de nivel 2 y 3, pero siempre
es más lento.

No tengo capacidad ni ganas para transcribir un script grande (digamos
p.ej. de más de 100 lineas y que llame a otros scripts) a C en estado
puro, usando solo librerías y no programas externos, pero...

¿es realmente C más rápido que bash? ¿o depende de las circunstancias?

Saludos




Reply to: