...if you need to measure a time during your python processing here is one helper class
'''
Created on 11. okt. 2012
@author: Stipica Pavicic
'''
import time
class Timer(object):
'''
timer starts with class initialisation
'''
def __init__(self):
self.t1= time.time()
self.t2= time.time()
def getElapsedlTime(self):
# gets total elapsed from class initialsation
self.delta=time.time()-self.t1
if self.delta > 60:
self.delta = "Time elapsed: %6.3f min" % (self.delta/60)
else:
self.delta = "Time elapsed: %6.3f sec" % (self.delta)
return self.delta
def getTimeDifference(self):
# gets time elapsed from previous reading (for first reading this is equal to total time elapsed getElapsedlTime()
self.delta=time.time()-self.t2
self.t2 = time.time()
if self.delta > 60:
self.delta = "Time difference: %6.3f min" % (self.delta/60)
else:
self.delta = "Time difference: %6.3f sec" % (self.delta)
return self.delta
Using this class it is possible to get total time form class initialisation to some desired moment getElapsedlTime() or you can get time difference from some previous time reading getTimeDifference()
Just make sure that the class Timer is available in your script and you can use it just like in next example.
''' Created on 11. okt. 2012 @author: Stipica Pavicic ''' import time from my.process_timer import Timer print " ... initialise your timer" measure=Timer() print " ... begin some processing" time.sleep(1.1) # ... get elapsed time print measure.getTimeDifference() print measure.getElapsedlTime() print " ... some processing" time.sleep(1.2) # ... get elapsed time print measure.getTimeDifference() print measure.getElapsedlTime() print " ... some processing" time.sleep(1.3) # ... get elapsed time print measure.getTimeDifference() print measure.getElapsedlTime()Here is output:
... initialise your timer ... begin some processing Time difference: 1.100 sec Time elapsed: 1.100 sec ... some processing Time difference: 1.200 sec Time elapsed: 2.300 sec ... some processing Time difference: 1.300 sec Time elapsed: 3.600 sec... enjoy
No comments:
Post a Comment