From: Chris Friesen <cfriesen@nortelnetworks.com>
To: Ben Greear <greearb@candelatech.com>
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: a faster way to gettimeofday?
Date: Wed, 06 Mar 2002 11:16:08 -0500 [thread overview]
Message-ID: <3C8640C8.367A30BB@nortelnetworks.com> (raw)
In-Reply-To: <3C859007.50102@candelatech.com>
Ben Greear wrote:
>
> I have a program that I very often need to calculate the current
> time, with milisecond accuracy. I've been using gettimeofday(),
> but gprof shows it's taking a significant (10% or so) amount of
> time. Is there a faster (and perhaps less portable?) way to get
> the time information on x86? My program runs as root, so should
> have any permissions it needs to use some backdoor hack if that
> helps!
#include <asm/msr.h>
/* get this value from the "cpu MHz" line of /proc/cpuinfo */
#define CLOCKSPEED xxxxxxxx
int main()
{
unsigned int lowbegin, lowend, highbegin, highend;
unsigned long long diff;
double elapsed;
rdtsc(lowbegin,highbegin);
//do stuff
rdtsc(lowend,highend);
if (lowend < lowbegin)
highend--;
diff = (((unsigned long long) highend - highbegin) << 32) + (lowend -
lowbegin);\x13
elapsed = (double) diff / CLOCKSPEED;
/* elapsed now has time in microseconds, do whatever you want\x13with it */\x13
return 0;
}
--
Chris Friesen | MailStop: 043/33/F10
Nortel Networks | work: (613) 765-0557
3500 Carling Avenue | fax: (613) 765-2986
Nepean, ON K2H 8E9 Canada | email: cfriesen@nortelnetworks.com
next prev parent reply other threads:[~2002-03-06 16:08 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-03-06 3:41 a faster way to gettimeofday? Ben Greear
2002-03-06 3:58 ` Davide Libenzi
2002-03-06 4:20 ` Ben Greear
2002-03-06 4:31 ` Davide Libenzi
2002-03-06 4:34 ` Davide Libenzi
2002-03-07 14:14 ` a faster way to gettimeofday? rdtsc strangeness Terje Eggestad
2002-03-07 14:41 ` Alan Cox
2002-03-07 15:43 ` Terje Eggestad
2002-03-07 16:17 ` Alan Cox
2002-03-07 18:32 ` H. Peter Anvin
2002-03-08 1:32 ` Jamie Lokier
2002-03-08 1:35 ` H. Peter Anvin
2002-03-08 1:57 ` Jamie Lokier
2002-03-08 18:30 ` gettimeofday() system call timing curiosity Jamie Lokier
2002-03-08 18:50 ` H. Peter Anvin
2002-03-08 20:16 ` Jamie Lokier
2002-03-08 20:30 ` Davide Libenzi
2002-03-08 18:54 ` Richard B. Johnson
2002-03-08 19:06 ` johan.adolfsson
2002-03-08 19:16 ` H. Peter Anvin
2002-03-08 19:45 ` Richard B. Johnson
2002-03-08 20:29 ` johan.adolfsson
2002-03-08 20:43 ` Alan Cox
2002-03-09 3:03 ` pjd
2002-03-09 18:51 ` Alan Cox
2002-03-09 3:15 ` Kelsey Hudson
2002-03-08 19:19 ` Alan Cox
2002-03-08 20:40 ` george anzinger
2002-03-06 20:45 ` a faster way to gettimeofday? dean gaudet
2002-03-06 21:31 ` Chris Ball
2002-03-06 22:25 ` george anzinger
2002-03-07 0:04 ` vsyscalls Mark Mielke
2002-03-06 16:16 ` Chris Friesen [this message]
2002-03-06 16:54 ` a faster way to gettimeofday? Richard B. Johnson
2002-03-11 22:47 ` OBATA Noboru
2002-03-12 13:06 ` Jamie Lokier
2002-03-12 15:12 ` OBATA Noboru
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3C8640C8.367A30BB@nortelnetworks.com \
--to=cfriesen@nortelnetworks.com \
--cc=greearb@candelatech.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox