### Struct

# GLib Timer

since: 2.0

#### Description

    struct GTimer {
      /* No available fields */
    }

`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.

Available since: 2.0

#### Functions

###### g_timer_new

Creates a new timer, and starts timing (i.e. `g_timer_start()` is implicitly called for you).

since: 2.0

#### Instance methods

###### g_timer_continue

Resumes a timer that has previously been stopped with g_timer_stop(). `g_timer_stop()` must be called before using this function.

since: 2.4

###### g_timer_destroy

Destroys a timer, freeing associated resources.

since: 2.0

###### g_timer_elapsed

If `timer` has been started but not stopped, obtains the time since the timer was started. If `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 `microseconds` out parameter is essentially useless.

since: 2.0

###### g_timer_is_active

Exposes whether the timer is currently active.

since: 2.62

###### g_timer_reset

This function is useless; it’s fine to call `g_timer_start()` on an already-started timer to reset the start time, so `g_timer_reset()` serves no purpose.

since: 2.0

###### g_timer_start

Marks a start time, so that future calls to `g_timer_elapsed()` will report the time since `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 timer.

since: 2.0

###### g_timer_stop

Marks an end time, so calls to `g_timer_elapsed()` will return the difference between this end time and the start time.

since: 2.0