All Projects → asciimoo → Memspector

asciimoo / Memspector

Inspect memory usage of python functions

Programming Languages

python
139335 projects - #7 most used programming language

Memspector

Inspect memory usage of python functions

Features


- Thread handling
- External tool, doesn't require code modification

Check ``memspector --help`` for command line options


Installation

via pip: pip install memspector

Example


``example.py``:

.. code-block:: python

    l = []


    def a():
        l.extend(range(100000))


    def b():
        global l
        l = []


    a()
    a()
    b()
    a()
    b()
    a()


Run ``memspector example.py`` to get the following output:

.. code-block::

    example.py:b()                                               thread: main_thread
    total memory       diff
        2,940,336     -1,799,976
        2,040,440       -900,048

    example.py:a()                                               thread: main_thread
    total memory       diff
        1,139,848        900,400
        2,040,280        900,000
        1,140,408        900,048
        1,140,408        900,048

    example.py                                                   thread: main_thread
    total memory       diff
        1,133,832        906,232



Bugs
~~~~

Bugs or suggestions? Visit the `issue tracker <https://github.com/asciimoo/memspector/issues>`__


License

.. code-block::

Memspector
Copyright (C) 2015 Adam Tauber <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

See <http://www.gnu.org/licenses/>.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].