Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 2 days ago
JSON representation
vmprof - a statistical program profiler
- Host: GitHub
- URL: https://github.com/vmprof/vmprof-python
- Owner: vmprof
- License: other
- Created: 2014-12-14T19:54:54.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2024-09-29T07:09:19.000Z (3 months ago)
- Last Synced: 2025-01-02T18:09:04.800Z (9 days ago)
- Topics: c, native, profile, profiler, pypy, python, python-3, statistics, vmprof
- Language: C
- Homepage: https://vmprof.readthedocs.io
- Size: 3.12 MB
- Stars: 432
- Watchers: 13
- Forks: 56
- Open Issues: 60
-
Metadata Files:
- Readme: README-develop.md
- License: LICENSE
Awesome Lists containing this project
- starred-awesome - vmprof-python - vmprof - a statistical program profiler (C)
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.