gcc: poor log() performance on Intel x86_64
Torsten Rohlfing
torsten@synapse.sri.com
Wed Mar 15 19:13:00 GMT 2006
Andrew Haley wrote:
> > When I run the two binaries on the exact same box and time them, I get
> > the following outputs:
> >
> > time ./testlog64
> > 13.264u 0.000s 0:13.26 100.0% 0+0k 0+0io 0pf+0w
> >
> > time ./testlog32
> > 6.960u 0.004s 0:06.96 100.0% 0+0k 0+0io 0pf+0w
>
>You have weird hardware.
>
>[aph@zorro ~]$ time ./testlog64
>
>real 0m7.330s
>user 0m7.328s
>sys 0m0.004s
>[aph@zorro ~]$ time ./testlog32
>
>real 0m7.538s
>user 0m7.528s
>sys 0m0.000s
>
>Andrew.
>
>
My boxes are PogoLinux WebWare CN1200 servers
(http://www.pogolinux.com/systems/servers/WebWare/index.html#cn1200).
According to the manufacturer specs the chipset is "Intel E7520
Chipset." Here's the CPU info according to the kernel (first virtual CPU
only):
[torsten@cluster0 ~]$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.00GHz
stepping : 3
cpu MHz : 3000.237
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall
nx lm constant_tsc pni monitor ds_cpl cid cx16 xtpr
bogomips : 6009.02
clflush size : 64
cache_alignment : 128
address sizes : 36 bits physical, 48 bits virtual
power management:
So it's not a big brand box, but I didn't think of it as totally obscure
either.
Unrelated - a previous reply to my post suggested that this is more
appropriately discussed on the libc list, so I am sending a CC there.
Thanks for your help.
Torsten
More information about the Libc-alpha
mailing list