07 diciembre, 2006

Prelink

Tratando de optimizar mi sistema, me encontré con un manual que habla sobre prelink y lo que realmente puede hacer, sinceramente me llamo la atención y quise checar dicho paquete.

Para los que no sepan que es Prelink, es:

¿Qué es Prelink y en qué me puede ayudar?
La mayoría de aplicaciones comunes hacen uso de librerías compartidas. Estas librerías compartidas necesitan ser cargadas en memoria en tiempo de ejecución y las distintas referencias simbólicas deben ser resueltas. Para la mayoría de los pequeños programas, este tiempo de carga es muy rápido. Pero para los programas escritos en C++ y que utilicen muchas librerías, el tiempo de carga puede llevar bastante tiempo.
En la mayoría de sistemas, las librerías no se cambian muy a menudo y cuando se ejecuta un programa, las operaciones para cargarlo son siempre las mismas. Prelink se aprovecha de esto para llevar el linkado a cabo y almacenarlo en el ejecutable, prelinkándolo en realidad.
El prelinkado puede reducir los tiempos de inicialización de las aplicaciones. Por ejemplo, el tiempo de carga de un programa típico de KDE puede ser reducido hasta un 50%. El único mantenimiento requerido es ejecutar prelink cada vez que se actualice una librería para un ejecutable prelinkado.


Sacado de la Documentación de Gentoo (Click aquí para ver la documentación y manera de uso)

Bueno, después de saber algo sobre Prelink, lo instale en mi Kubuntu para probar. Obviamente para instalarlo fue tan sencillo realizar la instalación con “sudo aptitude install prelink”, ya con eso el paquete esta instalado y listo para funcionar.

Después de esperar un rato a que Prelink hiciera su trabajo, quedo todo listo. Para que los paquetes que se van a instalar funcionen con Prelink, solo se tiene que agregar la siguiente linea a “/etc/apt/apt.conf”

DPkg::Post-Invoke {"echo Running prelink, please wait...;/etc/cron.daily/prelink";}

Bueno, ya con esto se supone que esta todo listo, pero (siempre hay un pero), como en la documentación hacen creer, no noto ningún cambio, no hay aumento de velocidad en pequeñas aplicaciones de KDE ni en ningún otra cosa. Tal vez funcione mejor con distribuciones donde tengas que compilar los paquetes (como Gentoo), quien sabe, pero con Kubuntu no note ningún cambio... bueno, ahora después de instalar un paquete tarda un tiempo ya que ejecuta prelink después de configurar el paquete...