[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

details timing.hxx File Reference VIGRA

#include <iostream>
#include <sstream>
#include <vector>
#include <sys/time.h>

Go to the source code of this file.

Macros

#define TIC
 
#define TICPUSH
 
#define TICTOCLOOP_BEGIN(inner_repetitions, outer_repetitions)
 
#define TICTOCLOOP_END
 
#define TOC
 
#define TOCN
 
#define TOCS
 
#define USE_NESTED_TICTOC
 
#define USETICTOC
 

Detailed Description

Timing macros for runtime measurements

This header defines timing macros for runtime measurements. See Timing macros for runtime measurements for examples.

Macro Definition Documentation

#define USETICTOC

Enable timing using TIC/TOC* pairs. This macro defines temporary storage for the timing data, so it needs to precede the TIC/TOC macros in their context.

#define TIC

Start timing. Requires USE_TICTOC to be defined in the current context.

#define TOC

Stop timing and output result (the time difference w.r.t. the last TIC or TICPUSH instance) to std::cerr.

#define TOCN

Stop timing. This macro evaluates to the time difference (w.r.t. the last TIC or TICPUSH) in msec as a double.

#define TOCS

Stop timing. This macro evaluates to the time difference (w.r.t. the last TIC or TICPUSH) as a std::string (including units).

#define USE_NESTED_TICTOC

Enable timing using TICPUSH/TOC* pairs. This macro defines temporary storage for the timing data, so it needs to precede the TIC/TOC macros in their context.

#define TICPUSH

Start timing, possibly a nested block of code within some other timed code block. Requires USE_NESTED_TICTOC to be defined once in the current context.

#define TICTOCLOOP_BEGIN (   inner_repetitions,
  outer_repetitions 
)

Executes the code block up to TICTOCLOOP_END outer_repetitions x inner_repetitions times. The measurement is averaged over the inner_repetitions, and the best result of the outer_repetitions is reported to std::cerr.

#define TICTOCLOOP_END

Ends the timing loop started with the TICTOCLOOP_BEGIN macro and outputs the result.

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de)
Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany

html generated using doxygen and Python
vigra 1.11.1 (Fri May 19 2017)