dolfin.common.timer

Functions

timed(task) Decorator for timing functions.

Classes

Timer A timer can be used for timing tasks.
class dolfin.common.timer.Timer[source]

Bases: dolfin.cpp.common.Timer

A timer can be used for timing tasks. The basic usage is:

with Timer("Some costly operation"):
    costly_call_1()
    costly_call_2()

or:

with Timer() as t:
    costly_call_1()
    costly_call_2()
    print("Ellapsed time so far: %s" % t.elapsed()[0])

The timer is started when entering context manager and timing ends when exiting it. It is also possible to start and stop a timer explicitly by:

t.start()
t.stop()

and retrieve timing data using:

t.elapsed()

Timings are stored globally (if task name is given) and may be printed using functions timing, timings, list_timings, dump_timings_to_xml, e.g.:

list_timings(TimingClear.keep, [TimingType.wall, TimingType.user])
dolfin.common.timer.timed(task)[source]

Decorator for timing functions. Usage:

@timed("Do Foo")
def do_foo(*args, **kwargs):
# Do something costly pass

do_foo()

list_timings(TimingClear.keep, [TimingType.wall, TimingType.user])

t = timing(“Do Foo”, TimingClear.clear) print(“Do foo wall time: %s” % t[1])