def __enter__(self): #: prints task label. echo.task_label(self.result.label) #: starts full-GC. gc.collect() #: saves current timestamp. self._times = _os_times() self._time = _time_time() #: returns self. return self
def __exit__(self, *args): #: calculates user, sys, total and real times. time = _time_time() times = _os_times() r = self.result r.user = times[0] - self._times[0] r.sys = times[1] - self._times[1] r.total = r.user + r.sys r.real = time - self._time del self._times, self._time #: removes empty loop data if they are specified. if self._empty: r.user -= self._empty.user r.sys -= self._empty.sys r.total -= self._empty.total r.real -= self._empty.real #: prints times. echo.task_times(*r.to_tuple())