optimización.

Este es un programa que multiplica matrices cuadradas mediante hilos en C, que se compila de manera tradicional en el shell así:
$ gcc -o prog2.x prog2.c -lpthread
$ time ./prog2.x
Enter num_threads: 4
0 250
250 500
750 1000
500 750
Tamaño de las matrices A,B,C : 4000000
real 0m7.996s
user 0m10.756s
sys 0m2.467s
donde:
gcc compilador C.
-o es una bandera que crea un archivo de tipo objeto,
prog.x nombre del ejecutable
prog.c nombre del archivo fuente.
-lpthread indica al compilador que se use el estándar POSIX threads.

La extensión en el archivo ejecutable es completamente inescesaria, pero yo la utilizo para difrenciar el ejecutable.
ahora se compila pero utilizando optimización del código fuente para ello se agrega una flag más...
$ gcc -O3 -o prog2.x prog2.c -lpthread
$ time ./prog2.x
Enter num_threads: 4
0 250
250 500
750 1000
500 750
Tamaño de las matrices A,B,C : 4000000
real 0m3.771s
user 0m6.299s
sys 0m2.288s

-03 que inidica el nivel de optimización, en este caso 3.

3 comentarios:

7 secons said...

no entendi me lo traduces ?

zonurcia said...

jiji, claro que si :P

7 secons said...

lo sabia !!!! io tengo esa enfermeda doctora !!! achinga me equivoque !!

como estas !!! donde te metes ? ya no te veo !

Post a Comment