Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vmprof/vmprof-python

vmprof - a statistical program profiler
https://github.com/vmprof/vmprof-python

c native profile profiler pypy python python-3 statistics vmprof

Last synced: about 2 months ago
JSON representation

vmprof - a statistical program profiler

Awesome Lists containing this project

README

        

vmprof is a delicate piece of software. Following considerations should
be present when developing it.

Supported platform combinations (all combinations are supported):

* pypy (>=4.1), cpython

* windows, os x and linux

CPython should be tested on both TeamCity and Travis, PyPy is more
patchy since there is never a new enough version on either. Since PyPy
only exercises the pure python part, please test it each time you change
and interface between `_vmprof` and `vmprof`.

## Signals

On OS X and Linux we handle signal handlers. This means that we have
to be very very careful at what we can and cannot do. Notably, we can't
use malloc, locks or refcounting in any of the signal handlers. Python data
should be read-only and we should be prepared to read garbage or NULL
from anything.

On windows we use an external thread, so it's an imperative we freeze
the thread we're inspecting. It's possible that the interpreter state
handling is not thread safe in a way it should be, investigate how we
can improve it.