under test, not sure no errors

This commit is contained in:
root
2026-09-02 07:03:56 +00:00
commit 43c43b491c
4211 changed files with 1013777 additions and 0 deletions

View File

View File

@@ -0,0 +1,37 @@
from psutil import Process
def get_current_memory(pid=None):
return Process(pid).memory_full_info()
class MemoryMonitorContext(object):
def __init__(self, pid=None):
self._pid = pid
self.reset()
def __enter__(self):
self._enter_memory = self._get_used_memory()
return self
def __exit__(self, exc_type, exc_val, exc_tb):
self._exit_memory = self._get_used_memory()
return self
def _get_used_memory(self) -> float:
mem = get_current_memory(self._pid)
return mem.uss
def reset(self):
self._enter_memory = -1
self._exit_memory = -1
def delta(self) -> float:
if self._enter_memory < 0:
raise RuntimeError("Please using context manager to wrap your code.")
if self._exit_memory < 0:
return self._get_used_memory() - self._enter_memory
return self._exit_memory - self._enter_memory