This is a debugging tool for tracing malloc that occurs inside a function or class.
Project description
License Build Status PyPI version
malloc_tracer
About
This is a debugging tool for tracing malloc that occurs inside a function or class.
Feature
Compatibility
malloc_tracer works with Python 3.4 or higher.
Dependencies
Installation
pip install malloc-tracer
Usage
Trace a function.
import numpy as np
from malloc_tracer.tracer import *
def func(x, y, z):
dataset1 = np.empty((100, ), dtype=np.float64)
print('x', x)
dataset1 = np.empty((1000, ), dtype=np.float64)
l = [i for i in range(100000)]
if x == 0:
dataset4a = np.empty((100000, ), dtype=np.float64)
return 0
elif x == 1:
dataset4b = np.empty((100000, ), dtype=np.float64)
return 1
dataset3 = np.empty((3000, ), dtype=np.float64)
return 2
tracer = Tracer(func)
tracer.trace(
target_args=dict(x=1, y=2, z=3)
)
Trace a method.
import numpy as np
from malloc_tracer.tracer import *
class Klass(object):
CONSTANT = 'CONSTANT'
def __init__(self, value):
self._value = value
def method(self, x):
dataset1 = np.empty((100, ), dtype=np.float64)
print('x', x)
dataset1 = np.empty((1000, ), dtype=np.float64)
l = [i for i in range(100000)]
if x == 0:
dataset4a = np.empty((100000, ), dtype=np.float64)
return 0
elif x == 1:
dataset4b = np.empty((100000, ), dtype=np.float64)
return 1
dataset3 = np.empty((3000, ), dtype=np.float64)
return 2
@staticmethod
def smethod():
dataset = np.empty((100, ), dtype=np.float64)
l = [i for i in range(100000)]
print('Hello')
return dataset
@classmethod
def cmethod(cls, var):
return cls.CONSTANT + var
instance = Klass(1)
tracer = Tracer(instance.method)
tracer.trace(
target_args=dict(x=1)
)
Trace a static method.
tracer = Tracer(Klass.smethod)
tracer.trace(
target_args=dict()
)
Trace a class method.
tracer = Tracer(Klass.cmethod)
tracer.trace(
target_args=dict(var='Hello world.')
)
License
This software is released under the MIT License, see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
malloc_tracer-1.0.0.tar.gz
(91.5 kB
view hashes)
Built Distribution
Close
Hashes for malloc_tracer-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42196ba769ce6f6fc88afc5a57c56e8c3392968efa3764af5d64f3715ce95cad |
|
MD5 | fc98bd8b03a8301ddc3ad720e1aa4745 |
|
BLAKE2b-256 | 45a87bccb8b7c079191de849a9ff227768df8d0166bdda6d3338428a0cb17ae5 |