home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyo (Python 2.5)
-
- import os
- import time
- __all__ = [
- 'start',
- 'finish',
- 'record',
- 'start_timer',
- 'stop_timer']
- if os.name == 'nt':
- clock = time.clock
- else:
- clock = time.time
- active_stopwatches = { }
- active_timers = { }
-
- def start(metric_name):
- now = clock()
- active_stopwatches[metric_name] = now
-
-
- def finish(metric_name):
- end = clock()
- begin = active_stopwatches[metric_name]
-
-
- def start_timer(metric_name, interval_ms, value_function):
-
- def on_timer():
- record(metric_name, value_function())
-
- active_timers[metric_name] = _create_timer_object(on_timer, interval_ms)
-
-
- def stop_timer(metric_name):
- timer = active_timers.pop(metric_name)
- _stop_timer_object(timer)
- return timer
-
-
- def _create_timer_object(callback, interval_ms):
- import wx
- timer = wx.PyTimer(callback)
- timer.Start(interval_ms)
- return timer
-
-
- def _stop_timer_object(timer):
- timer.Stop()
-
-
- class Metric(object):
- __slots__ = ('time_recorded', 'value')
-
- def __init__(self, value):
- self.time_recorded = time.time()
- self.value = value
-
-
-
- class MemoryRecorder(object):
-
- def __init__(self):
- self.metrics = { }
-
-
- def record(self, metric_name, value):
-
- try:
- metric_list = self.metrics[metric_name]
- except KeyError:
- metric_list = self.metrics[metric_name] = []
-
- metric_list.append(Metric(metric_name), value)
-
-
- active_recorder = MemoryRecorder()
-
- def record(metric_name, value):
- active_recorder.record(metric_name, value)
-
-