# ayuda !!!!       prelinking !!!!     frustracion !!!!

## YANTU

necesito ayuda y no se si mi solucion es el prelinking ese, pero me destroza los tiempos de ejecucion de mozilla y openoffice en mi maquina, p3 a 533 con 512 ram

bash-2.05b# time mozilla

real    0m50.495s

user    0m4.040s

sys     0m0.935s

bash-2.05b# time soffice

real    0m43.839s

user    0m4.735s

sys     0m2.365s

el tiempo real es el que tarda en aparecer la ventana del programa, es para cortarse las venas

----------

## psm1984

Que tal esta la velocidad de los discos duro??

lo puedes mirar con hdparm -t /dev/hdx

----------

## YANTU

bash-2.05b# hdparm -t /dev/hda

/dev/hda:

 Timing buffered disk reads:   12 MB in  3.23 seconds =   3.71 MB/sec

no se si es alto o bajo

----------

## YANTU

decir que solo tengo un disco duro

ah, y comentar que una vez abierta una ventana de mozilla, mirad como cambian los tiempos:

bash-2.05b# time mozilla

real    0m0.385s

user    0m0.065s

sys     0m0.070s

como cambia la cosa, pero una vez cerrradas todas las ventanas de mozilla, volver a abrir la primera me vuleve a tardar lo de antes.

----------

## SpOeK

Hola, a mí en principio me parece una cifra bastante baja.

 *YANTU wrote:*   

> bash-2.05b# hdparm -t /dev/hda
> 
> /dev/hda:
> 
>  Timing buffered disk reads:   12 MB in  3.23 seconds =   3.71 MB/sec
> ...

 

Haz hdparm /dev/hda y pon los resultados aquí. También sería interesante que comentaras que modos de transferencia soporta tu disco duro. Si no lo sabes, al menos el modelo y fabricante.

Un saludo.

----------

## psm1984

lo mas seguro que tengas el dma desactivado, para activarlo pon hdparm -d 1 /dev/hdxx , lo normal es que este en torno a 25 MB/s. Al iniciar el gentoo avisa si no lo tienes activo. Una razon por la que no se inicie al principio es porque en el kernel no tengas elegido el shouthbridge. Si no sabes cual es, lo puedes mirar con el modelo de la placa base o en el manual de la misma.

PD: si quieres que en lugar de bash te aparezca usuario y el lugar donde estas edita el archivo /home/"aqui el nombre de tu usuario"/.bashrc y añade la linea source /etc/profile

----------

## lunatc

Yo tambien creo que no tienes activado el dma para los discos.

Prueba a hacer 

```
/etc/init.d/hdparm start
```

Para activarlo siempre en el arranque:

```

rc-update add hdparm boot

```

```

root@tonilnx toni # hdparm -Tt /dev/hda

/dev/hda:

 Timing buffer-cache reads:   1172 MB in  2.00 seconds = 586.00 MB/sec

 Timing buffered disk reads:  116 MB in  3.00 seconds =  38.67 MB/sec

toni@tonilnx toni $ time mozilla

real    0m10.435s

user    0m1.640s

sys     0m0.220s

toni@tonilnx toni $ time soffice

real    0m19.935s

user    0m2.705s

sys     0m0.270s

```

Saludos

----------

## cnyx

yo cuando hago /etc/init.d/hdparm start me dice lo siguiente:

```

dir: /dev/discs: No Such file or directory

dir: /dev/cdroms: No Such file or directory

```

y me sigue dando losmismo tiempos:   14MB en 3.06 segundos

que es lo que falla?

----------

## lunatc

Pues no entiendo como es que no tienes /dev/discs. En el mio aparecen como enlaces simbolicos a los discos y cdrom que tengo (hda, hdb, ...)

