Skip to main content

A module for monitoring memory usage of a python program

Project description

Timem

A simple decorator to profile memory usage and time taken by python functions

Install

pip install timem

Usage

In example.py:

from timem import profile

@profile
def isPal(s):
    return s == s[::-1]

print(isPal("UwU"))

Output:

"isPal" took 10.012 ms to execute

Filename: example.py

Line #    Mem usage    Increment  Occurences   Line Contents
============================================================
    11     20.4 MiB     20.4 MiB           1       @profile
    12                                             def isPal(s):
    13     20.4 MiB      0.0 MiB           1           return s == s[::-1]


True

Some configurations

1. Only profile time

from timem import profile
@profile(memory=False)
def isPalindromeWithDelay(s):
    import time
    time.sleep(3)
    return s == s[::-1]

print(isPalindromeWithDelay("UwU"))

Output:

"isPal" took 10.028 ms to execute

True

2. Only profile memory

from timem import profile

@profile(timer=False)
def isPalindrome(s):
    return s == s[::-1]

print(isPalindrome("sdasdf"))

Output

Filename: example.py

Line #    Mem usage    Increment  Occurences   Line Contents
============================================================
    11     20.6 MiB     20.6 MiB           1       @profile(timer=False)
    12                                             def isPal(s):
    13     20.6 MiB      0.0 MiB           1           return s == s[::-1]


True

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

timem-0.0.1.tar.gz (6.7 kB view hashes)

Uploaded Source

Built Distribution

timem-0.0.1-py3-none-any.whl (7.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page