We've measured gettimeofday() cost on both of Xeon and P3, too.
We also measured them on different kernels (UP and MP).
Xeon(2GHz) P3(1GHz)
=========================================
UP kernel 939[ns] 441[ns]
1878[cycles] 441[cycles]
-----------------------------------------
MP kernel 1054[ns] 485[ns]
2108[cycles] 485[cycles]
-----------------------------------------
(The kernel version is 2.4.18)
In this experiment, Xeon is two times slower than P3, despite that the
frequency of the Xeon is two times faster. More over, the performance
difference between UP and MP is very interesting in Xeon case. The
difference of Xeon (230 cycles) is five times larger than that of P3
(44 cycles).
We think that the instructions with lock prefix in the MP kernel
damage the Xeon performance which serialize operations in an execution
pipeline. On the P4/Xeon systems, these lock operations should be
avoided as possible as we can.
The following web page shows the details of this experiment.
http://www.labs.fujitsu.com/en/techinfo/linux/lse-0211/index.html
Regards
At Mon, 16 Dec 2002 22:18:27 -0800 (PST),
Linus wrote:
> On Mon, 16 Dec 2002, Linus Torvalds wrote:
> >
> > For gettimeofday(), the results on my P4 are:
> >
> > sysenter: 1280.425844 cycles
> > int/iret: 2415.698224 cycles
> > 1135.272380 cycles diff
> > factor 1.886637
> >
> > ie sysenter makes that system call almost twice as fast.
>
> Final comparison for the evening: a PIII looks very different, since the
> system call overhead is much smaller to begin with. On a PIII, the above
> ends up looking like
>
> gettimeofday() testing:
> sysenter: 561.697236 cycles
> int/iret: 686.170463 cycles
> 124.473227 cycles diff
> factor 1.221602
-----
Shuji Yamamura (yamamura@flab.fujitsu.co.jp)
Grid Computing & Bioinformatics Laboratory
Information Technology Core Laboratories
Fujitsu Laboratories LTD.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/