```

root@tonilnx toni # ls -l /dev/discs/

total 0

lr-xr-xr-x    1 root     root           30 1970-01-01 00:00 disc0 -> ../ide/host0/bus0/target0/lun0

lr-xr-xr-x    1 root     root           30 1970-01-01 00:00 disc1 -> ../ide/host0/bus1/target0/lun0

root@tonilnx toni # ls -l /dev/cdroms/

total 0

lr-xr-xr-x    1 root     root           34 1970-01-01 00:00 cdrom0 -> ../scsi/host0/bus0/target0/lun0/cd

lr-xr-xr-x    1 root     root           34 1970-01-01 00:00 cdrom1 -> ../scsi/host0/bus0/target1/lun0/cd

```

No se si creando los enlaces simbólicos a mano funcionara, si esos enlaces los gestiona devfsd o si son enlaces fijos que venían en el stage al descomprimirlo (de todas formas este sistema es una 1.2 actualizada hasta la fecha)  :Question: 

De todas formas yo no tenía activado hdparm en el arranque y consigo los mismos resultados (la cosa no cambia). En el kernel tengo lo siguiente activado:

 ATA/IDE/MFM/RLL support  --->

     IDE, ATA and ATAPI Block devices  --->

           [*]       Use PCI DMA by default when available

----------

## cnyx

que es devfs? creo que lo tengo deshabilitado. en el grub.lst tengo gentoo=nodevfs o algo asi. puede que sea por eso que no tengo los enlaces?

----------

## cnyx

ya he compilado el kernel con soporte para devfs ahora me da 40MB/sec.

eso esta bien no? esa velocidad que mide? quiere decir que es capaz de leer 40MB en un segundo?

gracias, saludos

PD: sigo queriendo que alguien me explique por encima que es devfs y para que sirve que aunque lo he activado sigo sin saber que es.

----------

## trompa

http://www.gentoo.org/doc/en/devfs-guide.xml

----------

## caos

Un par de cosillas.

Yo me estoy pensando poner en mi maquina lo del prelink, pero

¿realmente merece la pena? ¿Se nota mucho el cambio de velocidad?

¿cuanta tarda en hacerlo? ¿es como un "emerge system" que se tira todo el dia?

----------

## KrS

Hola, llevo siguiendo este hilo con atencion, porque me interesa bastante el tema de la velocidad del hd, y creo que en mi caso es mejorable, tenía activado el [*] Use PCI DMA by default when available, y despues de leer vuestros post, he activado el hdparm al inicio como deciais, pero no he obtenido apenas mejora, la cosa sigue rondando de 17 a 21 MB/sec, el caso es que no noto la máquina lenta, ya que asi como deciais que a vosotros mozilla os tarda unos cuantos segundos, a mi me tarda esto:

```
krs@mind KrS $ time mozilla

real    0m8.626s

user    0m4.115s

sys     0m0.440s

```

que no está mal, sobre todo pensando que uso mas que nada konqueror y ese no pasa de 3 segundos, pero sobre todo me he sorprendido que a ti, cnyx, te haya pasado de 3MG a 40MG!!!!!!   Yo tambien quiero!!   :Laughing: 

Bueno disculpas por el rollo y si podeis darme alguna sugerencia lo agradeceré.

----------

## SpOeK

Hola, la velocidad máxima a obtener depende normalmente de cuatro parámetros:

1.- Modos de transferencia que soporta el chipset de la placa base.

2.- Modos de transferencia que soporta el disco duro que estamos usando.

3.- Estado de desarrollo del driver que da soporte al chipset (concretamente, southbridge). Aquí, hay que configurar correctamente en el kernel el modelo de chipset que tenemos.

Para saber cuál es, basta con realizar la siguiente operación:

 *Quote:*   

> averno linux # cat /proc/pci |grep -i IDE
> 
>     IDE interface: Advanced Micro Devices [AMD] AMD-768 [Opus] IDE (rev 4).

 .

Con eso obtenemos el modelo del chipset. Ahora, en el kernel, en ATA/IDE/MFM/RLL support, en IDE, ATA and ATAPI Block devices ---> y luego en la sección de --- IDE chipset support/bugfixes, seleccionamos:

 *Quote:*   

