Python Profiling

Open-source Python projects categorized as Profiling | Edit details

Top 11 Python Profiling Projects

  • gprof2dot

    Converts profiling output to a dot graph.

    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.

    Project mention: GCC Profiler Internals | news.ycombinator.com | 2022-05-21

    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.

    [1] https://github.com/gaogaotiantian/viztracer

  • 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.

  • pyheat

    pprofile + matplotlib = Python program profiled as an awesome heatmap!

    Project mention: Pyheatmagic: Profile and view your Python code as a heat map | news.ycombinator.com | 2021-11-02
  • austin-tui

    The top-like text-based user interface for Austin

    Project mention: Live flame graph rendering in the terminal | reddit.com/r/Python | 2022-04-16
  • timebudget

    Stupidly-simple speed measurements for Python.

  • 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
  • pytest-austin

    Python Performance Testing with Austin

  • 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.

  • ansible-trace

    Visualise Ansible execution time across playbooks, tasks, and hosts.

    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
  • dask-memusage

    A low-impact profiler to figure out how much memory each task in Dask is using

  • pylaprof

    A Python sampling profiler for AWS Lambda functions (and not only).

    Project mention: Show HN: Pylaprof – A Python library to profile your AWS Lambda functions | news.ycombinator.com | 2021-12-04
  • austin-web

    An Austin web interface for remote profiling

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-05-21.

Python Profiling related posts

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
Find remote jobs at our new job board 99remotejobs.com. There are 7 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com