Skip site navigation (1)Skip section navigation (2)
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>