delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/04/28/00:48:19

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Injected-Via-Gmane: http://gmane.org/
To: cygwin AT cygwin DOT com
From: "Alex Vinokur" <alexvn AT connect DOT to>
Subject: struct timeval : accuracy of tv_usec
Date: Mon, 28 Apr 2003 07:48:00 +0300
Lines: 125
Message-ID: <b8ibo1$btm$1@main.gmane.org>
X-Complaints-To: usenet AT main DOT gmane DOT org
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.50.4522.1200
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200

===========================================
Windows 2000
CYGWIN_NT-5.0 1.3.22(0.78/3/2)
GNU gcc version 3.2-3 20020927 (prerelease)
===========================================


<QUOTE from http://www.gnu.org/manual/glibc-2.2.5/html_node/Elapsed-Time.html >

struct timeval Data Type
The struct timeval structure represents an elapsed time. It is declared in sys/time.h and has the following members:
   long int tv_sec
      This represents the number of whole seconds of elapsed time.

   long int tv_usec
      This is the rest of the elapsed time (a fraction of a second), represented as the number of microseconds. It is always less
than one million.

</QUOTE>


Here is some program and results of its run.

Is 'accuracy of tv_usec' is microseconds here ?
We can see the almost 2000 prints have the same tv_usec value.

========= C code : BEGIN =========
/* File t.c */

#include <stdio.h>
#include <sys/resource.h>
#include <assert.h>

int main()
{
#define TOTAL_TIMES 7500
int i;
struct rusage tval;

  for (i = 0; i < TOTAL_TIMES; i++)
  {
    getrusage(RUSAGE_SELF, &tval);
    printf ("[%d] getrusage = %ld.%ld\n",
  i,
  tval.ru_utime.tv_sec,
  tval.ru_utime.tv_usec
  );
    fflush(stdout);
    assert (tval.ru_utime.tv_sec >= 0);
    assert (tval.ru_utime.tv_usec >= 0);
  }

  return 0;

}


========= C code : END ===========


========= Compiling & Running : BEGIN =========

% gcc t.c

% a > out

% cat out

[0] getrusage = 0.10000
[1] getrusage = 0.10000

[snip]

[1979] getrusage = 0.10000
[1980] getrusage = 0.10000
[1981] getrusage = 0.20000
[1982] getrusage = 0.20000
[4081] getrusage = 0.20000

[snip]

[4082] getrusage = 0.20000
[4083] getrusage = 0.30000
[4084] getrusage = 0.30000
[4085] getrusage = 0.30000

[snip]

[5719] getrusage = 0.30000
[5720] getrusage = 0.30000
[5721] getrusage = 0.40000
[5722] getrusage = 0.40000

[snip]

[6512] getrusage = 0.40000
[6513] getrusage = 0.40000
[6514] getrusage = 0.50000
[6515] getrusage = 0.50000

[snip]

[7309] getrusage = 0.50000
[7310] getrusage = 0.50000
[7311] getrusage = 0.60000
[7312] getrusage = 0.60000

[snip]

[7498] getrusage = 0.60000
[7499] getrusage = 0.60000

========= Compiling & Running : END ===========



--
   ==========================================
   Alex Vinokur
     mailto:alexvn AT connect DOT to
     http://www.simtel.net/pub/oth/19088.html
     http://sourceforge.net/users/alexvn
   ==========================================




--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019