Código:
localhost ~ # ./pi 20
Version 2.0 of the super_pi for Linux OS
Fortran source program was translated into C program with version 19981204 of
f2c, then generated C source program was optimized manually.
pgcc 3.2-3 with compile option of "-fast -tp px -Mbuiltin -Minline=size:1000 -Mnoframe -Mnobounds -Mcache_align -Mdalign -Mnoreentrant" was used for the
compilation.
------ Started super_pi run : Thu Aug 23 12:45:43 CEST 2007
Start of PI calculation up to 1048576 decimal digits
End of initialization. Time= 0.400 Sec.
I= 1 L= 0 Time= 1.276 Sec.
I= 2 L= 0 Time= 1.320 Sec.
I= 3 L= 1 Time= 1.452 Sec.
I= 4 L= 2 Time= 1.452 Sec.
I= 5 L= 5 Time= 1.448 Sec.
I= 6 L= 10 Time= 1.448 Sec.
I= 7 L= 21 Time= 1.452 Sec.
I= 8 L= 43 Time= 1.456 Sec.
I= 9 L= 87 Time= 1.448 Sec.
I=10 L= 174 Time= 1.448 Sec.
I=11 L= 349 Time= 1.452 Sec.
I=12 L= 698 Time= 1.448 Sec.
I=13 L= 1396 Time= 1.452 Sec.
I=14 L= 2794 Time= 1.444 Sec.
I=15 L= 5588 Time= 1.448 Sec.
I=16 L= 11176 Time= 1.436 Sec.
I=17 L= 22353 Time= 1.424 Sec.
I=18 L= 44707 Time= 1.380 Sec.
I=19 L= 89415 Time= 1.292 Sec.
End of main loop
End of calculation. Time= 28.538 Sec.
End of data output. Time= 0.148 Sec.
Total calculation(I/O) time= 28.686( 0.612) Sec.
------ Ended super_pi run : Thu Aug 23 12:46:12 CEST 2007
Código:
localhost ~ # cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 95
model name : AMD Athlon(tm) 64 Processor 4000+
stepping : 3
cpu MHz : 2605.483
cache size : 512 KB
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow up pni cx16 lahf_lm svm cr8_legacy
bogomips : 5215.46
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
No se si es que lo he hecho mal, pero ha dado un rendimiento bastante bueno en relación a lo que he visto en el resto de benchmarks. Y esto me ha hecho pensar.
Creo que los resultados de este test no son relevantes. En primer lugar estamos ejecutando un binario compilado en "veteasabertuquemaquina", y esto puede ser un dato muy significativo.
Luego esta la diferencia entre los 32 y 64 bits, seguro que la mayoría de gente usa windows 32 bits aunque su CPU sea 64. Y el binario esta compilado para 32 bits. Se estan utilizando instrucciones de un procesador de 32 bits! Esto limita mucho el rendimiento. Miren que dice "file" del binario:
Código:
localhost ~ # file pi
pi: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, dynamically linked (uses shared libs), stripped
La otra cosa es que muchos de los procesadores son doble núcleo. Y este programa no esta hecho para funcionar en soporte SMP, por lo tanto solo usa 1 core. Este se refleja en que máquinas menos potentes que son simple core dan más rendimiento que muchas más potentes doble core.
Aqui un ejemplo:
AMD Athlon(tm) 64 Processor 4000+ (1 core) --> 28.538 Sec.
AMD Athlon(tm) 64 X2 Dual Core Processor 4400+ (2 cores) --> 31.174 Sec
Y las dos tienen el mismo sistema: Gentoo amd64. Además mientras se hacia el benchmark al dual core, he podido observar con htop que solo funcionava 1 núcleo.
XD Siento ser aguafiestas, pero estos resultados poco dicen del verdader rendimiento de las CPUs. Únicamente puede servir para comparar procesadores 32bits de 1 solo núcleo. Busquen un benchmark con soporte SMP y veran como los Core 2 duo y los Amd X2 arrasan, XD.
Citar
Una idea: El benchmark haganlo con menos boludeces abiertas tongue. Y les va a dar mejor...
Si esto es cierto es que decididamente el benchmark no sirve para nada... Tener "boludeces" abierta se supone que es tener datos cargados en memoria. Si abres el firefox por ejemplo, se carga en memoria PERO NO GASTA CPU si es que no lo estas usando. Un buen benchmark de MicroProcesador tendría que ser totalmente independiente al uso de memoria o disco.