Amantes de la optimización, atención: Compilador ICC

Estoy realizando un pequeño programa que trabaja con grandes estructuras de datos y mucho calculo de grafos para unas prácticas. Lo gracioso es que dan puntos extra a los que sacan mejores tiempos de ejecución.
Pues bien, usando g++, obtenia tiempos de 2m15s aproximadamente y con icc he bajado a algo más de 30 segundos. No se hasta que punto esto es aplicable al resto de programas con orientación menos digamos "cientifica". Pero desde luego, es todo un puntazo.

Eso si, si decidis recompilar el kernel con icc:
http://softwareforums.intel.com/ids/board/message?board.id=16&message.id=1504

Id con cuidado, que no esta muy probado ;)

Saludos y feliz optimizacion :)

Edito: Apunto que el compilador de intel no es software libre, quiza me haya precipitado con este post, pero creia que era interesante para la comunidad [Ooooo]
Vuelvo a editar: Esas pruebas las he hecho en un AthlonXP, en el P3 que debe ejecutarse la aplicación el tiempo ha bajado de 2:17 a 0:33 :O
Raharu escribió:Vuelvo a editar: Esas pruebas las he hecho en un AthlonXP, en el P3 que debe ejecutarse la aplicación el tiempo ha bajado de 2:17 a 0:33 :O


Eso si que me ha dejado impresionado.... aunque es normal que existan esas diferencias entre Amd y Intel en microinstrucciones existen diferencias en cuanto a lo que se hace en cada ciclo de reloj etc.. Seguramente la cache tambien deve ser un punto a tener en cuenta.

A quien el interese , aqui hay el parche de algun kernel para poder compilar con el Intel c compiler o (icc)
http://www.pyrillion.org/

Y aqui el compilador para linux http://www.intel.com/software/products/compilers/clin/noncom.htm
Uhmm... cuando me lo has dicho por jabber me has picado mucho...

El único problema que le veo es que, a parte de no ser libre, que creo que te clavan la de Diox si haces una aplciación comercial y la compilas con icc.

Una lástima, porque podría revolucionar muchas distros...

Uhmm... a ver que tal rula ;)
Yo he oído ciertas cosillas en los foros de Hydrogenaudio sobre este compilador... hubo gente que intentó compilar LAME y otros codecs similares con él, y la conclusión fue que el código resultante era demasiado inestable como para usarse con confianza. Para cosas concretas vale, pero una distro entera me da que sería una salvajada...

Saludos.
Depende, en gentoo existe este hilo, donde se habla sobre el tema y se discute que paquetes se pueden compilar con icc:
http://forums.gentoo.org/viewtopic.php?t=113784&highlight=icc

No quiero ni imaginarme como iria kde con qt compilado con esta bestia. Y un mencoder o parecido... debe ser un lujazo. Lastima que sea propietario...

Saludos
Hombre, liberarlo igual es una burrada pero permitir su uso para aplicaciones no comerciales puede ser la crema y entonces ya veo una gentoo dopada...

Habrá que estudiar este tema.


P.D. : Joer, y yo currando un mini-compilador para unas prácticas y me parece una obra de ingeniería del carajo, no me quiero imaginar lo que será eso...
No sé si merece mucho la pena. Me he leído el hilo de los foros de gentoo y la velocidad se gana en algunos paquetes(entre un 15-20%) pero en otros se pierde.

Teniendo en cuenta que gnu/linux está diseñado para gcc, parece que no son muchas cosas las que se puden compilar con icc. Además, optimizar a costa de software no libre como que no me gusta ni un pelo...creo que se sale un poco de la mentalidad gnu ;)


por otra parte, lo he emergido para probarlo ...
alguien que lo haya probado...k flags habéis metido para un p3?


un saludo
[beer]
El compilador compila C, pero donde le saca ventaja al gcc es en C++. Un compañero mio esta implementando el mismo algoritmo que yo, pero usando C y le he recomendad el icc, pero le saca peor rendimiento.
Los flags que activo yo para p3 son estos:
-fast -Ob2 -rcd -march=pentiumiii -xK

-fast activa -O3 i [b]-static[\b], así que a lo mejor no te conviene. Por otra parte, no es lo mismo un algoritmo de 300 lineas que estoy haciendo yo a un paquete de la distro, ten mas cuidado. Aparte, esos flags son de icc8, asi que revisalos

Si te atreves a meter algun paquete con eso, cuenta que tal te ha ido

Saludos
Muchas gracias. :D

Sí que parece que compila algunas cosas 'gordas' tipo xmms.

No ando con mucho tiempo en estas fechas pero supongo que al final no podré resistirme a probarlo ;)


un saludo
[beer]
8 respuestas