All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.