next up previous contents
Next: Timing Calls Up: Using Cactus Timers Previous: Using Cactus Timers   Contents

What are Timers?

Cactus provides a flexible mechanism for timing different sections of your thorns using various clocks which have been registered with the flesh. By default, the flesh provides two clocks that measure time in different ways (provided the underlying functionality is available on your system):

GetTimeOfDay
Provides ``wall clock time'' via the unix gettimeofday function.
GetrUsage
Provides CPU usage time via the unix getrusage function.

Additional clocks can be implemented by thorns and registered with the flesh (see Chapter D10).

To use Cactus timing, you create a timer, which provides time information for all the registered clocks.

You can add any number of timers to your thorn source code, providing each with a name of your choice, and then use Cactus timing functions to switch on the timers, stop or reset them, and recover timing information.

Setting the flesh parameter cactus::cctk_timer_output = "full" will cause some summary timing information to be printed at the end of a run. Some other thorns have their own timer printing parameters as well.


next up previous contents
Next: Timing Calls Up: Using Cactus Timers Previous: Using Cactus Timers   Contents