diff options
Diffstat (limited to 'TamTamMini.activity/common/Util/Profiler.py')
-rw-r--r-- | TamTamMini.activity/common/Util/Profiler.py | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/TamTamMini.activity/common/Util/Profiler.py b/TamTamMini.activity/common/Util/Profiler.py deleted file mode 100644 index 0019a6c..0000000 --- a/TamTamMini.activity/common/Util/Profiler.py +++ /dev/null @@ -1,93 +0,0 @@ - -import time - -class TaskProfiler( object ): - def __init__( self ): - self.profiles = {} - - def ProfileBegin( self, profile ): - if self.profiles.has_key(profile) == False: self.profiles[profile] = TaskProfile(profile) - self.profiles[profile].begin() - - def ProfilePause( self, profile ): - if self.profiles.has_key(profile) == False: return False - self.profiles[profile].pause() - - def ProfileEnd( self, profile ): - if self.profiles.has_key(profile) == False: return False - self.profiles[profile].end() - - def Profile(self, profile): - if profile in self.profiles: - if self.profiles[profile].inProgress: - self.profiles[profile].end() - else: - self.profiles[profile].begin() - else: - self.profiles[profile] = TaskProfile(profile) - self.profiles[profile].begin() - - def ProfilePrint( self, profile ): - if self.profiles.has_key(profile) == False: return "Couldn't find profile: " + profile - return self.profiles[profile].printoverall() - - def ProfileEndAndPrint( self, profile ): - if self.profiles.has_key(profile) == False: return "Couldn't find profile: " + profile - self.profiles[profile].end() - return self.profiles[profile].printlast() - - - def PrintAll( self ): - str = "" - keys = self.profiles.keys() - keys.sort() - return "\n".join( [self.profiles[k].printoverall() for k in keys] ) - #for p in self.profiles: - #str += "\n" + self.profiles[p].printoverall() - #return str - - -class TaskProfile( object ): - def __init__( self, name ): - self.name = name - self.count = 0 - self.min = 666666666.0 # really high - self.max = -1.0 # pretty low - self.avg = 0.0 - self.dt = 0 - self.inProgress = False - self.paused = False - - def begin( self ): - if self.inProgress: return False # you fucked up your ProfileBegin and ProfileEnd pairs - self.inProgress = True - if self.paused: - self.paused = False - self.startTime += time.time() - self.pauseTime - else: - self.startTime = time.time() - - def pause( self ): - self.pauseTime = time.time() - self.inProgress = False - self.paused = True - - def end( self ): - self.dt = time.time() - self.startTime - if self.paused: - self.dt = self.pauseTime - self.startTime - if self.dt > self.max: self.max = self.dt - if self.dt < self.min: self.min = self.dt - self.avg = (self.dt + self.avg*self.count)/(self.count+1) - self.count += 1 - self.inProgress = False - self.paused = False - - def printlast( self ): - return "Profile: " + self.name + " last dt: %f" % (self.dt) - - def printoverall( self ): - if self.count == 0: return "Profile: " + self.name + ", no data!" - return "Profile: " + self.name + " avg: %f max: %f min: %f count: %d" % (self.avg, self.max, self.min, self.count) - -TP = TaskProfiler() |