24#include <sys/resource.h>
28#define u32 unsigned int
39#define FREQUENCY 1695000000
50 MESSAGE(
"X86_Timer Default Ctor");
55 rdtsc(_click_start.n32[0],_click_start.n32[1]);
62 rdtsc(_click_stop.n32[0],_click_stop.n32[1]);
73 return (_click_stop.n64-_click_start.n64)/double(
FREQUENCY);
80 return (_click_stop.n64-_click_start.n64);
86 time_t initial,
final;
94 while(time(0)==initial);
101 while(time(0)==initial);
121 ofstream outfile (filemane.c_str(),ios::out) ;
123 std::map<unsigned long long , unsigned long long>::iterator itr;
124 for(itr=_counted_clicks.begin() ; itr!=_counted_clicks.end() ; itr++)
126 outfile << (*itr).first <<
" " << (*itr).second << endl ;
135 ofstream outfile (filemane.c_str(),ios::out) ;
139 for(
int i=0 ;
i<_history_mean_clicks.size() ;
i++)
142 << _history_mean_clicks[
i] <<
" "
143 << _history_shortest_clicks[
i] <<
" "
144 << _history_most_occured_clicks[
i] << endl ;
155 std::map<unsigned long long,unsigned long long>::iterator itr;
157 unsigned long long mean_clicks=0;
159 for(itr=_counted_clicks.begin() ; itr!=_counted_clicks.end() ; itr++)
162 mean_clicks+=(*itr).second*(*itr).first;
165 return mean_clicks/double(_nb_sample);
171 return double((*_counted_clicks.begin()).first);
186 unsigned long long moc=0;
187 unsigned long long max_occurence=0;
189 std::map<unsigned long long,unsigned long long>::iterator itr;
191 for(itr=_counted_clicks.begin() ; itr!=_counted_clicks.end() ; itr++)
194 if (max_occurence<=(*itr).second){
195 max_occurence=(*itr).second;
206 _counted_clicks.clear();
208 _history_mean_clicks.clear();
209 _history_shortest_clicks.clear();
210 _history_most_occured_clicks.clear();
221 unsigned long int n32[2] ;
227 unsigned long int n32[2] ;
228 unsigned long long n64 ;
233 map<unsigned long long,unsigned long long> _counted_clicks;
235 vector<double> _history_mean_clicks;
236 vector<double> _history_shortest_clicks;
237 vector<double> _history_most_occured_clicks;
239 unsigned long long _nb_sample;
int i
Definition BiCGSTAB_step_by_step.cpp:9
Definition x86_timer.hh:44
void find_frequency(void)
Definition x86_timer.hh:84
void dump_history(string filemane)
Definition x86_timer.hh:133
unsigned long long n64
Definition x86_timer.hh:222
void add_get_click(void)
Definition x86_timer.hh:111
unsigned long long get_click(void)
Definition x86_timer.hh:78
unsigned long int n32[2]
Definition x86_timer.hh:221
double get_shortest_clicks(void)
Definition x86_timer.hh:169
double get_elapsed_time_in_second(void)
Definition x86_timer.hh:71
void dump_statistics(string filemane)
Definition x86_timer.hh:119
void start(void)
Definition x86_timer.hh:53
double get_most_occured_clicks(void)
Definition x86_timer.hh:184
void stop(void)
Definition x86_timer.hh:60
double frequency(void)
Definition x86_timer.hh:67
void clear(void)
Definition x86_timer.hh:204
X86_Timer(void)
Definition x86_timer.hh:48
void fill_history_clicks(void)
Definition x86_timer.hh:175
double get_mean_clicks(void)
Definition x86_timer.hh:153
#define MESSAGE(chain)
Definition utilities.h:76
#define FREQUENCY
Definition x86_timer.hh:39