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 __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())
 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())