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