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>