Graphviz  2.41.20170921.2350
timing.c
Go to the documentation of this file.
1 /* $Id$ $Revision$ */
2 /* vim:set shiftwidth=4 ts=8: */
3 
4 /*************************************************************************
5  * Copyright (c) 2011 AT&T Intellectual Property
6  * All rights reserved. This program and the accompanying materials
7  * are made available under the terms of the Eclipse Public License v1.0
8  * which accompanies this distribution, and is available at
9  * http://www.eclipse.org/legal/epl-v10.html
10  *
11  * Contributors: See CVS logs. Details at http://www.graphviz.org/
12  *************************************************************************/
13 
14 #ifndef _WIN32
15 
16 #include <unistd.h>
17 #include <sys/types.h>
18 #include <sys/times.h>
19 #include <sys/param.h>
20 
21 
22 
23 #ifndef HZ
24 #define HZ 60
25 #endif
26 typedef struct tms mytime_t;
27 #define GET_TIME(S) times(&(S))
28 #define DIFF_IN_SECS(S,T) ((S.tms_utime + S.tms_stime - T.tms_utime - T.tms_stime)/(double)HZ)
29 
30 #else
31 
32 #include <time.h>
33 #include "render.h"
34 #include "utils.h"
35 
36 typedef clock_t mytime_t;
37 #define GET_TIME(S) S = clock()
38 #define DIFF_IN_SECS(S,T) ((S - T) / (double)CLOCKS_PER_SEC)
39 
40 #endif
41 
42 
43 static mytime_t T;
44 
45 void start_timer(void)
46 {
47  GET_TIME(T);
48 }
49 
50 double elapsed_sec(void)
51 {
52  mytime_t S;
53  double rv;
54 
55  GET_TIME(S);
56  rv = DIFF_IN_SECS(S, T);
57  return rv;
58 }
void start_timer(void)
Definition: timing.c:45
double elapsed_sec(void)
Definition: timing.c:50
#define DIFF_IN_SECS(S, T)
Definition: timing.c:28
struct tms mytime_t
Definition: timing.c:26
#define GET_TIME(S)
Definition: timing.c:27