/[MITgcm]/MITgcm/eesupp/src/timer_stats.c
ViewVC logotype

Annotation of /MITgcm/eesupp/src/timer_stats.c

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.4 - (hide annotations) (download)
Mon Oct 8 17:28:53 2007 UTC (16 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62v, checkpoint62u, checkpoint62t, checkpoint65z, checkpoint65x, checkpoint65y, checkpoint65r, checkpoint65s, checkpoint65p, checkpoint65q, checkpoint65v, checkpoint65w, checkpoint65t, checkpoint65u, checkpoint65j, checkpoint65k, checkpoint65h, checkpoint65i, checkpoint65n, checkpoint65l, checkpoint65m, checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65f, checkpoint65g, checkpoint65d, checkpoint65e, checkpoint62c, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62w, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint63g, checkpoint64, checkpoint65, checkpoint60, checkpoint61, checkpoint62, checkpoint63, checkpoint66g, checkpoint66f, checkpoint66e, checkpoint66d, checkpoint66c, checkpoint66b, checkpoint66a, checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, checkpoint66k, checkpoint66j, checkpoint66i, checkpoint66h, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63l, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint63h, checkpoint63i, checkpoint63j, checkpoint63k, checkpoint63d, checkpoint63e, checkpoint63f, checkpoint63a, checkpoint63b, checkpoint63c, checkpoint65o, checkpoint59q, checkpoint59p, checkpoint59r, checkpoint59m, checkpoint59l, checkpoint59o, checkpoint59n, checkpoint59i, checkpoint59k, checkpoint62b, checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64q, checkpoint64p, checkpoint64s, checkpoint64r, checkpoint64u, checkpoint64t, checkpoint64w, checkpoint64v, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint61f, checkpoint61n, checkpoint59j, checkpoint61q, checkpoint61e, checkpoint61g, checkpoint61d, checkpoint61b, checkpoint61c, checkpoint61a, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61v, checkpoint61w, checkpoint61t, checkpoint61u, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61z, checkpoint61x, checkpoint61y, HEAD
Changes since 1.3: +4 -0 lines
File MIME type: text/plain
add cvs $Header:$ or $Name:$ if they were missing

1 jmc 1.4 /*
2     * $Header: $
3     * $Name: $
4     */
5 heimbach 1.1 #include <sys/types.h>
6     #include <sys/times.h>
7     #include <sys/time.h>
8 ce107 1.2 #include <unistd.h>
9     /* Here, we get the definition of the FC_NAMEMANGLE() macro. */
10     #include "FC_NAMEMANGLE.h"
11    
12     static long clktck = 0;
13     static double invclktck = 0.0;
14    
15 cnh 1.3 double FC_NAMEMANGLE(cusertime) (void);
16     double FC_NAMEMANGLE(csystemtime) (void);
17 ce107 1.2 double FC_NAMEMANGLE(timenow) ();
18     void init_timer();
19 heimbach 1.1
20 ce107 1.2 void init_timer()
21     {
22     clktck = sysconf(_SC_CLK_TCK);
23     invclktck = 1.0/clktck;
24     return;
25     }
26 heimbach 1.1
27 cnh 1.3 double FC_NAMEMANGLE(cusertime) (void)
28 heimbach 1.1 {
29     clock_t blabla;
30     struct tms timest;
31 ce107 1.2 /* This is useless overhead but we'd need to call init_timer() elsewhere */
32     if (clktck == 0) init_timer();
33    
34 heimbach 1.1 blabla = times(&timest);
35 ce107 1.2 return invclktck*timest.tms_utime;
36 heimbach 1.1
37     }
38    
39 cnh 1.3 double FC_NAMEMANGLE(csystemtime) (void)
40 heimbach 1.1 {
41     clock_t blabla;
42     struct tms timest;
43 ce107 1.2 /* This is useless overhead but we'd need to call init_timer() elsewhere */
44     if (clktck == 0) init_timer();
45 heimbach 1.1
46     blabla = times(&timest);
47 ce107 1.2 return invclktck*timest.tms_stime;
48 heimbach 1.1
49     }
50    
51    
52    
53 ce107 1.2 double FC_NAMEMANGLE(timenow) (void)
54 heimbach 1.1 {
55     struct timeval timestr;
56     void *Tzp=0;
57     gettimeofday(&timestr, Tzp);
58    
59     return (double)timestr.tv_sec+1.0E-06*(double)timestr.tv_usec;
60     }
61    

  ViewVC Help
Powered by ViewVC 1.1.22