> --- IDE chipset support/bugfixes
> 
> [ ]   CMD640 chipset bugfix/support
> 
> [ ]   RZ1000 chipset bugfix/support
> ...

 

y más abajo el modelo exacto del chipset. En mi caso:

 *Quote:*   

> [*]     AMD and nVidia IDE support

 .

Normalmente, los últimos kernels suelen tener las últimas versiones de los drivers. Yo, por ejemplo, he saltado de gentoo-sources-2.4.20-r8 a vanilla-sources-2.4.22 por problemas en el soporte de una placa nueva que he comprado. Ahora tira de maravilla.  :Cool: 

4.- Lo último que hay que hacer es configurar bien el disco con hdparm.

 *Quote:*   

> hdparm -d1 -u1 -c1 -X69 /dev/hda

 

-d1 Activa el soporte de DMA.

-u1 Mejora la respuesta de Linux mientras se procesa una interrupción de disco.

-c1 Activa el soporte de E/S de 32 bits.

-X69 ¡OJO! Este es para mi disco en particular. Soporta UDMA 5, con lo que el valor que tengo que poner es 64 + 5 = X69. Si fuera UDMA 6, sería -X70. Hay que tener cuidado con este valor, y poner el máximo que soporte el disco, siempre que la placa base lo permita.

Ahora, una test de velocidad con:

 *Quote:*   

> hdparm -Tt /dev/hda

 

nos debería indicar alguna mejoría.

Luego, estos cambios hecho con hdparm, hay que hacerlos permanentes. Para ello, se modifica el fichero /etc/conf.d/hdparm y luego se añade al inicio con:

 *Quote:*   

> rc-update add hdparm default

 

Y esto es todo, creo. Espero que le sea útil a alguien. Siento que la respuesta sea un poco amplia.   :Embarassed: 

Un saludo.

----------

## cnyx

Hola Krs, para conseguir ese cambio solo tienes que hacer lo que explica Spoek. Por supuesto necesitas tener soporte para devfs que era el problema que tenia yo antes.

Otra cosa me gustaria conseguir un arranque mas rapido en mis programas (esperar de 4 a 8 segundos a que se habra epiphany o mozilla es inadmisible en un ATHLON a 1GHZ con 256 DDR), pero sigo el manual de prelink y no consigo nada. 

He preguntado si alguien sabia cuanto tardaba el proceso, porque a mi me cuesta medio minuto y me parece muy raro que tarde tan poco, pero no han sabido responderme. Creo que realmente no llega a hacer porque en todas las lineas me dice que no se encuentro el archivo o el directorio.

Si alguien me aclara algo de prelink se lo agradecere.

En cualquier caso gracias a todos los que me habeis abierto los ojos con el rendimiento del disco duro.

saludos

----------

## cnyx

mentira, cuando ejecuto el prelink me dice algo asi:

```

prelink: /usr/lib/evolution/1.4/libcamel.so.0.0.0 is not present in any config file directories, nor was specified on command line.

```

Esto ya lo he puesto en otro post, pero bueno a ver si aqui alguien sabe decirme algo.

saludos.

----------

## trompa

a te dice en el doc de prelink, tendrias que recompilar aquellos programas que usen esas librerias para que te vaya el prelink, yo al final quite el prelink, no me apetecia recompilar las X y creo que gnome tb  :Smile: 

----------

## KrS

Bueno, a ver si me aclaro, el driver de mi placa ya lo tenía correctamente seleccionado en el kernel:

 *Quote:*   

> mind KrS # cat /proc/pci |grep -i IDE
> 
>     IDE interface: ALi Corporation M5229 IDE (rev 194).

 

 *Quote:*   

>   [*]     ALI M15x3 chipset support   
> 
>  [ ]       ALI M15x3 WDC support (DANGEROUS)

 

Aunque no sé si debo seleccionar la opcion de WDC, no sé si mi disco (o mi placa) la soporta, ya que no tengo ni idea que es...   :Embarassed: 

