Top 11 Python Profiling Projects
-
Project mention: Is there a way I can visualize all the function calls made while running the project(C++) in a graphical way? | reddit.com/r/cpp | 2021-06-15
-
viztracer
VizTracer is a low-overhead logging/debugging/profiling tool that can trace and visualize your python code execution.
Do not use bad instrumenting profilers. A good modern tracing-based instrumenting profiler provides so much more actionable information and insights into where problems are than a sampling profiler it is ridiculous.
As a example consider viztracer [1] for Python. By using a aggregate visualizer such as a flame graph you can figure out what is taking the most time then you can use a tracing visualizer to figure out the exact call stacks and system execution and state that caused it. Not only that, a tracing visualizer lets you diagnose whole system performance and makes it trivial to identify 1 in 1000 anomalous execution patterns (with a 4k screen a anomalous execution pattern stands out like a 4 pixel dead spot). In addition you also get vastly less biased information for parallel execution and get easy insights into parallel execution slowdowns, interference, contention, and blocking behaviors.
The only advantages highlighted in your video that still apply to a good instrumenting profiler are:
1. Multi-language support.
2. Performance counters (though that is solved by doing manual tracking after you know the hotspots and causes).
3. Overhead (if you are using low sampling frequency). Even then a good tracing instrumentation implementation should only incur low double-digit percent overhead and maybe 100% overhead in truly pathological cases involving only small functions where the majority of the execution time is literally spent in function call overhead.
4. No need for recompilation, but you are already looking to make performance changes and test so you already intend to rebuild frequently to test those experiments. In addition, the relative difference in information is so humongous that this is not even worth contemplating unless it is a hard requirement like evaluating something in the field.
-
SonarLint
Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.
-
Project mention: Pyheatmagic: Profile and view your Python code as a heat map | news.ycombinator.com | 2021-11-02
-
-
-
python-benchmark-harness
A micro/macro benchmark framework for the Python programming language that helps with optimizing your software.
Project mention: Sprucing up my read me for my Python project | reddit.com/r/learnpython | 2022-02-01 -
-
Scout APM
Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
-
Project mention: ansible-trace: Visualise Ansible execution time in Perfetto trace viewer: see duration of playbooks, tasks, and hosts. | reddit.com/r/ansible | 2021-10-08
-
-
Project mention: Show HN: Pylaprof – A Python library to profile your AWS Lambda functions | news.ycombinator.com | 2021-12-04
-
Python Profiling related posts
- GCC Profiler Internals
- Memray is a memory profiler for Python by Bloomberg
- Live flame graph rendering in the terminal
- Live flame graphs rendering in the terminal
- Where can I apply for someone to take a serious look at my code and find improvements?
- I'm how to see python codes lines execute time.
- Continuous Profiling in Kubernetes Using Pyroscope
Index
What are some of the best open-source Profiling projects in Python? This list will help you:
Project | Stars | |
---|---|---|
1 | gprof2dot | 2,442 |
2 | viztracer | 2,047 |
3 | pyheat | 718 |
4 | austin-tui | 563 |
5 | timebudget | 145 |
6 | python-benchmark-harness | 134 |
7 | pytest-austin | 114 |
8 | ansible-trace | 66 |
9 | dask-memusage | 18 |
10 | pylaprof | 12 |
11 | austin-web | 2 |
Are you hiring? Post a new remote job listing for free.