Date: Mon, 14 May 2001 22:39:32 CDT From: dave <dleimbac@earthlink.net> To: freebsd-questions@freebsd.org, arch@freebsd.org Subject: Gettimeofday Again... Message-ID: <200105150337.UAA19677@gull.mail.pas.earthlink.net>
next in thread | raw e-mail | index | archive | help
Well I have been on the IRC in and out of mail list archives and cannot get
a good answer to this question...
Why does gettimeofday perform so poorly on FreeBSD vs the same hardware on
Linux 2.4.2?
---SNIP-----
#include <sys/time.h>
#include <unistd.h>
int main() {
 struct timeval tv1, tv2, tv3;
  gettimeofday(&tv1, 0);
  gettimeofday(&tv2, 0);
  gettimeofday(&tv3, 0);
  printf("Time 1 %d:%d\n", tv1.tv_sec, tv1.tv_usec);
  printf("Time 2 %d:%d\n", tv3.tv_sec, tv3.tv_usec);
}
----SNIP-----
I get anywhere from 14usec to 17usec just for the call to gettimeofday.
On  the 2.4.2 linux kernel its something like 3usec.  
I just want to know why we are so much slower.
I have heard the "caching" argument and it doesn't float very well since
all I can find is CPU based L1 cache which should also apply to FreeBSD. 
That's principle of locality stuff and more on the hardware side.  Since I
am running on identical hardware <same machine dual boot> I don't see how
this is possible except for a potential problem/lack of optimization in
FreeBSD.
Don't get me wrong... I love FreeBSD... and it generally outperforms linux
everywhere I use it.  I just don't understand this huge gap in performance.
Concerned....
Dave Leimbach
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200105150337.UAA19677>