Lo que no había hecho y gracias SpOeK ya lo he puesto son las opciones -u1 -c1 y -X68 pasandoselas a hdparm en /etc/conf.d/hdparm, pero tengo una duda, porque no sé realmente que UDMA soporta ¿como lo puedo saber?, porque si hago:

 *Quote:*   

> mind linux # hdparm -i /dev/hda
> 
> /dev/hda:
> 
>  Model=ST320413A, FwRev=3.35, SerialNo=5ED0TAHC
> ...

 

Según pone ahí solo soporta los modos udma0 udma1 y udma2, y se me ha ocurrido pasarle el parametro -X66 a hdparm y se me ha quedado tostado el pc, haciendo un pitido horroroso xDD pero bueno, no hay nada que no se pueda arreglar, me he aventurado a pasarle el parametro -X68, ya que al inicio del pc, me dice que soporta Ultra DMA 4, y es cierto que ahora ya no se me ha quejado, pero y aquí está lo extraño, nada más ejecutar el comando con sus argumentos, he hecho la comprobacion y el resultado ha sido 29MG/sec (casi he tenido una ereccion y todo al verlo xDD), pero ahora mismo, si vuelvo a testearlo:

 *Quote:*   

> mind linux # hdparm -tT /dev/hda
> 
> /dev/hda:
> 
>  Timing buffer-cache reads:   248 MB in  2.02 seconds = 123.08 MB/sec
> ...

 

No sé si estoy haciendo algo mal, o simplemente no se puede mejorar, por cierto ¿cómo me puedo asegurar de que UDMA soporta mi equipo? porque en la documentacion de la placa no encuentro nada al respecto.

Yo si que pido disculpas por este tocho   :Embarassed:   y gracias

----------

## SpOeK

Hola, la opción de WDC no es nada recomendable, de hecho la ayuda casi te prohibe que lo uses a no ser que seas tonto.  :Smile:   *Quote:*   

> You are a fool for enabling this option

 .

Según la información que das, el máximo modo soportado por el disco es UDMA 2, así que debería ser -X66. Si se cuelga como indicas, quizá deberías ver si hay alguna  versión más moderna del driver.

He mirado y en gentoo-sources-2.4.20-r8 está la versión 0.10 de Junio 2000. En cambio, en vanilla-sources-2.4.22 está la versión 0.17, de este año.

Si usas gentoo-sources-2.4.20-r8, deberías sopesar cambiar de kernel.

Si tienes otro kernel, no creo que esté mal. UDMA 2 es ATA-33, que debería rondar los 20 MB/s.

Un saludo.

----------

## KrS

Bueno, yo creo que ya lo puedo dejar como está, he estado haciendo pruebas con UDMA 2 y los resultados no me han gustado nada, no subía de 15MG, lo he vuelto a poner a UDMA 4 y he parado todos los servicios que había corriendo en la máquina y los resultados ya han sido más satisfactorios, rondaba todo el rato los 30MG.

