|GLib Reference Manual|
#include <glib.h> GTimer; GTimer* g_timer_new (void); void g_timer_start (GTimer *timer); void g_timer_stop (GTimer *timer); void g_timer_continue (GTimer *timer); gdouble g_timer_elapsed (GTimer *timer, gulong *microseconds); void g_timer_reset (GTimer *timer); void g_timer_destroy (GTimer *timer);
GTimer records a start time, and counts microseconds elapsed since that time. This is done somewhat differently on different platforms, and can be tricky to get exactly right, so GTimer provides a portable/convenient interface.
GTimer* g_timer_new (void);
Creates a new timer, and starts timing (i.e.
g_timer_start() is implicitly
called for you).
|a new GTimer.|
void g_timer_start (GTimer *timer);
Marks a start time, so that future calls to
g_timer_elapsed() will report the
g_timer_start() was called.
g_timer_new() automatically marks the
start time, so no need to call
g_timer_start() immediately after creating the
void g_timer_stop (GTimer *timer);
Marks an end time, so calls to
g_timer_elapsed() will return the difference
between this end time and the start time.
void g_timer_continue (GTimer *timer);
timer has been started but not stopped, obtains the time since the timer was
timer has been stopped, obtains the elapsed time between the time
it was started and the time it was stopped. The return value is the number of
seconds elapsed, including any fractional part. The
out parameter is essentially useless.
Calling initialization functions, in particular
while a timer is running will cause invalid return values from this function.
void g_timer_reset (GTimer *timer);