Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions pyperf/_psutil_memory.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import os
try:
from pyperf._utils import USE_PSUTIL
from pyperf._utils import USE_PSUTIL, BSD
if not USE_PSUTIL:
raise ImportError
else:
Expand All @@ -21,7 +21,10 @@ def __init__(self):
self._quit = False

def get(self):
usage = self.process.memory_full_info().uss
if BSD:
usage = self.process.memory_info().rss
else:
usage = self.process.memory_full_info().uss
self.peak_usage = max(self.peak_usage, usage)

def run(self):
Expand Down
4 changes: 3 additions & 1 deletion pyperf/_runner.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
set_highest_priority)
from pyperf._formatter import format_timedelta
from pyperf._hooks import get_hook_names
from pyperf._utils import (MS_WINDOWS, MAC_OS, abs_executable,
from pyperf._utils import (MS_WINDOWS, MAC_OS, BSD, abs_executable,
WritePipe, get_python_names,
merge_profile_stats)
from pyperf._worker import WorkerProcessTask
Expand Down Expand Up @@ -348,6 +348,8 @@ def _process_args_impl(self):
from pyperf._win_memory import check_tracking_memory
elif MAC_OS:
from pyperf._psutil_memory import check_tracking_memory
elif BSD:
from pyperf._psutil_memory import check_tracking_memory
else:
from pyperf._linux_memory import check_tracking_memory
err_msg = check_tracking_memory()
Expand Down
1 change: 1 addition & 0 deletions pyperf/_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
USE_PSUTIL = not bool(sysconfig.get_config_var('Py_GIL_DISABLED'))
MS_WINDOWS = (sys.platform == 'win32')
MAC_OS = (sys.platform == 'darwin')
BSD = ('bsd' in sys.platform)

if MS_WINDOWS:
import msvcrt
Expand Down
6 changes: 5 additions & 1 deletion pyperf/_worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from pyperf._formatter import (format_number, format_value, format_values,
format_timedelta)
from pyperf._hooks import instantiate_selected_hooks
from pyperf._utils import MS_WINDOWS, MAC_OS, percentile, median_abs_dev
from pyperf._utils import MS_WINDOWS, MAC_OS, BSD, percentile, median_abs_dev


MAX_LOOPS = 2 ** 32
Expand Down Expand Up @@ -331,6 +331,10 @@ def start(self):
from pyperf._psutil_memory import PeakMemoryUsageThread
self.mem_thread = PeakMemoryUsageThread()
self.mem_thread.start()
elif BSD:
from pyperf._psutil_memory import PeakMemoryUsageThread
self.mem_thread = PeakMemoryUsageThread()
self.mem_thread.start()
else:
from pyperf._linux_memory import PeakMemoryUsageThread
self.mem_thread = PeakMemoryUsageThread()
Expand Down