Exemplo n.º 1
0
 def __enter__(self):
     cput = P.cpu_times()
     memi = P.memory_info_ex()
     self.start_sys  = cput.system
     self.start_user = cput.user
     self.start_rss  = memi.rss
     self.start_disk = get_wdb() + get_ldb()
Exemplo n.º 2
0
 def __memory_watcher(self, data):
     max_memory = 0
     try:
         p = Process(data[0])
         memory = 1
         while 0 < memory and max_memory <= self.__mem_lim:
             if os_name.lower() == 'linux':
                 memory = p.memory_info()[0] - p.memory_info_ex().shared
             elif os_name.lower() == 'darwin':
                 memory = p.memory_info()[0]
             elif os_name.lower() == 'windows':
                 memory = p.memory_info_ex().private
             if max_memory < memory:
                 max_memory = memory
         data[1]()
     except NoSuchProcess:
         pass
     finally:
         data.append(max_memory)
Exemplo n.º 3
0
 def __exit__(self, *args):
     cput = P.cpu_times()
     memi = P.memory_info_ex()
     self.stop_sys  = cput.system
     self.stop_user = cput.user
     self.stop_rss  = memi.rss
     self.stop_disk = get_wdb() + get_ldb()
     t_elapsed_sys  = self.stop_sys - self.start_sys
     t_elapsed_user = self.stop_user - self.start_user
     t_elapsed = t_elapsed_sys + t_elapsed_user
     print >>sys.stderr, blessings.Terminal().yellow('timer: {} took {} (user: {}, sys: {}) seconds.'.format(self.name, t_elapsed, t_elapsed_user, t_elapsed_sys))
     print >>sys.stderr, blessings.Terminal().yellow('timer: rss = {} MiB. (change: {} MiB).'.format(self.stop_rss/1048576.0, (self.stop_rss-self.start_rss)/1048576.0))
     print >>sys.stderr, blessings.Terminal().yellow('timer: disk = {} MiB. (change: {} MiB).'.format(self.stop_disk/1048576.0, (self.stop_disk-self.start_disk)/1048576.0))
     print >>sys.stderr
     stats[self.name+'.Memory'] = self.stop_rss + self.stop_disk
     stats[self.name+'.Runtime'] = t_elapsed