Pytest: Есть ли способ сообщить об использовании памяти тестом?Python

Программы на Python
Ответить
Гость
 Pytest: Есть ли способ сообщить об использовании памяти тестом?

Сообщение Гость »

Я проверил документацию по pytest, но не нашел ничего подходящего. Я знаю, что pytest --durations=0 распечатает время выполнения всех тестов. Есть ли способ заставить pytest также распечатать пиковое использование памяти, потребляемое функцией? В противном случае я, вероятно, могу просто использовать функцию украшения ниже. Но мне интересно, есть ли лучший способ сделать это.
from functools import wraps

def mem_time(func):
@wraps(func)
def wrapper(*args, **kwargs):

# Start of function
r0 = resource.getrusage(resource.RUSAGE_SELF)
t0 = datetime.datetime.now()

# Call function
status = func(*args, **kwargs)

# End of function
r1 = resource.getrusage(resource.RUSAGE_SELF)
t1 = datetime.datetime.now()

sys.stderr.write('{}: utime {} stime {} wall {}\n'.format(func.__name__,
datetime.timedelta(seconds=r1.ru_utime - r0.ru_utime),
datetime.timedelta(seconds=r1.ru_stime - r0.ru_stime),
t1 - t0))

sys.stderr.write('{}: mem {} MB ({} GB)\n'.format(func.__name__,
(r1.ru_maxrss - r0.ru_maxrss) / 1000.0,
(r1.ru_maxrss - r0.ru_maxrss) / 1000000.0))

return status

return wrapper


Подробнее здесь: https://stackoverflow.com/questions/589 ... -of-a-test
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»