Aprovechar la potencia de nuestro procesador x86
(14220 lectures)
Por Celso González
PerroVerd
(http://mitago.net)
Creado el 26/11/2001 00:40 modificado el 26/11/2001 20:46
|
Pagina2/2 |
Notas Finales
Aunque en los paquetes rpm podemos mezclar i386 con i586 en debian no tenemos forma de saber si el paquete está optimizado para determinado procesador.
Si vamos a optimizar algo debemos tener un poco de vista :) será mucho más efectivo optimizar el paquete glibc (usado por casi todo) que el paquete man, por poner un ejemplo.
No esperemos maravillas, aunque podemos ganar algo de velocidad no significa que esta pueda llegar a ser apreciable.
Normalmente para compilar necesitaremos paquetes extras de desarrollo, por ejemplo si queremos compilar el paquete apache casi seguro que necesitaremos el paquete apache-dev. Para saber que paquetes necesitamos podemos hacer dpkg-buildpackage -D de forma que comprueba las dependencias necesarias
No todos los ficheros son tan fáciles de manejar como el del paquete hello :( normalmente cuanto más complejo es el programa mucho más complejo es el makefile el configure o el rules correspondiente
Parámetros de optimización
Los parámetros de optimización que se emplean son los mismos que usa el kernel 2.4.x. La lista es la siguiente
"486" for the AMD/Cyrix/IBM/Intel 486DX/DX2/DX4 or SL/SLC/SLC2/SLC3/SX/SX2 and UMC U5D or U5S.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i486
"586" for generic Pentium CPUs, possibly lacking the TSC (time stamp counter) register.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586
"Pentium-Classic" for the Intel Pentium.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586
"Pentium-MMX" for the Intel Pentium MMX.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586
"Pentium-Pro" for the Intel Pentium Pro/Celeron/Pentium II.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686
"Pentium-III" for the Intel Pentium III and Celerons based on the coppermine core.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686
"Pentium-4" for the Intel Pentium 4.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686
"K6" for the AMD K6, K6-II and K6-III (aka K6-3D).
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=k6
"Athlon" for the AMD K7 family (Athlon/Duron/Thunderbird).
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4
"Crusoe" for the Transmeta Crusoe series.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=0 -malign-jumps=0 -malign-loops=0
"Winchip-C6" for original IDT Winchip.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586
"Winchip-2" for IDT Winchip 2.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586
"Winchip-2A" for IDT Winchips with 3dNow! capabilities.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586
"CyrixIII" for VIA Cyrix III or VIA C3.
-O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i586
Por último, si alguien conoce mejores parámetros de optimización agradecería me los comunicase |
Paginas: <<Abreviatura Anterior 1 2 |
|
|
|
|
|
| Comentarios |
1. Re: Aprovechar la potencia de nuestro procesador x86 (26/11/2001 14:24, #3554) Por: gallir (http://m3d.uib.es/~gallir/) |
| Muy bueno Celso.
Tiempo atrás nos habías prometido que ibas a poner paquetes debian para PII... yo quiero el glib, kdebase, kdelibs y konqueror ;-) |
No es pot respondre |
2. Re: Aprovechar la potencia de nuestro procesador x86 (26/11/2001 20:55, #3567) Por: Celso |
Y yo el xfreee-server, las kdelibs3, el gcc y el tuxracer
Aunque precisamente a estos me refería cuando decía que el rules no es tan sencillo como el del hello ;-)
De todas formas estoy en ello, ya os mantendré informados y que sepais que ya tengo el deb optimizado de el hello XD
| No es pot respondre |
3. Re: Aprovechar la potencia de nuestro procesador x86 (26/11/2001 23:30, #3570) Por: gallir (http://m3d.uib.es/~gallir/) |
| Sobre la Sid? Serás nuestro Ivan Moore perticualar XDDD | No es pot respondre |
|
|
4. Re: Aprovechar la potencia de nuestro procesador x86 (26/11/2001 16:22, #3560) Por: El cobarde anónimo |
| no le falta una opcion -march a los k6/k6-2 ???? |
No es pot respondre |
5. Re: Aprovechar la potencia de nuestro procesador x86 (26/11/2001 20:49, #3566) Por: Celso |
Pues si :) pero ya está corregido
He aprovechado y de paso he añadido nuevas opciones que antes no estaban, como por ejemplo el Pentium-4 y los WinChip. | No es pot respondre |
|
6. Re: Aprovechar la potencia de nuestro procesador x86 (27/11/2001 01:43, #3574) Por: El cobarde anónimo |
| en debian esta el "pentium-builder" para automatizar el proceso |
No es pot respondre |
7. Re: Aprovechar la potencia de nuestro procesador x86 (27/11/2001 20:46, #3588) Por: Gorka Olaizola (http://helvete.escomposlinux.net) |
| El pentium-builder de Debian es un script que añade la opción -march=pentium al compilar de forma transparente si existe la variable de entorno DEBIAN_BUILDARCH
También existe un athlon-builder para usar con el gcc 3.x que ya soporta esta arquitectura, pero todavía no está oficialmente en Debian
Lo podeis encontrar aquí | No es pot respondre |
8. Re: Aprovechar la potencia de nuestro procesador x86 (27/11/2001 21:43, #3592) Por: Celso |
Lo he estado mirando y es bastante curioso
Renombra /usr/sbin/gcc como /usr/sbin/gcc.real y el gcc normal lo convierte en un ejecutable perl que llama al gcc.real pero con parametros.
He hecho un par de pruebas y lo que es el parametro -march y el -mpcu los pasa siempre, lo que no he conseguido es que pase alguno de los otros parámetros (los fomit...y tal)
Si se consigue hacer que esto funcione es bastante más cómodo | No es pot respondre |
9. Re: Aprovechar la potencia de nuestro procesador x86 (14/06/2002 01:35, #6721) Por: NetVicious |
| De hecho es lo mismo que hace el pentium-builder, aunque el pentium-builder sólo añade el match al gcc, si se añadieran el resto de opciones todo iría más rápido seguramente. | No es pot respondre |
|
|
|
10. Re: Aprovechar la potencia de nuestro procesador x86 (27/11/2001 04:52, #3575) Por: tuxisuau (http://www.7a69ezine.org) |
En Debian seria interesante un dist-upgrade que bajara sources, los compilara y los instalara. Imaginad un sistema entero compilado para vuestra CPU...
Mas argumentos a favor del soft libre. |
No es pot respondre |
11. Re: Aprovechar la potencia de nuestro procesador x86 (14/06/2002 01:37, #6722) Por: NetVicious |
Ahora mismo estoy en ello.
Estoy montando un script via bash que apoyandose en los dpkg y en el apt-get lo haga todo el solito ;-)
A ver si acabo exámenes y me pongo al tajo y lo acabo | No es pot respondre |
12. Re: Aprovechar la potencia de nuestro procesador x86 (14/06/2002 01:55, #6724) Por: tuxisuau (http://www.gentoo.org) |
Consejo: No pierdas el tiempo y pasate a Gentoo.
El portage de Gentoo esta muy currado, y te permite compilar el sistema entero y irlo actualizando con tanta o mas comodidad que apt-get gestiona los binarios.
(He estado usando Debian un año y medio, llevo 3 semanas con Gentoo y, creeme, sé de lo que hablo)
www.gentoo.org | No es pot respondre |
13. Re: Aprovechar la potencia de nuestro procesador x86 (05/09/2003 00:52, #16916) Por: El cobarde anónimo (http://www.gentoo.org) |
| Si, yo tambien uso Gentoo, y llevaba años usando Debian stable, tambien se de lo que hablo.
Para que os hagais una idea de optimizaciones para gentoo+gcc3 podeis mirarlas en estas 2 páginas, estan mucho más curradas que las expuestas arriba.... ¿para que usar optimizacion i686 para athlon!!! ? XDDDD
http://www.freehackers.org/gentoo/gccflags/flag_gcc3.html
http://www .freehackers.org/gentoo/gccflags/flag_gcc3opt.html
Ah, y si veis una comparativa de debian, mandrake y gentoo en cuanto a velocidad no le hagais caso(son benchmarks chapuceros), porque estaos seguros que la de gentoo no la tenian optimizada con buenos flags, aparte donde se notaria es si en la comparativa usasen Athlon en vez de Celeron, cuando las distros suelen estar optimizadas para Intel, en este caso veriais la diferencia con Gentoo.
Y la diferencia se nota mucho, creedme. | No es pot respondre |
|
|
|
14. Re: Aprovechar la potencia de nuestro procesador x86 (27/11/2001 16:56, #3581) Por: tuxisuau (http://tuxisuau.7a69ezine.org) |
| Alguien ha posteado una noticia interesante en Debian Planet acerca de la posibilidad de programar alguna utilidad o adaptar apt-get para poder dist-upgradear con fuentes, y compilarlos y instalarlos automáticamente. Me ha parecido interesante, puesto que así seria posible tener una distribución en nuestras maquinas totalmente compilada para aprovechar nuestras CPU. La diferencia de velocidad seria lo bastante importante para que los windowseros tuvieran OTRO motivo más para pasarse al soft libre :-) |
No es pot respondre |
15. Re: Aprovechar la potencia de nuestro procesador x86 (28/11/2001 00:17, #3598) Por: El cobarde anónimo |
| a mi me ha parecido que el incremento en el rendimiento es mas bien marginal, es cosa de gustos. | No es pot respondre |
16. Re: Aprovechar la potencia de nuestro procesador x86 (28/11/2001 00:47, #3599) Por: El cobarde anónimo |
| El incremento no tiene por que ser marginal. Tener un sistema ENTERO, desde lo mas basico hasta mozilla, X, xmms, kde, etc. ha de notarse. Seria como haber comprado una cpu nueva... todo iria mas rapido. Y en situaciones de carga... la diferencia se notaria. | No es pot respondre |
17. Re: Aprovechar la potencia de nuestro procesador x86 (14/06/2002 01:57, #6725) Por: Tuxisuau (http://www.gentoo.org) |
Doy fé de ello. He compilado un sistema entero con gcc3.1 -march=athlon -O3. La diferencia simplemente es abismal.
www.gentoo.org | No es pot respondre |
|
|
|
18. Re: Aprovechar la potencia de nuestro procesador x86 (20/08/2002 09:00, #7770) Por: Reynaldo |
tropece por ahi con este foro asi que mi contribucion es
mas bien 'casual', en fin, sobre las 'otras' opciones
de optim hay varias, algunas casi completamente
dependientes de la arquitectura, aqui va un link que
las tiene bien explicadas:
http://hints.linuxfromscratch.org/hints/old/optimization2.txt
(para que reescribir digo yo :-)
otra cosita que podria aliviarle un dolor de cabeza
a quien este tratando de optimizar para athlon (creo que no se ha mencionado) es que para usar el -march=Athlon necesitas como minimo gcc 3.0 sino, hay que usar 'i686' o pentiumpro a secas.
Ojala y sirva
Muchos saludos desde chile
Reynaldo |
No es pot respondre |
19. Re: Aprovechar la potencia de nuestro procesador x86 (24/12/2003 16:59, #18804) Por: caravena (http://pagci.unap.cl) |
Muchas gracias por este articulo, es uno de los mejores que encontrado para optimizar Debian/GNU. Sencillo y corto.
Pero que sucede con el Atlhon-XP con 128L1 y 512L2 y el gcc 3.3.x, caules serian todos los argumentos que tendriamos que agregarle para que estubiese de pelo?.
Es sufienete con los argumentos para la "Familia de Athlon"? se le puede agregar -march=athlon-xp?.
Y que sucede con esa aplicación apt-build |
No es pot respondre |
20. Re: Aprovechar la potencia de nuestro procesador x86 (24/12/2003 17:14, #18805) Por: Anónimo |
| En el gcc 3.3.2 la opción -malign-functions es obseleta, se debe cambiar por -falign-functions |
No es pot respondre |