Rapidez de inicio de programas y otros
rodrigo ahumada montenegro
rodahummont en yahoo.com.ar
Mie Mar 1 20:20:48 CLST 2006
El Jue 02 Mar 2006 00:36, Germán Poó Caamaño escribió:
[...]
> >
> > ...recién iniciado, entro a mi sesion en kde (bien pesado, debe haber
> > botado varias cosas de la RAM), abro un terminal y escribo: ls /usr/bin 1
> > mississippi 2 mississippi 3 mississippi 4 mississippi 5 mississippi y
> > aparece el resultado.
> >
> > time dice
> > real 0m3.892s
> > user 0m0.028s
> > sys 0m0.072s
> >
> > ovbiamente la segunda vez es casi instantáneo:
> > real 0m0.155s
> > user 0m0.040s
> > sys 0m0.036s
> >
> > /usr/bin 1938 elementos
> > y
> > /usr/lib/ 1661 elementos.
> > asi que supongo que cargar un programa por primera vez debe demorar en el
> > peor caso 10 mississippis (1 por buscar el ejecutable en /usr/bin y otra
> > por enlazar la primera lib.so buscandola en /usr/lib...(y a esto agregar
> > que muchas son enlaces simbolicos...))
>
> La mayor parte del tiempo estará dado en escribir en pantalla lo que
> lee. Influye si usas tipografías con antialias, soporte UTF-8, algún
> chiche (transparencia), etc.
pero ese efecto debería verse en las dos veces por igual, si demora en
escribir, las dos veces debería demorar en escribir...
> > > > 2.- ya se que al usar mas cĆ³digo compartido se puede ahorrar en uso
> > > > memoria (pĆ”ginas de cĆ³digo), pero para programas grandes como
> > > > firefox Āæno convendrĆa que sean mas monolĆticos y usen menos
> > > > bibliotecas compartidas?
> > >
> > > Si Firefox usa las mismas bibliotecas que otros programas graficos que
> > > usas junto con el, te conviene que sean compartidas (== menos uso neto
> > > de RAM, menos datos que cargar del disco, ...).
> >
> > toda la razón... en realidad son esos programas los que tienen
> > bibliotecas propias que son poco usadas por otros programas
>
> Para ver que archivos abre, basta aplicar strace. No sólo bibliotecas
> deben cargarse.
>
> Por ejemplo, sólo cargar y cerrar OpenOffice (no en frío):
>
> $ strace -T -f -c -e trace=file oowriter2
> % time seconds usecs/call calls errors syscall
> ------ ----------- ----------- --------- --------- ----------------
> 28.89 0.040532 9 4330 3118 access
> 27.77 0.038957 16 2375 1186 open
> 21.63 0.030350 10 3000 37 lstat64
> 11.44 0.016049 11 1465 801 stat64
> 4.70 0.006588 6 1026 fstat64
> 2.69 0.003772 377 10 execve
> 1.35 0.001893 126 15 unlink
> 0.79 0.001107 12 93 getcwd
> 0.43 0.000603 46 13 12 mkdir
> 0.19 0.000266 33 8 readlink
> 0.06 0.000087 87 1 rmdir
> 0.05 0.000071 18 4 chdir
> 0.01 0.000012 12 1 utime
> 0.01 0.000008 1 8 rename
> ------ ----------- ----------- --------- --------- ----------------
> 100.00 0.140295 12349 5154 total
>
> Idem con firefox:
>
> $ strace -T -f -c -e trace=file firefox
> % time seconds usecs/call calls errors syscall
> ------ ----------- ----------- --------- --------- ----------------
> 44.57 0.020832 22 958 374 open
> 25.69 0.012005 19 644 463 access
> 16.39 0.007659 17 456 61 stat64
> 7.92 0.003702 6 592 fstat64
> 1.60 0.000749 375 2 execve
> 0.99 0.000465 155 3 rename
> 0.98 0.000459 153 3 unlink
> 0.75 0.000351 12 29 4 lstat64
> 0.38 0.000178 178 1 chmod
> 0.38 0.000177 177 1 symlink
> 0.25 0.000117 23 5 5 mkdir
> 0.06 0.000027 27 1 utime
> 0.04 0.000017 17 1 getcwd
> ------ ----------- ----------- --------- --------- ----------------
> 100.00 0.046738 2696 907 total
>
> Así no es necesario especular cuantos archivos abre y cuantos
> no :-)
___________________________________________________________
1GB gratis, Antivirus y Antispam
Correo Yahoo!, el mejor correo web del mundo
http://correo.yahoo.com.ar
Más información sobre la lista de distribución Linux