Sobre lo de cambiar de kernel, me lo voy a pensar, porque sí, uso las gentoo-sources-2.4.20-r8, pero de momento me dá pereza tener que recompilar el kernel y todo lo que viene despues (alsa, nvidia-kernel, nvidia-glx, etc...

muchas gracias por la ayuda, que al menos ya he aprendido algo más

----------

## cnyx

si no he entendido mal lo que quieres decir trompa, es que no me va porque cuando compilé los programas todavia no tenia el prelink instalado no? entonces todos los programas que instale y compile a partir de ahora si que podre linkarlos con el prelink no?

Otra cosa se puede recompilar sin tener que desinstalar? igual esto que digo es una gilipollez...

saludos

----------

## Anarconda

Saludos,

Yo en estos casos le digo al emerge que lo vuelva a instalar y ya está.

----------

## cnyx

y en cuanto a lo del prelink que me dices Anarconda?

cuando lo ejecuto me salen estos mensajes por lo que deduzco que no hace nada:

```

prelink: /usr/lib/svgalib/demos/joytest: Cannot prelink against non-PIC shared library /usr/lib/libvga.so.1

prelink: /usr/bin/asnparser: Cannot prelink against non-PIC shared library /usr/lib/libpt_linux_x86_r.so.1.5

prelink: /usr/lib/svgalib/demos/svidtune: Cannot prelink against non-PIC shared library /usr/lib/libvga.so.1

prelink: /usr/lib/svgalib/demos/testaccel: Cannot prelink against non-PIC shared library /usr/lib/libvga.so.1

prelink: /usr/bin/restorefont: Cannot prelink against non-PIC shared library /usr/lib/libvga.so.1

prelink: /usr/bin/mencoder: Cannot prelink against non-PIC shared library /usr/lib/libdivxencore.so.0

root@Lyann eneas #

```

Esto es solo una muestra, estos mensajes salen cientos de veces.

sabes algo?

saludos

----------

## SpOeK

Hola, para eliminar los fallos al hacer prelink contra libvga (tomado de la guía de prelink):

```
// For svgalib, /usr/lib/libsvga.so.xx

# emerge ">=media-libs/svgalib-1.9.16"
```

Por si acaso, te pego todas las librerías que deberías reemerger. Si aún así sigue fallando y no están marcados como irresolubles, recuerda que a veces hace falta reemerger librerías que están enlazadas a librerías que has vuelto a reemerger.   :Shocked:  ¡Toma ya!   :Razz: 

```
// For the ORBit library /usr/lib/libIIOP.so.0.5.17

# emerge ">=sys-apps/tcp-wrappers-7.6-r4" ORBit

// For zlib library usr/lib/libz.so.1.1.4

# emerge ">=sys-libs/zlib-1.1.4"

// For svgalib, /usr/lib/libsvga.so.xx

# emerge ">=media-libs/svgalib-1.9.16"

// For the XFree openGL library, libGLU.so.1

# emerge ">=x11-base/xfree-4.2.1-r2"

// For libpcap.so.0.6

# emerge ">=net-libs/libpcap-0.7.1-r2"

// For the lcms library, /usr/lib/liblcms.so.1

# emerge ">=media-libs/lcms-1.09"

Note: Many libraries link statically to zlib and/or tcp-wrappers so first try emerging those and re-emerging the problem library. 
```

Las librerías de winex y liblavfile no tienen solución por ahora.

La guía la puedes encontrar aquí:

http://www.gentoo.org/doc/en/prelink-howto.xml

Un saludo.

----------

## cnyx

ok, gracias, ya las estoy emergiendo. una cosa cuanto tarda mas o menos el proceso si lo haces para todo el sistema? 

y ese problema que se plantea cuando hay poco disco de cuanto espacio hablan mas o menos?

gracias, saludos

----------

## SpOeK

Hola, a mí el proceso me suele tardar menos de cinco minutos, pero claro, depende el disco, el procesador, etc.

Respecto al espacio no sabría decirte con precisión, yo creo que sube poco pero vas a tener que hacer la prueba.

Mira cuánto tenías ocupado antes y cuánto después, y luego nos informas.   :Wink: 

¡Suerte!

----------

## Anarconda

 *cnyx wrote:*   

> y en cuanto a lo del prelink que me dices Anarconda?
> 
> cuando lo ejecuto me salen estos mensajes por lo que deduzco que no hace nada:
> 
> ....
> ...

 

Pues que el prelink no es aplicable a todos los programas. Para poder usar has de compilar con el flag PIC y no todos los programas lo permiten, puedes echar un vistazo a los ebuilds de Portage. 

En cualquier caso, si te sale cientos de veces debe ser porque no has usado ese flag desde el principio con esos programas. No considero que sea nada "preocupante" solamente que el pre-enlazado no tendrá efecto sobre ellos. Cuando tengas tiempo y ganas puedes volver a compilarlos con el flag.

Saludos.

----------

## trompa

Me he decidido a prelinkar todo, auque tenga que recompilar y me he acordado de lo que tuve que hacer on openssl:

para recompilar todos los paquetes que dependan de una libreria: (necesitas gentoolkit)

```

revdep-rebuild --soname nombre libreria

```

----------

## cnyx

ok, gracias. pero yo no noto mejoria, y si la hay al menos no es perceptible para mi.

ahora si que me linka todo menos un par de cosillas, asi que segun dicen deberia haber notado una mejora considerable, pero algo tan simple como nautilus tarda sus 5 segundos en arrancar la primera vez que lo lanzo. ya no se que hacer. Igual ya no es mejorable, pero tenia la esperanza de que con un ATHLON 1GHZ y 256 MB DDR la carga de programas puediera ser un poco mejor.

saludos

----------

## anvesaka

```
bash-2.05b$ time mozilla  

real    0m1.590s

user    0m1.155s

sys     0m0.062s

```

Usando prelink en un Athlon XP 2000.

El truco está en el RAID: dos discos duros trabajando en paralelo (modalidad 0 de RAID), con puntas de transmisión de datos de 80MB/s.

CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -ffast-math" aunque gran parte de estos flags son ignorados por el configurador del Mozilla.

El kernel es un 2.6.0-test9.

```
bash-2.05b# hdparm /dev/hda

/dev/hda:

 multcount    =  4 (on)

 IO_support   =  1 (32-bit)

 unmaskirq    =  0 (off)

 using_dma    =  1 (on)

 keepsettings =  0 (off)

 readonly     =  0 (off)

 readahead    = 256 (on)

 geometry     = 65535/16/63, sectors = 156301488, start = 0

```

Lo mismo para el otro disco duro, /dev/hdc.

Curiosamente, he notado un incremento de rendimiento usando -m 4 en vez de -m 16 con hdparm.

Saludos.

----------

## cnyx

ok, que es redahead? yo lo tengo a 8, es importante? he de cambiarlo?

saludos

----------

## ESTIMULO

 *Anarconda wrote:*   

>  *cnyx wrote:*   y en cuanto a lo del prelink que me dices Anarconda?
> 
> cuando lo ejecuto me salen estos mensajes por lo que deduzco que no hace nada:
> 
> ....
> ...

 

Vale, yo tb quiero usar a tope el prelink y no me importa recompilar. Como añado ese flag PIC para que a partir de ahora todas mis compilaciones de los programas que lo soporten usen prelink?

----------

## anvesaka

 *cnyx wrote:*   

> ok, que es redahead? yo lo tengo a 8, es importante? he de cambiarlo?
> 
> saludos

 

El readahead es la cantidad de sectores que lee cada vez que se solicita al disco duro. Es un caché por software, independiente del de hardware, que se activa con -A en vez de -a. El rendimiento poniendo una opción u otra depende mucho del disco duro, de la caché por hardware que tiene, etc.

Por ejemplo, en mi anterior disco duro, con -a 4 era como obtenía el mejor rendimiento, pero con el RAID actual el mejor rendimiento es con -a 256.

Lo mejor es probar. Estar por ejemplo un día con -a 4, otro día con -a 32, otro con -a 128, etc. Luego eliges el que vaya mejor.

Consejo: en la lectura de archivos grandes, -a 256 siempre irá mejor que -a 4, pero cuando de accesos aleatorios al disco se trata (como la carga de un programa), -a 4 puede ir mejor en algunos sistemas. Si tienes RAID es mejor dejarlo alto, y si tienes un disco duro lento, mejor bajo.

Saludos.

----------

## anvesaka

 *ESTIMULO wrote:*   

> 
> 
> Vale, yo tb quiero usar a tope el prelink y no me importa recompilar. Como añado ese flag PIC para que a partir de ahora todas mis compilaciones de los programas que lo soporten usen prelink?

 

Añade -fPIC a CFLAGS en el make.conf.

Saludos.

----------

## cnyx

en CFLAGS tienes algo asi "-ffast-math" que es esto exactamente?

Otra cosa, yo es que no me aclaro mucho con prelink (y mira que me he leido la guia) se supone que tienes que recompilar los programas para que tenga efecto? o solo ejecutarlo y ya esta? lo digo porque yo antes no tenia la opcion "-fPIC" en CFLAGS, puede que sea por eso que no notaba ninguna mejoria?

saludos

----------

## trompa

Tb sirve poner pic en las USE.

----------

## cnyx

de la misma forma -fPIC?

que diferencia hay entre ponerlo en un sitio u otro?

----------

## trompa

No, pic, asi tal cual, no se la diferencia, no se hasta que punto se saltan las compilacioes de programas las USE y las CFLAGS si no soportan alguna de ellas, simplemente es que hice la prueba de ponerlo en ls USE y hacer un emerge -pv glibc y me pone que compila con soporte pic asi que solo digo eso, q tb sirve.   :Wink: 

----------

## Javier Lopez

Volviendo al prelink, hasta donde yo se, (y puedo estar muy equivocado):

1- NO hace falta volver a compilar los programas ya instalados para que lo utilicen.

2- El proceso a mí (P4 a 2G) me tarda unos 5 minutos como mucho

3- Yo lo hago simplemente así:

```

$emerge prelink

$prelink -amfR

```

Esto me da varios errores (docenas no cientas como decía alguien), la mayoría se resuelven emergiendo algunas programas, tal como ha explicado SpOek. Aunque hay algunos programas q no se pueden prelinkar.

4- Cada x tiempo hay que volver a ejecutar el prelink para q prelinke los programas nuevos instalados. Tal vez esto no es necesario y se hace automáticamente si  añades el flag=fPIC del que se ha hablado pero la verdad es que no lo se.

5- La mejora de velocidad con según q programas no se nota, pero por ejemplo a mi, la mejora del konqueror es increible, se abre al instante. Supongo q en cada PC será diferente.

6- Para saber si un programa está o no prelinkado, por ejemplo el konqueror:

```

$ prelink -p | grep konqueror

```

7- Y para ver si realmente funciona el prelink con el konqueror:

```

$LD_DEBUG=statistics konqueror &

 25563:     runtime linker statistics:

     25563:       total startup time in dynamic loader: 10440928 clock cycles

     25563:                 time needed for relocation: 2766912 clock cycles (26.5%)

     25563:                      number of relocations: 0

     25563:           number of relocations from cache: 1936

     25563:                time needed to load objects: 7057156 clock cycles (67.5%)

Si numbers of relocations es 0 es que funciona

```

8- Por último, con los drivers nvidia y kde, hay que hacer un par de cosillas para prelinkar y seguir teniendo aceleración 3D. Si alguien le interesa, q busque una respuesta mia en  

https://forums.gentoo.org/viewtopic.php?t=28589&start=0&postdays=0&postorder=asc&highlight=

Esto mi inglés no es muy bueno, espero q se entienda ...

----------

## anvesaka

 *cnyx wrote:*   

> en CFLAGS tienes algo asi "-ffast-math" que es esto exactamente? 

 

Es una flag para indicar al GCC que optimice el código que se ejecuta en coma flotante. Mejora la velocidad de proceso de la multimedia, los juegos y el CAD, aunque puede traer algunos problemas.

 *Quote:*   

> Otra cosa, yo es que no me aclaro mucho con prelink (y mira que me he leido la guia) se supone que tienes que recompilar los programas para que tenga efecto? o solo ejecutarlo y ya esta? lo digo porque yo antes no tenia la opcion "-fPIC" en CFLAGS, puede que sea por eso que no notaba ninguna mejoria?
> 
> saludos

 

Salvo algunas librerías, no es necesaria la recompilación. Añadir -fPIC a los CFLAGS es opcional, el prelink funcionará de todas formas en la mayoría de los casos, y solo obligará al compilador a generar librerías compatibles con prelink en unos casos muy determinados.

Saludos.

----------

## cnyx

ok, gracias, ya creia yo que me iba a tocar recompilar todo

saludos

----------

