armi.utils.codeTiming module¶
Utilities related to profiling code.
- armi.utils.codeTiming.timed(*args)[source]¶
Decorate functions to measure how long they take.
Examples
@timed # your timer will be called the module+method name def mymethod(stuff): do stuff @timed('call my timer this instead') def mymethod2(stuff) do even more stuff
- armi.utils.codeTiming.getMasterTimer()[source]¶
Duplicate function to the MasterTimer.getMasterTimer method
Provided for convenience and developer preference of which to use
- class armi.utils.codeTiming.MasterTimer[source]¶
Bases:
object
- static getTimer(event_name)[source]¶
Return a timer with no special action take
with timer: ...
friendly!
- static startTimer(event_name)[source]¶
Return a timer with a start call, or a newly made started timer
with timer: ...
unfriendly!
- static endTimer(event_name)[source]¶
Return a timer with a stop call, or a newly made unstarted timer
with timer: ...
unfriendly!
- static report(inclusion_cutoff=0.1, total_time=False)[source]¶
Write a string report of the timers
- Parameters
See also
armi.utils.codeTiming._Timer.__str__
prints out the results for each individual line item
- static timeline(base_file_name, inclusion_cutoff=0.1, total_time=False)[source]¶
Produces a timeline graphic of the timers
- Parameters
base_file_name (str) – whatever the leading file path should be this method generates the same file extension for every image to add to the base
inclusion_cutoff (float, optional) – Will not show results that have less than this fraction of the total time.
total_time (bool, optional) – Use either the ratio of total time or time since last report for consideration against the cutoff