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

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

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


Revision 1.4 - (show annotations) (download)
Mon Oct 8 17:28:53 2007 UTC (16 years, 8 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 /*
2 * $Header: $
3 * $Name: $
4 */
5 #include <sys/types.h>
6 #include <sys/times.h>
7 #include <sys/time.h>
8 #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 double FC_NAMEMANGLE(cusertime) (void);
16 double FC_NAMEMANGLE(csystemtime) (void);
17 double FC_NAMEMANGLE(timenow) ();
18 void init_timer();
19
20 void init_timer()
21 {
22 clktck = sysconf(_SC_CLK_TCK);
23 invclktck = 1.0/clktck;
24 return;
25 }
26
27 double FC_NAMEMANGLE(cusertime) (void)
28 {
29 clock_t blabla;
30 struct tms timest;
31 /* This is useless overhead but we'd need to call init_timer() elsewhere */
32 if (clktck == 0) init_timer();
33
34 blabla = times(&timest);
35 return invclktck*timest.tms_utime;
36
37 }
38
39 double FC_NAMEMANGLE(csystemtime) (void)
40 {
41 clock_t blabla;
42 struct tms timest;
43 /* This is useless overhead but we'd need to call init_timer() elsewhere */
44 if (clktck == 0) init_timer();
45
46 blabla = times(&timest);
47 return invclktck*timest.tms_stime;
48
49 }
50
51
52
53 double FC_NAMEMANGLE(timenow) (void)
54 {
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