aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/timestat.hh
blob: 8113693066bf06a3148a368d24917334b15484ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
#ifndef TIMESTAT_HH
#define TIMESTAT_HH

#include <iostream>

using namespace std;



// Time (in seconds) spend during various operations
class timestat {
  
public:
  double wtime;
  double wtime2;
  double wmin;
  double wmax;
  
  double bytes;
  double bytes2;
  double bmin;
  double bmax;
  
  double count;
  
public:
  timestat ();
  
private:
  void addstat (double t, double b);
  
private:
  bool running;
  double starttime;
  
public:
  void start();
  void stop(double bytes = 0.0);
};

ostream& operator<< (ostream& os, const timestat& wt);



extern timestat wtime_copyfrom_recv;
extern timestat wtime_copyfrom_send;
extern timestat wtime_copyfrom_wait;

extern timestat wtime_copyfrom_recv_maketyped;
extern timestat wtime_copyfrom_recv_allocate;
extern timestat wtime_copyfrom_recv_changeproc_recv;
extern timestat wtime_copyfrom_send_copyfrom_nocomm1;
extern timestat wtime_copyfrom_send_copyfrom_nocomm2;
extern timestat wtime_copyfrom_send_changeproc_send;
extern timestat wtime_copyfrom_wait_changeproc_wait;
extern timestat wtime_copyfrom_wait_copyfrom_nocomm;
extern timestat wtime_copyfrom_wait_delete;

extern timestat wtime_copyfrom_recvinner_allocate;
extern timestat wtime_copyfrom_recvinner_recv;
extern timestat wtime_copyfrom_sendinner_allocate;
extern timestat wtime_copyfrom_sendinner_copy;
extern timestat wtime_copyfrom_sendinner_send;
extern timestat wtime_copyfrom_recvwaitinner_wait;
extern timestat wtime_copyfrom_recvwaitinner_copy;
extern timestat wtime_copyfrom_recvwaitinner_delete;
extern timestat wtime_copyfrom_sendwaitinner_wait;
extern timestat wtime_copyfrom_sendwaitinner_delete;

extern timestat wtime_changeproc_recv;
extern timestat wtime_changeproc_send;
extern timestat wtime_changeproc_wait;

extern timestat wtime_irecv;
extern timestat wtime_isend;
extern timestat wtime_irecvwait;
extern timestat wtime_isendwait;

extern timestat wtime_commstate_sizes_irecv;
extern timestat wtime_commstate_waitall_final;
extern timestat wtime_commstate_waitall;
extern timestat wtime_commstate_waitsome;
extern timestat wtime_commstate_send;
extern timestat wtime_commstate_ssend;
extern timestat wtime_commstate_isend;
extern timestat wtime_commstate_memcpy;
extern timestat wtime_commstate_interpolate_irecv;
extern timestat wtime_commstate_interpolate_from_isend;
extern timestat wtime_commstate_interpolate_to_isend;



extern timestat wtime_restrict;
extern timestat wtime_prolongate;
extern timestat wtime_prolongate_Lagrange;
extern timestat wtime_prolongate_ENO;
extern timestat wtime_prolongate_WENO;

#endif  // TIMESTAT_HH