<
typenameTOut=std::ostream>
47std::chrono::duration<double, std::milli>
duration;
52 statistics(std::chrono::duration<double, std::milli> d,
unsigned r)
79 start_= std::chrono::steady_clock::now();
98 finish_= std::chrono::steady_clock::now();
103 typenameduration_map_type::iterator it =
dmap_->find(
name_);
104 if(it ==
dmap_->end())
110it->second.repeats++;
111it->second.duration +=
st.duration;
118 auto ms= std::chrono::duration <double, std::milli> (diff).count();
130 template<
typenameDT>
135 doublesec =
ms/ 1000;
138 double min= sec / 60;
139tout << name <<
"; "<< std::setprecision(4) <<
min<<
" min"<< std::endl;
142tout << name <<
"; "<< std::setprecision(4) << sec <<
" sec"<< std::endl;
145tout << name <<
"; "<<
ms<<
" ms"<< std::endl;
152 typenameduration_map_type::const_iterator it = dmap.begin();
153 typenameduration_map_type::const_iterator it_end = dmap.end();
155 for( ;it != it_end; ++it)
159 if(
st.repeats <= 1)
169 auto ms= it->second.duration.count();
175 unsignediops = (unsigned)((
double)
st.repeats / (double)it->second.duration.count()) * 1000;
178tout << it->first <<
"; "<< iops <<
" ops/sec"<< std::endl;
182 doubleops = ((double)
st.repeats / (
double)it->second.duration.count()) * 1000;
183tout << it->first <<
"; "<< std::setprecision(4) << ops <<
" ops/sec"<< std::endl;
189 if(
st.repeats <= 1)
193 unsignediops = (unsigned)((
double)
st.repeats / (double)it->second.duration.count()) * 1000;
196tout << it->first <<
"; "<< iops <<
" ops/sec; " 197<< std::setprecision(4) << it->second.duration.count() <<
" ms"<< std::endl;
201 doublesec = double(it->second.duration.count()) / 1000;
202 doubleops = ((double)
st.repeats / (
double)it->second.duration.count()) * 1000;
203tout << it->first <<
"; "<< std::setprecision(4) << ops <<
" ops/sec; " 204<< std::setprecision(4) << sec <<
" sec."<< std::endl;
222std::chrono::time_point<std::chrono::steady_clock>
start_;
223std::chrono::time_point<std::chrono::steady_clock>
finish_;
Utility class to collect performance measurements and statistics.
duration_map_type * dmap_
chrono_taker(const chrono_taker &)=delete
void stop(bool silent=false)
chrono_taker(TOut &tout, const std::string name, unsigned repeats=1, duration_map_type *dmap=0)
std::chrono::time_point< std::chrono::steady_clock > finish_
std::map< std::string, statistics > duration_map_type
test name to duration map
chrono_taker & operator=(const chrono_taker)=delete
void add_repeats(unsigned inc)
static void print_duration_map(TOut &tout, const duration_map_type &dmap, format fmt=ct_time)
std::chrono::time_point< std::chrono::steady_clock > start_
static void print_duration(TOut &tout, const std::string &name, DT ms)
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
static SLJIT_INLINE sljit_ins ms(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
static SLJIT_INLINE sljit_ins st(sljit_gpr r, sljit_s32 d, sljit_gpr x, sljit_gpr b)
std::chrono::duration< double, std::milli > duration
statistics(std::chrono::duration< double, std::milli > d, unsigned r)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4