Date: Tue, 15 May 2001 09:40:12 -0500 (CDT) From: Dave Leimbach <dleimbac@MPI-Softtech.Com> To: dleimbac@earthlink.net, wes@softweyr.com Cc: freebsd-questions@freebsd.org, arch@freebsd.org Subject: Re: Gettimeofday Again... Message-ID: <200105151440.JAA01279@MPI-Softtech.Com>
next in thread | raw e-mail | index | archive | help
This is a valid point....
I will have to find the link that spawned this concern. It was an IBM
exploration of gettimeofday on linux vs a comparable function in Windows.
People immediately began claiming that linux is 2.5 x faster than Windows.
I decided to try the "tests" myself and found that by the results that are
generated FreeBSD came up more than 13 times slower than linux.
I never admitted that the tests were a good benchmark for anything. I just
thought that it was really damned slow :).
I think SMP is a way more important topic so long as gettimeofday doesn't get
called in thread context switches :).. This was mentioned before and the
overhead of gettimeofday could come into play in different areas so I felt it
was important to have a fast & accurate one.
I have no idea how to implement one so I should probably shut up now :).
Dave
>Date: Tue, 15 May 2001 08:20:48 -0600
>From: Wes Peters <wes@softweyr.com>
>X-Accept-Language: en
>MIME-Version: 1.0
>To: dleimbac@earthlink.net
>CC: freebsd-questions@freebsd.org, arch@freebsd.org
>Subject: Re: Gettimeofday Again...
>Content-Transfer-Encoding: 7bit
>
>dave wrote:
>>
>> 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.
>
>Show us a profile of an application where this is a problem. Premature
>optimization is the root of much evil. Would you rather have somebody
>spend time on optimizing gettimeofday, or working on SMP or kqueue or
>doing a security audit, something with meaning?
>
>--
> "Where am I, and what am I doing in this handbasket?"
>
>Wes Peters Softweyr LLC
>wes@softweyr.com http://softweyr.com/
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?200105151440.JAA01279>
