pymel.core.system.timer¶
- timer(*args, **kwargs)¶
Allow simple timing of scripts and commands. The resolution of this timer is at the level of your OS’s gettimeofday()function. Note:This command does not handle stacked calls. For example, this code below will give an incorrect answer on the second timer -ecall.timer -s; timer -s; timer -e; timer -e; To do this use named timers: timer -s; timer -s -name innerTimer; timer -e -name innerTimer; timer -e; I the -e flag or -lap flag return the time elapsed since the last ‘timer -s’ call.I the -s flag has no return value.
Flags:
Long Name / Short Name Argument Types Properties endTimer / e bool Stop the timer and return the time elapsed since the timer was started (in seconds). Once a timer is turned off it no longer exists, though it can be recreated with a new start lapTime / lap bool Get the lap time of the timer (time elapsed since start in seconds). Unlike the endflag this keeps the timer running. name / n unicode Use a named timer for the operation. If this is omitted then the default timer is assumed. startTimer / s bool Start the timer. Flag can have multiple arguments, passed either as a tuple or a list. Derived from mel command maya.cmds.timer
Example:
import pymel.core as pm pm.timer( s=True ) # Result: u"Timer 'defaultTimer' started." # # code being timed print "START: time this" for i in range (0, 50): print ("time this "+str(i)) print "END: time this" pm.timer( e=True ) # Result: 0.084618 # # Named timers can be used for nesting pm.timer( s=True, name="outerLoop" ) # Result: u"Timer 'outerLoop' started." # print "START: macro loop timing" for i in range(0,50): pm.timer( s=True ) for j in range(5,50): newObjs = pm.sphere( spans=j ) pm.delete( newObjs ) innerTime = pm.timer( e=True ) lapTime = pm.timer( lap=True, name="outerLoop" ) print "\tInner loop %d = %g" % (i, innerTime) print "\t SUB = %g" % lapTime fullTime = pm.timer( e=True, name="outerLoop" ) print "END: Full timing was %g" % fullTime