Skip to content

Instantly share code, notes, and snippets.

@britonad
Last active March 18, 2021 16:25
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save britonad/717e8196e0497098dedb0c02f572a301 to your computer and use it in GitHub Desktop.
Save britonad/717e8196e0497098dedb0c02f572a301 to your computer and use it in GitHub Desktop.
A dummy decorator function to measure memory usage of a Python function, method, etc.
import resource
from functools import wraps
def mem_it(func):
@wraps(func)
def wrapper(*args, **kwargs):
pre = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss / 1024
print(f'Pre-memory usage: {pre} (mb)')
f = func(*args, **kwargs)
post = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss / 1024
print(f'Post-memory usage: {post} (mb)')
print(f'Used by {func.__name__}: {post - pre} (mb)')
return f
return wrapper
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment