.\"@mindmaze_header@ .TH MMTIC 3 2014 "" "mmlib library manual" .SH NAME mm_tic - Start an iteration of profiling .br mm_toc - Add a point of measure to an iteration .SH SYNOPSIS .LP .B #include .sp .BI "void mm_tic();" .br .BI "void mm_toc();" .br .BI "void mm_toc_label(const char* " label "); .sp Link with .I -lmmlib .SH DESCRIPTION .LP .BR mm_tic () starts an iteration of profiling. It updates the timing statistics with the previous data if applicable and reset the metadata for a new timing iteration. Finally it measures the timestamp of the iteration start. .LP .BR mm_toc () Add simply a new point of measure to the current iteration of profiling. If the maximum number of point of measure per iteration has been reached, then the new point will silently be ignored. .LP .BR mm_toc_label () is the same as .BR mm_toc () excepting it provides a way to label the meansure point. Beware than only the first occurrence of a label associated with a measure point will be retained. Any subsequent call to .BR mm_toc_label () at the same measure point will be the same as calling .BR mm_toc (). .LP Care must be taken if a precision of few microseconds or less is desired with .BR mm_toc_label (). The label copy has indeed overhead. However this overhead has influence only on the iteration that will actually copy the label string, thus will affect only the current and max timing measures. The influence on the mean will be negligible if the number of iterations is large enough. Therefore results must be interpreted in the light of this short coming. .LP The way the time is measured depends on the type of timer set by the .BR mm_profile_reset (3) function. .SH "RETURN VALUE" .LP None. .SH "SEE ALSO" .BR mm_profile_reset (3), .BR mm_profile_print (3)