cache meminfo data

This commit is contained in:
Matt Mackall 2011-12-05 14:55:39 -06:00
commit ac741c5ce9

5
smem
View file

@ -17,6 +17,7 @@ class procdata(object):
self._ucache = {} self._ucache = {}
self._gcache = {} self._gcache = {}
self.source = source and source or "" self.source = source and source or ""
self._memdata = None
def _list(self): def _list(self):
return os.listdir(self.source + "/proc") return os.listdir(self.source + "/proc")
def _read(self, f): def _read(self, f):
@ -33,7 +34,9 @@ class procdata(object):
def mapdata(self, pid): def mapdata(self, pid):
return self._readlines('%s/smaps' % pid) return self._readlines('%s/smaps' % pid)
def memdata(self): def memdata(self):
return self._readlines('meminfo') if self._memdata is None:
self._memdata = self._readlines('meminfo')
return self._memdata
def version(self): def version(self):
return self._readlines('version')[0] return self._readlines('version')[0]
def pidname(self, pid): def pidname(self, pid):