Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender-addons.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimmy Hazevoet <jimhazevoet@gmail.com>2017-06-17 17:52:25 +0300
committermeta-androcto <meta.androcto1@gmail.com>2017-06-17 17:52:25 +0300
commite813b903c340fdc1edb2d51c4c5c492a55f367bf (patch)
treefe4df5a6cda6fb63b0ce2f08e2ad73023ca29060 /ant_landscape/stats.py
parent200a9bbbd480251d774424700a424f105022535a (diff)
Ant Landscape: fix requested ui changes
Diffstat (limited to 'ant_landscape/stats.py')
-rw-r--r--ant_landscape/stats.py55
1 files changed, 55 insertions, 0 deletions
diff --git a/ant_landscape/stats.py b/ant_landscape/stats.py
new file mode 100644
index 00000000..a5053465
--- /dev/null
+++ b/ant_landscape/stats.py
@@ -0,0 +1,55 @@
+from time import time
+
+try:
+ import psutil
+ print('psutil available')
+ psutil_available=True
+except ImportError:
+ psutil_available=False
+
+class Stats:
+ def __init__(self):
+ self.memstats_available = False
+ if psutil_available:
+ self.process=psutil.Process()
+ self.memstats_available = True
+ self.reset()
+
+ def reset(self):
+ self.lasttime=self._gettime()
+ self.lastmem=self._getmem()
+ self.basemem = self.lastmem
+ self.maxmem=0
+ self.elapsedtime=0
+
+ def _gettime(self):
+ """return the time in seconds used by the current process."""
+ if psutil_available:
+ m=self.process.get_cpu_times()
+ return m.user+m.system
+ return time()
+
+ def _getmem(self):
+ """return the resident set size in bytes used by the current process."""
+ if psutil_available:
+ m=self.process.get_memory_info()
+ return m.rss
+ return 0
+
+ def time(self):
+ """return the time since the last call in seconds used by the current process."""
+ old = self.lasttime
+ self.lasttime = self._gettime()
+ self.elapsedtime = self.lasttime-old
+ return self.elapsedtime
+
+ def memory(self):
+ """return the maximum resident set size since the first call in bytes used by the current process."""
+ self.lastmem = self._getmem()
+ d = self.lastmem - self.basemem
+ if d>self.maxmem:
+ self.maxmem = d
+ return self.maxmem
+
+
+ \ No newline at end of file